就是说:在OleDbDataReader chai没有关闭的情况下,不要再创建OleDbDataReader

解决方案 »

  1.   

    你要在末关闭datareader时, 再打开新的datareader, 
    a.可以新建成一个connection, 再打开.
    b.将当前的datareader中的数据保存到一个对象数组中去. 关才datareader后再打开新的
      

  2.   

    public void leijia(string username,string realname)
    {    
    string luser="";
    string lname="";
    string Sql1="";
    Db list=new Db();
    string Sql="Select * from tuser where username='"+username+"'and realname='"+realname+"'";
    OleDbDataReader chai=list.GetList(Sql);
    while (chai.Read())
    {
    Sql1="update tuser set xib=xib+1 where username='"+username+"'and realname='"+realname+"'";
    list.ExeSql(Sql1); luser=chai.GetString(8).ToString();
    lname=chai.GetString(7).ToString();

    }
    chai.Close();
    this.leijia(luser,lname); }
    这样写行吗?