private static string connStr = "server=Localhost;database=test;uid=sa;pwd=sa;";
public SqlConnection Con = new SqlConnection(connStr);
//并且Con在调用其它方法中被打开但没有关闭
protected void Page_Load(object sender, EventArgs e)
{ }
//发现有很多程序员喜欢在页面的顶部以这种方式打开一个数据源,请问有什么好的方法可以百分百保证Con在当前页面中被关闭
// //因为Page_PreRenderComplete是最后一个执行的Page事件,所以本人曾偿试过在此Page事件中关闭,但也不可行
//请问还有别的方法可以关闭Con吗
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
Con.Close();
}
public SqlConnection Con = new SqlConnection(connStr);
//并且Con在调用其它方法中被打开但没有关闭
protected void Page_Load(object sender, EventArgs e)
{ }
//发现有很多程序员喜欢在页面的顶部以这种方式打开一个数据源,请问有什么好的方法可以百分百保证Con在当前页面中被关闭
// //因为Page_PreRenderComplete是最后一个执行的Page事件,所以本人曾偿试过在此Page事件中关闭,但也不可行
//请问还有别的方法可以关闭Con吗
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
Con.Close();
}
{
//操作数据库代码
}用这个执行完之后会自动释放和关闭con连接
可能你不知道,SqlConnection是有连接池的,也就是说Open/Close它并不一定是打开、关闭物理连接。例如你在For循环里循环10000次来创建、打开、访问、关闭数据库,可能也只是使用了2、3个数据库连接而不是10000个。如何重复使用数据库连接是.net自己早已经处理好的事情,你就应该老老实实地Open/Close就可以了。自己去写“共享”连接反而是画蛇添足。
{
}
是这样么? 对么那我这个问题根本没有问题,对吧。http://topic.csdn.net/u/20090910/16/2028a940-546d-4d1e-82ae-4ff189872499.html