2012-07-11 36 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); 
} 
相关问题