public SqlDataReader GetSqlDataReader(string SQL)
{
SqlCommand cmd = new SqlCommand(SQL);
SqlDataReader dr = cmd.ExecuteReader();
return dr;
}public string GetData(string SQL)
{
SqlDataReader dr = GetSqlDataReader(SQL);
string value=dr["val"];
dr.close();
return value;
}
GetSqlDataReader(string SQL)方法返回SqlDataReader,GetData(string SQL)方法调用GetSqlDataReader(string SQL)方法把dr关闭后,在 GetSqlDataReader(string SQL)方法里定义的SqlDataReader没有关闭还占连接池空间吗?
{
SqlCommand cmd = new SqlCommand(SQL);
SqlDataReader dr = cmd.ExecuteReader();
return dr;
}public string GetData(string SQL)
{
SqlDataReader dr = GetSqlDataReader(SQL);
string value=dr["val"];
dr.close();
return value;
}
GetSqlDataReader(string SQL)方法返回SqlDataReader,GetData(string SQL)方法调用GetSqlDataReader(string SQL)方法把dr关闭后,在 GetSqlDataReader(string SQL)方法里定义的SqlDataReader没有关闭还占连接池空间吗?
貌似你的连接没有建立和Open?
{
string value=dr["val"]; dr.close();
}
你的代码能执行吗?测试过吗?所谓“关闭”是为了立刻关闭SqlConnection实例对象,如果跟这个无关那么根本用不着考虑DBDataReader是否关闭的问题。
不过程序中一定先READ才有值的。