【问题标题】:Select data when table is inserted with sqltransaction使用 sqltransaction 插入表时选择数据
【发布时间】:2012-07-11 14:33:54
【问题描述】:

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

【问题讨论】:

  • 我想你需要告诉我们你用什么来连接数据库这是一个c#问题,例如msdn.microsoft.com/en-us/library/…
  • 还提供代码示例
  • 我通过c#连接到2005 sql数据库..
  • 你的 SELECT 是什么样的,即 c# 位?
  • 您是否已提交交易?

标签: c# sql-server


【解决方案1】:

为 UPDATE 和 SELECT 重用连接对象。

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

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

【讨论】:

    猜你喜欢
    • 2013-12-25
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2011-03-05
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多