首页 新闻 赞助 找找看

using 在数据库访问中使用的问题???

0
悬赏园豆:10 [已解决问题] 解决于 2014-01-11 10:41

经常看到大家在数据连接当中使用using,我查了一下using的使用会释放数据库连接的物理链接,不再把连接放回到接连池。例子如下:

public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
}
}

 

 

我个人认为这样写会更好点,connection.Close();关闭后还会放回到连接池当中:例子如下,大家有什么意见,讨论一下。

public static int ExecuteSql2(string SQLString)
{
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(SQLString, connection);

connection.Open();
int rows = cmd.ExecuteNonQuery();
connection.Close();
return rows;

}

Ewin的主页 Ewin | 初学一级 | 园豆:17
提问于:2013-04-15 13:12
< >
分享
最佳答案
0

connection.Close();关闭后还会放回到连接池当中   本来就是这个样子

http://tech.ddvip.com/2009-06/1245154427124126.html

收获园豆:10
chenping2008 | 大侠五级 |园豆:9836 | 2013-04-15 13:26
其他回答(3)
0

using(...){}

在{}结束后,会收回()声明的对象,这样有利于优化内存管理器。

Kylor | 园豆:206 (菜鸟二级) | 2013-04-15 18:04
0

用using,但是也可以在{}里直接 con.Dispose()  cmd.Dispose(),

amityat | 园豆:476 (菜鸟二级) | 2013-04-15 18:28
0

using就是try finally{对象.Dispose();}写法上看using优雅些。

操作数据库可以看下开源的cyq.data框架。

路过秋天 | 园豆:4787 (老鸟四级) | 2013-04-16 02:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册