either use three separate connections (bad) or use a DataSet

解决方案 »

  1.   

    能不能不用DataSet,类的代码如下:
    public static SqlDataReader GetMyDataReader(string strSQL)
    {
    SqlCommand objCommand = new SqlCommand(strSQL,objConnection);
    SqlDataReader objReader;
    try
    {
    objReader = objCommand.ExecuteReader();
    return objReader;
    }
    catch(System.Exception exp)
    {
    throw new Exception(exp.Message);
    }

    }
    当单击按钮后,就调用一个sqlDataReader,然后循环这个记录集,根据记录集的对应的条件,再调用一个sqlDataReader(是在第一个sqlDataReader里循环),但是如果这样做,就会报错,因为是静态的,第一个sqlDataReader没关闭就再次使用这个sqlDataReader。我认识如果用dataset不用datareader快,因为我只是查询(个人看法,如果不对请指点)
      

  2.   

    我的意思是能不能在同一个sqlDataReader中用三个???
      

  3.   

    every sqldataReader has it's own sqlconnection,you should declare three connections.
      

  4.   

    sqlDataReader是连接型的,因此必须保持一个连接在使用的时候.
      

  5.   

    不可以,需要使用三个连接sqlconnection才行。
    当一个sqlconnect上在执行sqldatareader时,没结束时进行再次调用其它的sqldatareader会出异常。
      

  6.   

    三个链接,每个链接对应一个datareader。
    一个connection只能同时执行一个datareader。
      

  7.   

    我想一定有办法判断在什么情况下关闭sqldatareader!
      

  8.   

    可以用一个connection,但要用reader.nextresult().