2012-03-22 70 views
0

我有一個項目,我使用select語句從sql表中選擇一組記錄,我需要鎖定選定的記錄,然後更新一些並將其他人移動到另一個表。現在我有這樣的選擇。從C#winform鎖定和解鎖sql數據庫中的行

Select item 
from tableA 
where batchno = 123; 

我相信我會通過這樣的

Select item 
from tableA with (rowlock, readpast) 
where batchno = 123; 

寫它鎖定他們這是基本的選擇,然後我做的另一個表中一個DataGridView和地方各記錄中包含了所有的更新已被添加到記錄以及原始字段。當我將記錄插入另一個表格時,我刪除了原始記錄,那些未更新的記錄,我更改那些未更新並需要釋放鎖定的記錄。

我使用readpast命令,以便其他用戶不會顯示已經選擇的記錄。我相信這是正確的。

如果這是正確的,我需要知道如何釋放記錄。我是C#的新手,所以請清楚並耐心等待。

+1

哪種類型的SQL是SQL Server? – MatBailie 2012-03-22 15:55:13

回答

0

我相信一旦事務提交或回滾,鎖就會被釋放