兄弟们看我下面的代码出错在何处!谢谢!

gj121 2005-02-26 09:44:50
public bool Execute(string SqlCmd)//执行SQL语句
{
OleDbTransaction DBTrans;
DBTrans=DBConn.BeginTransaction();//开始一个事务
OleDbCommand DBCmd=new OleDbCommand(SqlCmd,DBConn);
DBCmd.Transaction=DBTrans;//将事务赋给OleDbCommand对象
try
{
DBCmd.ExecuteNonQuery();
DBTrans.Commit();//完成事务操作
return true;
}
catch
{
DBTrans.Rollback();//回滚事务操作
return false;
}
}
其中DBConn是一个OleDbConnection对象
执行的时候老是出错!是不是我的事务处理写错啦!
...全文
65 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gj121 2005-02-26
  • 打赏
  • 举报
回复
谢谢兄弟们!
gj121 2005-02-26
  • 打赏
  • 举报
回复
兄弟们问题找到啦!
原来我的OleDbDataReader没有关闭!
妈 的,正郁闷!
CSDNATM 2005-02-26
  • 打赏
  • 举报
回复
打开之后不能再打开一次,判断一下:

if(Myconn.State = "Open")
{
Myconn.Close();
}
gj121 2005-02-26
  • 打赏
  • 举报
回复
兄弟们还是没有用啊!
doubon 2005-02-26
  • 打赏
  • 举报
回复
顶!
rachy 2005-02-26
  • 打赏
  • 举报
回复
是啊,你确定你的连接connection是打开的吗,如果没有打开的话,在执行command前
加一句conn.Open()就可以了
foolnet 2005-02-26
  • 打赏
  • 举报
回复
你没有打开数据库连接,修改后的代码;
public bool Execute(string SqlCmd)//执行SQL语句
{
OleDbTransaction DBTrans;
DBTrans=DBConn.BeginTransaction();//开始一个事务
OleDbCommand DBCmd=new OleDbCommand(SqlCmd,DBConn);
DBCmd.Transaction=DBTrans;//将事务赋给OleDbCommand对象
try
{
//
// 打开连接
//
DBCmd.Connection.Open();

DBCmd.ExecuteNonQuery();
DBTrans.Commit();//完成事务操作
return true;
}
catch
{

DBTrans.Rollback();//回滚事务操作

//
// 关闭连接
//
DBCmd.Connection.Close();
return false;
}
}
gj121 2005-02-26
  • 打赏
  • 举报
回复
出错信息是:
BeginTransaction需要打开的并且可要的连接。该连接的当前状态是Open,Fetching
rachy 2005-02-26
  • 打赏
  • 举报
回复
给出具体的错误信息看看先
CSDNATM 2005-02-26
  • 打赏
  • 举报
回复
什么出错信息?看看大小写什么的……

110,571

社区成员

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

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

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