jjzjj

SqlTransaction

全部标签

c# - 是否可以异步提交/回滚 SqlTransaction?

我正在尝试以异步方式提交/回滚SqlTransaction。但看起来不支持异步。有什么方法可以在不使用原始SQL启动事务的情况下使其异步? 最佳答案 看起来不像。通过相关代码,所有其他方法都是异步的(同步版本是特例),而SqlTransaction和其他相关代码只是同步的。对于重叠的部分,SqlTransaction只是同步等待任务完成(例如,处理重新连接时)。事实上,当您深入了解代码时,事务操作明确禁止任何异步操作,因此不包括异步事务操作似乎是设计使然。如果您确实找到了解决方法,请牢记这一点-系统并非设计为允许并发操作,因此始终一

c# - SQLTransaction 已完成错误

我的应用程序中有一次出现以下错误。ThisSQLTransactionhascompleted;itisnolongerusableStackTrace附在下面–它说明了ZombieCheck和Rollback。代码中有什么错误?注意:此错误只出现一次。更新来自MSDN-SqlTransaction.RollbackMethodARollbackgeneratesanInvalidOperationExceptioniftheconnectionisterminatedorifthetransactionhasalreadybeenrolledbackontheserver.来自Zom

c# - SqlTransaction.Commit() 之前的 SqlCommand.Dispose()?

在提交事务之前处理分配给事务的命令是否有效?我自己测试了以下代码,它似乎工作正常,但这是一个相当小的例子,所以如果有人肯定知道,我正在寻找确认。internalstaticvoidTestTransaction(){try{Program.dbConnection.Open();using(SqlTransactiontransaction=Program.dbConnection.BeginTransaction()){BooleandoRollback=false;for(inti=0;i 最佳答案 连接、事务和命令对象只是将命

c# - 无法执行事务操作,因为有待处理的请求在工作

背景我有一些代码可以打开一个sql连接,开始一个事务并对数据库执行一些操作。此代码从数据库创建一个对象(出队),获取一些值并将其保存回来。整个操作需要在事务中进行。所有代码在没有事务的情况下都能完美运行。using(varconnection=newSqlConnection(connectionString)){connection.Open();vartransaction=connection.BeginTransaction();try{varmyObject=foo.Dequeue(connection,transaction);varurl=myObj.GetFilePat

java - 如果数据已更改,则不要更新 ResultSet 中的行

我们正在从各种数据库类型(Oracle、MySQL、SQL-Server等)中提取数据。成功写入文件后,我们希望将其标记为已传输,因此我们更新特定列。我们的问题是,用户有可能同时更改数据但可能会忘记提交。该记录被selectforupdate语句阻塞。所以可能会发生这样的情况,即我们将某些内容标记为已传输,但实际上并未传输。这是我们代码的摘录:Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetextractedData=stmt.

c# - 如何在C#中使用SqlTransaction

我正在使用以下代码同时执行两个命令。我使用SqlTransaction来确保所有命令都被执行或回滚。当我在没有“交易”的情况下运行我的程序时,它运行正常;但是当我对他们使用“交易”时,他们显示错误。我的代码:SqlTransactiontransaction=connectionsql.BeginTransaction();try{SqlCommandcmd1=newSqlCommand("selectaccount_namefrommaster_accountwhereNOTaccount_name='BANK'ANDNOTaccount_name='LOAN'",connectio

c# - 如何在C#中使用SqlTransaction

我正在使用以下代码同时执行两个命令。我使用SqlTransaction来确保所有命令都被执行或回滚。当我在没有“交易”的情况下运行我的程序时,它运行正常;但是当我对他们使用“交易”时,他们显示错误。我的代码:SqlTransactiontransaction=connectionsql.BeginTransaction();try{SqlCommandcmd1=newSqlCommand("selectaccount_namefrommaster_accountwhereNOTaccount_name='BANK'ANDNOTaccount_name='LOAN'",connectio

c# - 无法访问 SqlTransaction 对象以在 catch block 中回滚

我遇到了一个问题,我找到的所有文章或示例似乎都不关心它。我想在事务中执行一些数据库操作。我想做的与大多​​数示例非常相似:using(SqlConnectionConn=newSqlConnection(_ConnectionString)){try{Conn.Open();SqlTransactionTrans=Conn.BeginTransaction();using(SqlCommandCom=newSqlCommand(ComText,Conn)){/*DBwork*/}}catch(ExceptionEx){Trans.Rollback();return-1;}}但问题是Sq

c# - 无法访问 SqlTransaction 对象以在 catch block 中回滚

我遇到了一个问题,我找到的所有文章或示例似乎都不关心它。我想在事务中执行一些数据库操作。我想做的与大多​​数示例非常相似:using(SqlConnectionConn=newSqlConnection(_ConnectionString)){try{Conn.Open();SqlTransactionTrans=Conn.BeginTransaction();using(SqlCommandCom=newSqlCommand(ComText,Conn)){/*DBwork*/}}catch(ExceptionEx){Trans.Rollback();return-1;}}但问题是Sq

c# - 为什么要对 SqlTransaction 使用 using 语句?

我遇到了一些与我在代码中使用的SqlTransaction有关的问题。在我的谷歌搜索中,我看到很多人使用带有SqlTransaction的using语句。将这种类型的语句与SqlTransaction一起使用有什么好处和/或区别?using(SqlConnectioncn=newSqlConnection()){using(SqlTransactiontr=cn.BeginTransaction()){//somecodetr.Commit();}}目前我的代码是这样的:SqlConnectioncn=newSqlConnection(ConfigurationManager.AppS
12