神是不会来救你的呵呵:
看看这个:
/// <summary>
/// 查询,返回DataSet结果集
/// </summary>
/// <param name="vSQLStatement">查询的sql语句</param>
/// <param name="vTableName">DataSet中的数据表名称</param>
/// <returns>DataSet形式的查询结果</returns>
public DataSet GetDataSet(string vSQLStatement,string vTableName)
{
strDSN = GetConnectString();
SqlConnection dbConnection = new SqlConnection(strDSN);
DataSet myDataSet = new DataSet();
strErr = "";
try
{
dbConnection.Open();
SqlDataAdapter myAdapter = new SqlDataAdapter(vSQLStatement,dbConnection);
myAdapter.Fill(myDataSet,vTableName);
}
catch(Exception objErr)
{
strErr =  "[Err Source:]" + objErr.Source + "[Err Description:]" + objErr.Message;
}
dbConnection.Close();
return myDataSet;
}

解决方案 »

  1.   

    spExecuteScalar,spExcuteReader 没关连接 一定要在finally 里面关连接
      

  2.   

    楼上的reader好像不能关的,关了返回去的dr就不能用了,我用SqlDataReader1 = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);这个来关的..应该也行的吧??
      

  3.   

    我给spExecuteScalar,spExecuteDataTable也加上connclose了,但是还是出这个错误...怎么回事啊...
      

  4.   

    我承认..我自已是猪.....
    SqlDataReader1 = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
    这句要datareader.close时相应的conn才会自动去关闭..我在事务层里一个dr都没close..我是猪..都dr.close()一下就一切正常了..以前我都没注意去关连接,现在作了稍大点的东西竟然发生这种错误,不过以后知道了,要及时关了..
      

  5.   

    birdwings(SuperCai) ( ) 信誉:100  2007-09-03 12:03:10  得分: 0  
     
     
       楼上的reader好像不能关的,关了返回去的dr就不能用了,我用SqlDataReader1 = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);这个来关的..应该也行的吧??
      
     
    =====================================
    是不能关的 datereader 是连数据库读的 不像datatable 可以短开连接