是否可以在 ADO 事务中间使用 Select

Can you have a Select in the middle of an ADO transaction

提问人:Christina Arvig 提问时间:7/29/2023 最后编辑:Christina Arvig 更新时间:7/29/2023 访问量:17

问:

我有一些代码是这样的:

SqlTransaction trans = conn.BeginTransaction("MyTransfer");

cmdStep1.ExecuteScalar();
cmdStep2.ExecuteScalar();
cmdStep3.ExecuteScalar();
QueryTheDatabaseForSomeData() // here it calls another method that queries the database
trans.Commit();

我的代码挂在位于 ADO SqlTransaction 中间的选择查询 (QueryTheDatabaseForSomeData()) 上,如上面的伪装代码所示。

这段代码以前似乎可以工作,但它突然停止工作了。

有人可以告诉我是否可以像这样构建代码,以便在 ADO SqlTransaction 中间有选择查询函数?

谢谢

ado.net sqltransaction

评论

0赞 paulsm4 7/29/2023
是的。您可以在 ADO.NET 交易中执行“选择”。我怀疑问题可能是“死锁”,例如 stackoverflow.com/a/39209839/421195。建议:启用跟踪以确定出错的确切位置:learn.microsoft.com/en-us/dotnet/framework/data/adonet/....另请参阅 NOLOCK 表提示:learn.microsoft.com/en-us/sql/t-sql/queries/...
0赞 PrfctByDsgn 8/4/2023
可以在事务中进行选择,但如果 SqlCommand 使用相同的 SqlConnection,则必须为该事务设置

答: 暂无答案