求助:在一个函数中怎么关闭另一个函数中的对象?
有个连接数据库的函数如下:
private static SqlCommand Connect(string procedureName, SqlParameter[] parms)
{
//省略部分代码
SqlConnection con = new SqlConnection(conStr);
con.Open();
SqlCommand cmd = new SqlCommand(procedureName, con);
//省略部分代码
return cmd;
}
在其他操作数据库的函数中都会调用到上面的Connect,比如:
public int RunProc(string procedureName, SqlParameter[] parms, out DataTable dt)
{
SqlDataAdapter ada = new SqlDataAdapter();
ada.SelectCommand = Connect(procedureName,parms);
//省略部分代码
}
问题是怎么在RunProc方法中关闭Connect方法里的数据库连接并释放资源?
[解决办法]
将con定义成成员变量
在RunProc编写
(con as IDispose).Dispose();
[解决办法]
ada.SelectCommand.Connection.Close();
或
ada.SelectCommand.Connection.Dispose();