数据库事务处理的问题,比较郁闷

popcorn 2004-06-28 05:17:51
代码好象没什么问题,但是总是报如下错误:
当分配给命令的连接处于挂起的本地事务中时,命令必须具有事务对象才能执行。该命令的 Transaction 属性尚未初始化。

SqlConnection conn=new SqlConnection("server=(local);database=test;uid=sa;pwd=");
conn.Open();
SqlTransaction tran=conn.BeginTransaction();
SqlCommand cmd=conn.CreateCommand();
cmd.Transaction=tran;
try
{
cmd.CommandText="delete from mytable";
cmd.ExecuteNonQuery();
tran.Commit();
}
catch(Exception ex)
{
tran.Rollback();
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanjingbool 2004-06-29
  • 打赏
  • 举报
回复
SqlConnection SqlConn = new SqlConnection(StrSqlConn) ;
SqlCommand SqlCon = new SqlCommand() ;
SqlTransaction myTransaction ;
SqlCon.Connection = SqlConn;
SqlConn.Open();
myTransaction = SqlConn.BeginTransaction();

int j = fileQueue.Count ;
try{
SqlCon.Transaction = myTransaction;
myTransaction.Commit();
}
catch(Exception e){
myTransaction.Rollback();
ex.saveExceptToTxt(e);
}
finally{
SqlConn.Close();
}
singleflower 2004-06-29
  • 打赏
  • 举报
回复
加上这一句试试看:
cmd.Connection = conn;
popcorn 2004-06-29
  • 打赏
  • 举报
回复
自己UPUP
fgc5201314 2004-06-28
  • 打赏
  • 举报
回复
同意楼上,有交叉就麻烦...
boat2002w 2004-06-28
  • 打赏
  • 举报
回复
你是不是在事务中有嵌套?
事务处理过程中数据库并没有实际执行,所以sql语句中不能有交叉的地方

比如刚用事务添加一条记录,在没有commit之前又去删除它

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧