为何老是报数据连接池满??狂郁闷!!!(高分征求中!!!)
我申明了一个公用数据类叫data.cs,中间函数部分代码如下:
public string readout(string sql,string column)
{
string result;
SqlConnection Con = new SqlConnection(data.constr);
SqlCommand objCommand =new SqlCommand(sql,Con);
SqlDataReader objDataReader ;
objCommand.Connection.Open();
objDataReader = objCommand.ExecuteReader();
if(objDataReader.Read())
{
result=objDataReader[column].ToString();
Con.Close();
//objDataReader.Close();
objCommand.Dispose();
return result;
}
else
{
Con.Close();
objCommand.Dispose();
return "没有该记录";
}
}
然后在各个页面调用相应的函数:
例如:
private void initform()
{
try
{
sql = "select ID,顺序号, 来文号, 成文日期, 来文日期, 来文单位,标题, 归档号, 主题词, 页数, 紧急程度, 密级, 公文种类, 领导批示, 处理情况, 处理领导, 处理部门, 处理日期 from 代码_收文管理数据表 ";
sql=sql+" where ID="+Convert.ToInt32(Request.QueryString["ID"]);
LB_LWDW.Text=rs.readout(sql,"来文单位").ToString();
LB_LWH.Text=rs.readout(sql,"来文号").ToString();
LB_SXH.Text=rs.readout(sql,"顺序号").ToString();
LB_LWRQ.Text=rs.readout(sql,"来文日期").Substring(0,4).ToString()+"年"+rs.readout(sql,"来文日期").Substring(4,2).ToString()+"月"+rs.readout(sql,"来文日期").Substring(6,2).ToString()+"日";
LB_CLRQ.Text=rs.readout(sql,"处理日期").Substring(0,4).ToString()+"年"+rs.readout(sql,"处理日期").Substring(4,2).ToString()+"月"+rs.readout(sql,"处理日期").Substring(6,2).ToString()+"日";
LB_LWMC.Text=rs.readout(sql,"标题").ToString();
LB_NBYJ.Text=rs.readout(sql,"处理情况").ToString();
LB_PS.Text=rs.readout(sql,"领导批示").ToString();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}
在调用后,我在sql_server中看见所有的连接还是存在,没有关闭.
请各位高手告诉我如何解决!!