出错信息是:
BeginTransaction需要打开的并且可要的连接。该连接的当前状态是Open,Fetching

解决方案 »

  1.   

    你没有打开数据库连接,修改后的代码;
    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;
    }
    }
      

  2.   

    是啊,你确定你的连接connection是打开的吗,如果没有打开的话,在执行command前
    加一句conn.Open()就可以了
      

  3.   

    打开之后不能再打开一次,判断一下: if(Myconn.State = "Open")
    {
    Myconn.Close();
    }
      

  4.   

    兄弟们问题找到啦!
    原来我的OleDbDataReader没有关闭!
    妈 的,正郁闷!