我在页面里面已经生成了一个数据库操作对象。我想把这个对象传递到操作的类里面去使用。如果使用定义变量的方式传递,是不是就会又生成一个数据链接了?例如,如果我直接关闭a页面的da.conn.close();那么clsPay实例里面使用的da还存在吗,链接是否关闭了?
a.aspxDataAccess da = new DataAccess();
            da.ConnectString = this.ReadConfig("db_Connection");
            da.conn = da.getConn();
ClsPay clsP = new ClsPay();
clsP.da= da;
clsP.getlist();
ClsPay.cs  public DataAccess da;
  public DataTable getlist()
  {
       string sql = "select * from [user]";
       return da.ExecuteDataTable(sql);
  } 

解决方案 »

  1.   

    Access之类的数据库,可以在程序开始使用数据库的时候打开,在程序最后关闭的时候再关闭数据库。因为它是单机的。这样会加快程序的执行。
      

  2.   

    虽然类叫DataAccess,不过哪个是数据访问的意思,不是访问Access数据库的类的。访问的还是SqlServer数据库。我做了个测试,就是传递进去以后,在页面关闭连接,再继续调用类的方法,就会提示数据库连接已经关闭的信息。我看应该是使用的同一个数据库链接。
      

  3.   

    建议使用using 用完之后就自动释放了、。