使用sqltransaction插入表时选择数据

时间:2012-07-11 14:33:55

标签: c# sql-server

我需要从表格中选择数据。 我的问题是:我使用sqltransactions在表中插入一行。一旦执行插入,这将锁定表。然后我需要从这个表中选择数据,以便进一步执行,因为我无法做到这一点。我也试过使用nolock但没有任何帮助。

我的代码就像这样

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')");

现在我尝试从客户表中进行选择,但它会死锁。我尝试选择nolock但是没有结果..

1 个答案:

答案 0 :(得分:0)

重新使用UPDATE和SELECT的连接对象。

执行多个更新时,只需传递方法之间的连接即可。确保使用USING语句

进行换行
using (SqlConnection Conn = new SqlConnection(...))
{
    Method1(conn);
    Method2(conn);
}