为什么运行不同?错误在哪一行??什么错误提示??偶觉得是不是这一句
huanjie= Reader3.GetValue(1).ToString();
看代码huanjie已经是string,不用在ToString了。不过这不影响
偶觉得Reader最好还是指定Get的类型比较号

解决方案 »

  1.   

    只要将update语句放入Reader3.Close();前,程序就不通了
      

  2.   

    未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中其他信息:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
      

  3.   

    DataReader  是独占连接的,
    即只要它是打开的,其它命令都不能访问该连接 。update之前必须把它关闭,或者update另用一个连接 。
      

  4.   

    fupip(小贝) 正解,楼主注意以后用完Reader就Close。
      

  5.   

    SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");SqlCommand selectCMD = new SqlCommand("SELECT CustomerID, CompanyName FROM Customers", nwindConn);
    selectCMD.CommandTimeout = 30;SqlDataAdapter custDA = new SqlDataAdapter();
    custDA.SelectCommand = selectCMD;nwindConn.Open();DataSet custDS = new DataSet();
    custDA.Fill(custDS, "Customers");nwindConn.Close();//这样你就得到一个DATASET,不要每次都用SqlDataAdapter
      

  6.   

    cnnstr4="UPDATE 作业信息 SET 小计="+xiaoji+" WHERE id='"+xyID+"'and 作业环节='"+huanjie+"'";改成: cnnstr4="UPDATE 作业信息 SET 小计='"+xiaoji+"' WHERE id='"+xyID+"'and 作业环节='"+huanjie+"'";