问题标签 [sqltransaction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
38 浏览

c# - 这两种处理 sqltransaction 的方法本质上是否相同?

我正在尝试创建一种方法来运行Transaction.
我想出了两个版本的代码,因为我猜第一个实际上并没有做我期望它做的事情。
在我的一项测试中,在遇到异常后,我注意到SqlServer2012尽管处于事务中,但仍有几行插入到表中。
所以我认为这一定是交易本身的问题,我改变了它来解决这个问题。
通过使用 4 次插入、1 次删除和 1 次更新以及另一个插入命令运行此方法,我得到的异常是:

事务(进程 ID 59)与另一个进程在锁资源上死锁,并已被选为死锁牺牲品。重新运行事务。

当我查看表格时,我看到 3 个新插入的行(到达更新然后发生异常)!

更新 这两种方法现在都抛出相同的异常。对于第二种方法,我在添加新参数和清除旧值方面也遇到了一些困难。

这是第一个版本:

这是第二个版本:

0 投票
1 回答
6164 浏览

c# - 单SqlConnection with Transaction,多命令情况

我试图只使用一个连接并一起运行两个命令,一个使用事务,一个不使用。

没有的是跟踪/记录功能,因为该解决方案部署在另一个位置。这样当过程部分失败时,我至少可以遵循日志。

我将在这里添加我的测试代码:

我收到一个错误:

当分配给命令的连接处于挂起的本地事务中时,ExecuteNonQuery 要求该命令具有事务。该命令的 Transaction 属性尚未初始化。

有没有办法在没有另一个无事务连接的情况下实现我想要做的事情?

或者,如果有更好的建议以不同的方式通过单个连接优化我的代码,我愿意学习它。

0 投票
2 回答
5318 浏览

vb.net - 事务回滚错误(此 SqlTransaction 已完成;它不再可用)

我正在尝试测试第一个事务,如果它是成功的,那么我尝试第二个事务,如果第二个事务也是一个成功,那么我将两个都提交,如果第二个事务失败,我需要回滚第一个事务。

所以我有以下函数,它返回一个可以是状态之一的字典:

0(表示事务失败但设法回滚)-> sql 事务

1(表示事务成功)-> sql事务

-1(表示事务失败并且没有设法回滚)-> sql 事务

然后我在函数中有以下代码:

我还没有提交第一个事务,为什么当我尝试回滚时它说 sqlTransaction 已完成...?

感谢您的任何帮助!

0 投票
1 回答
326 浏览

sql - 我如何在 SQL 中将格式日期转换为 d/M/yyyy 并将格式时间转换为 h:mm:ss AM

我创建了一个日期时间类型的字段。我想以 YYYY/M/D 格式显示它

例子

日期 09/09/2014 显示为 2014/9/9

我还需要以这种格式显示一个时间字段 [Time_Orde] 下午 2:43:14

我使用 SQL Server 2008

我试过这个功能

我的代码:

但我无法获得这种格式 2014/9/9

0 投票
0 回答
304 浏览

c# - SqlConnection中如何判断事务是否已经启动?

SqlTransaction在我的代码中使用 a 。在我之前的帖子中,当一个连接具有事务锁定时,我遇到了问题,IsolationLevel.ReadUncommited那么如何创建另一个没有锁定的连接。(如何仅在 sql 中为特定连接创建事务?)。现在,我得到了答案,Donal建议我使用myConnection.BeginTransaction(IsolationLevel.ReadUncommitted).Commit();

现在,我有时会在上面遇到问题。

不允许新事务,因为会话中还有其他线程在运行。

我不知道这里会有什么问题。仅当另一个线程正在运行时才会出现此问题。我也在不同的线程中使用相同的连接。

每当我尝试执行任何查询或尝试DataTable使用DataAdapter.

我无法弄清楚这里可能是什么问题?

0 投票
2 回答
3472 浏览

sql-server - 将 OUTPUT Insert.id 插入到另一个表中的多个值插入

为简单起见假设我有两张桌子

user table (id, email)

user log table (id, date)

无论 id 被插入到 user 表中,相同的 id 应该被插入到 user_log 表中,否则事务应该失败。

我怎样才能做到这一点

0 投票
1 回答
1342 浏览

php - 多个带有事务的 mysqli 准备语句

我试图弄清楚如何将 sql 事务与 mysqli 准备好的语句一起使用。我找不到任何使用多个准备好的语句(不是 OO)的示例,所以我不确定如何使用它们的事务。这是我能想到的最接近的:

但是,我不知道这是否可行。不过,我最大的问题是我不确定如何检查查询是否失败(以及是否提交)。我看到了一个我认为做了类似的例子

但我不能真正做到这一点,因为我有多个准备好的语句要执行。

这应该如何工作?

0 投票
2 回答
922 浏览

c# - sqltransaction 在插入数据时插入一条双记录

我正在使用该 sqltransaction 为每个数据插入多个表。

但是我的问题是数据库有两个相同的数据。

我应该怎么做才能解决这个问题?

请帮我?谢谢

0 投票
3 回答
1564 浏览

c# - 为什么调用 commit 函数时 SqlTransaction 可能无法提交?

我遇到了一个问题,即使没有任何查询引发异常,所做的更改也会被回滚。这很奇怪,因为代码在一个环境中工作,但在另一个环境中没有提交更改。

这是处理事务的函数。当我在提交上设置一个断点时,我点击了提交,我可以看到数据库中的更改,但是当事务被处理时,更改被回滚。

更新:额外的测试表明这不是事务的问题。如果事务从下面的代码中完全删除,则应用程序的行为方式相同。当连接关闭时,更改将被撤消。

0 投票
1 回答
1212 浏览

c# - 如何跨多种方法使用 SqlTransaction

假设我们有一个可以删除的对象 A 一个持有来自 A 的前键的对象 B

如果要删除A,则必须先从B中删除forendkey,然后才能删除A,但如果出现问题,它应该回滚,但我也想独立使用B中的delete forendkey,但目前我没有不知道如何实现

我目前的想法:

但是就像你看到的那样,这很丑