Posts

Showing posts from November, 2011

asp:Menu Control on Chrome

     ถ้ามีการใช้งาน Browser ที่เป็น Google Chrome และมีการใช้งาน Menu Control จะทำให้แสดงผลที่ไม่ถูกต้อง ดังนั้นมีวิธีการแก้ไขโดยการเพิ่ม Code ดังนี้ (Visual Studio 2010) Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init         If Not IsPostBack Then             If (Request.UserAgent.IndexOf("AppleWebKit") > 0) OrElse (Request.UserAgent.IndexOf("Safari") > 0) OrElse (Request.UserAgent.IndexOf("Chrome") > 0) Then                 Request.Browser.Adapters.Clear()             End If         End If     End Sub

Recursive for Microsoft SQL Server 7.0

1. Create Table for Test CREATE TABLE dbo.Emp ( EmpID int PRIMARY KEY, EmpName varchar(30), MgrID int FOREIGN KEY REFERENCES Emp(EmpID) ) GO 2. Create Index CREATE NONCLUSTERED INDEX NC_NU_Emp_MgrID ON dbo.Emp(MgrID) GO 3. Insert Sample Data INSERT dbo.Emp SELECT 1, 'President', NULL INSERT dbo.Emp SELECT 2, 'Vice President', 1 INSERT dbo.Emp SELECT 3, 'CEO', 2 INSERT dbo.Emp SELECT 4, 'CTO', 2 INSERT dbo.Emp SELECT 5, 'Group Project Manager', 4 INSERT dbo.Emp SELECT 6, 'Project Manager 1', 5 INSERT dbo.Emp SELECT 7, 'Project Manager 2', 5 INSERT dbo.Emp SELECT 8, 'Team Leader 1', 6 INSERT dbo.Emp SELECT 9, 'Software Engineer 1', 8 INSERT dbo.Emp SELECT 10, 'Software Engineer 2', 8 INSERT dbo.Emp SELECT 11, 'Test Lead 1', 6 INSERT dbo.Emp SELECT 12, 'Tester 1', 11 INSERT dbo.Emp SELECT 13, 'Tester 2', 11 INSERT dbo.Emp SELECT 14, 'Team Leader 2',

Deadlock Solution

ให้ทำการ Run ใน Query Analyzer ไปเรื่อยๆจนกว่าจะไม่เจอ 'Remaining Blockers' และ Victim Count=0 use master go  select getdate() go -- Report on blocking spids to be terminated. select blocked as "Blocker"  ,count(*) as "Victim Count"  from master..sysprocesses  where blocked > 0  group by blocked go DECLARE @blocker varchar(75) DECLARE blocker_cursor CURSOR FOR select distinct blocked from sysprocesses where blocked !=0 OPEN blocker_cursor FETCH NEXT FROM blocker_cursor INTO @blocker WHILE (@@fetch_status <> -1) BEGIN    IF (@@fetch_status = -2)       BEGIN          FETCH NEXT FROM blocker_cursor INTO @blocker          CONTINUE       END    -- Only kill process if it is the leader and more than 5 seconds old.    IF @blocker not in (select spid from sysprocesses where blocked != 0)  AND (select datediff(ss,last_batch,getdate()) FROM sysprocesses where blocked = @blocker) > 5        BEGIN          print 'killing hea