OleDbConnect类有没有实现Idisposeed接口,是否要自己实现
还有
      public void ConnOpen()
        {
            if (conn.State == ConnectionState.Closed)
                conn.Open();
        }     public void connExec(string strsql) //执行ExectuNonQuery命令
        {
            using (OleDbConnection conn = new OleDbConnection(connectString))
            {
                ConnOpen();//执行到这时出错,显示conn为NULL为什么会这样 using (OleDbConnection conn = new OleDbConnection(connectString))这一句不是创建了conn对象吗?

解决方案 »

  1.   

    你的conn是在 connExec 方法里面new 的
    在ConnOpen当然为Null了.
      

  2.   

    public void ConnOpen(OleDbConnection conn)
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
            }
    ConnOpen(conn);//
      

  3.   

    这个跟有没有实现Idisposeed接口没有关系,原因是using (OleDbConnection conn = new OleDbConnection(connectString))定义的conn根本就是个局部变量!
      

  4.   

    private OleDbConnection conn;
    public void connExec(string strsql) //执行ExectuNonQuery命令
    {
    conn = new OleDbConnection(connectString));
    ConnOpen();
    ........
    }
      

  5.   

    public sealed class OleDbConnection : DbConnection, ICloneable, IDbConnection, IDisposable