2012-07-11 29 views
0

我需要從表中選擇數據。 我的問題是:我使用sqltransactions插入一行到表中。這會在執行插入操作時鎖定表。然後,我需要從這張表中選擇數據,以便進一步執行,因爲我無法做到。我也嘗試過使用nolock,但沒有任何幫助。使用sqltransaction插入表時選擇數據

我的代碼是這樣的

Database.myConnection = new SqlConnection(Database.SQLConnectionString); 
Database.myConnection.Open(); 

Database.myTrans = Database.myConnection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted, "SampleTransaction"); 
// Must assign both transaction object and connection 
// to Command object for a pending local transaction 
Database.myCommand = Database.myConnection.CreateCommand(); 
Database.myCommand.Connection = Database.myConnection; 
Database.myCommand.Transaction = Database.myTrans; 
Database.ExecuteSqlNonQuery("INSERT INTO customer(CustomerNo,CustomerName)VALUES('121','asd')"); 

現在,我嘗試從客戶表中選擇,但它得到deadlocked..I試圖用NOLOCK太多,但沒有結果選擇..

+0

我想你需要告訴我們你用什麼來連接數據庫是這個ac#問題,例如http://msdn.microsoft.com/en-us/library /system.data.sqlclient.sqltransaction.aspx – 2012-07-11 14:37:08

+0

還提供了你的代碼的樣子 – 2012-07-11 14:37:47

+0

通過c#連接到2005 sql數據庫的例子.. – user1308182 2012-07-11 14:50:06

回答

0

重複使用您的連接對象UPDATE和SELECT。

執行多個更新時,只需傳遞方法之間的連接即可。確保使用USING語句包裝

using (SqlConnection Conn = new SqlConnection(...)) 
{ 
    Method1(conn); 
    Method2(conn); 
} 
相關問題