MSSqlServer error:the transaction is completed
MSSqlServer error:the transaction is completed
我在尝试处理事务时遇到错误。没有它一切都运行正常,但是有了它我得到一个奇怪的错误:交易完成并且不能再使用(我对错误的翻译)
这是我的错误代码:
using (var conn = new SqlConnection(gl.constr))
{
using (SqlCommand cm = new SqlCommand())
{
conn.Open();
using (SqlTransaction tr = conn.BeginTransaction())
{
try
{
cm.Connection = conn;
cm.Transaction = tr;
cm.CommandText = "INSERT INTO Bookings (Time, Price, BookingRef, BookingInternalRef)" +
" VALUES(" +
"getdate(), "+ sPrice + ", " +
db.AddAphens(reference) + ", " +
db.AddAphens(internalBookref) +
")";
cm.ExecuteNonQuery(); //this works
tr.Commit();
提交时弹出错误提示。
您不需要为单个 DML 操作显式事务声明 SqlTransaction tr = conn.BeginTransaction()
,因为每个 DML 操作都将被隐式事务绑定。因此,您可以一起删除您的交易声明,它应该可以正常工作
我在尝试处理事务时遇到错误。没有它一切都运行正常,但是有了它我得到一个奇怪的错误:交易完成并且不能再使用(我对错误的翻译)
这是我的错误代码:
using (var conn = new SqlConnection(gl.constr))
{
using (SqlCommand cm = new SqlCommand())
{
conn.Open();
using (SqlTransaction tr = conn.BeginTransaction())
{
try
{
cm.Connection = conn;
cm.Transaction = tr;
cm.CommandText = "INSERT INTO Bookings (Time, Price, BookingRef, BookingInternalRef)" +
" VALUES(" +
"getdate(), "+ sPrice + ", " +
db.AddAphens(reference) + ", " +
db.AddAphens(internalBookref) +
")";
cm.ExecuteNonQuery(); //this works
tr.Commit();
提交时弹出错误提示。
您不需要为单个 DML 操作显式事务声明 SqlTransaction tr = conn.BeginTransaction()
,因为每个 DML 操作都将被隐式事务绑定。因此,您可以一起删除您的交易声明,它应该可以正常工作