文/cobra 出处/拼吾爱
前些时候一个项目出了点状况,错误日志里经常会记录一条:"This SqlTransaction has completed; it is no longer usable",在网上搜了一下,大多是英文资料,而且也没给出比较统一的解决办法,试过好多,都不理想,想到老一辈“自力更生,丰衣足食”的教诲,于是安静下来想了许久。。。
这句错误的表面意思是:SQL事务已完成,不可再用。将这句话翻来覆去研究了半天,得出的结论是:和SQL事务调用有关。看了数据库操作类的代码,略作改动,重新上线,OK,至今已经运行一月有余,没有再报同样的错误,哎,靠人不如靠自己,果然。。。
事务代码如下:
#region 事务
/// <summary>
/// 开始一个事务
/// </summary>
private void BeginTrans()
{
trans = conn.BeginTransaction() ;
inTransaction = true;
}
/// <summary>
/// 提交一个事务
/// </summary>
private void CommitTrans()
{
if (trans != null)
{
trans.Commit();
inTransaction = false;
}
}
/// <summary>
/// 回滚一个事务
/// </summary>
private void RollbackTrans()
{
if (trans != null)
{
trans.Rollback();
inTransaction = false;
}
}
#endregion
您可能对 [SQL] 的这些文章也感兴趣: