0

我需要从表中选择数据。我的问题是:我使用 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 进行选择,但没有结果..

4

1 回答 1

0

为 UPDATE 和 SELECT 重用连接对象。

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

using (SqlConnection Conn = new SqlConnection(...))
{
    Method1(conn);
    Method2(conn);
}
于 2012-07-11T16:10:21.830 回答