求助mssql事务 SqlTransaction 不起作用
SqlConnection st = new SqlConnection(DAL.CONN_STRING);
st.Open();
SqlTransaction sc = st.BeginTransaction();
try
{
i = SqlLibrary.SqlHelper.ExecuteNonQuery(DAL.CONN_STRING, CommandType.Text, sql);
if (i == 1)
{ j = SqlLibrary.SqlHelper.ExecuteNonQuery(DAL.CONN_STRING, CommandType.Text, arrlist);
}
else
{
i = 0;
sc.Rollback();
}
}
catch (Exception ex)
{
i = 0;
sc.Rollback();
}
C#操作mssql事务 SqlTransaction
不起作用是怎么回事?
刚发现的问题。数据没回滚
以前没出现过这个情况
是不是数据库在建表的时候,数据引擎要选择?
像mysql那样?
------解决方案--------------------你这会回滚在有鬼了。
SqlLibrary.SqlHelper.ExecuteNonQuery(DAL.CONN_STRING, CommandType.Text, sql);
sc在哪?sc根本没有用上,回滚什么啊?
------解决方案-------------------- i = SqlLibrary.SqlHelper.ExecuteNonQuery(DAL.CONN_STRING, CommandType.Text, sql);
这个应该是你自己封装的command吧!你都没有把Transaction带入进command,怎么执行事务呢!
把方法重写下吧
------解决方案--------------------两个数据库连接,一个开了事务没去执行任何SQL语句,另一个没开事务去执行了你的sql语句了。