public class aaa {
public SqlConnection ConnString()
{
SqlConnection cn=new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnString"].ToString());
return cn;
} public void GetData(string sql)
{
SqlConnection cn = ConnString();
try
{
} }
catch (System.Data.SqlClient.SqlException ex)
{
//throw new Exception(ex.Message);
}
finally
{
ConnString().Dispose();
ConnString().Close();
}
}
}请教高手GetData函数里的finally这样关闭对不对?还是要加
cn.Dispose();
cn.Close();
public SqlConnection ConnString()
{
SqlConnection cn=new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnString"].ToString());
return cn;
} public void GetData(string sql)
{
SqlConnection cn = ConnString();
try
{
} }
catch (System.Data.SqlClient.SqlException ex)
{
//throw new Exception(ex.Message);
}
finally
{
ConnString().Dispose();
ConnString().Close();
}
}
}请教高手GetData函数里的finally这样关闭对不对?还是要加
cn.Dispose();
cn.Close();
直接关闭或者释放cn即可SqlConnection Dispose了就不能再Open了
Close后还是可以再Open的
具体看你需要了!
command.Dispose();
using(SqlConnection conn=new SqlConnection(ConnstringString))
{
//Database Operation.
}
学会使用using语句。
ConnString().Close();
为什么要这么写,这样的话,也不是关闭cn链接啊,这等于又新建了个链接,把新建的链接关闭了。原来的链接根本没关闭呀
{
ConnString().Close();
ConnString().Dispose(); }
2,Dispose()会隐式调用Close(),并且释放更多的资源。 所以 cn.Close()也不用写了。