首页 新闻 会员 周边 捐助

数据库连接对象connection什么时候该open?

0
悬赏园豆:5 [已解决问题] 解决于 2016-04-25 13:33

我发现在写数据操作类的时候,connection的对象不是总在执行前打开的,例如:

//第一种情况

SqlConnection conn = new Connection(conStr);

SqlCommand comm = new SqlCommand(sql,comm);

conn.open();

comm.ExecuteNonQuery();

//第二种情况

SqlConnection conn = new Connection(conStr);

conn.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
SqlTransaction trans = conn.BeginTransaction();
comm.Transaction = trans;

cellphoneyeah的主页 cellphoneyeah | 初学一级 | 园豆:151
提问于:2016-04-23 01:40
< >
分享
最佳答案
2

第一种Open的方式比第二种好,首先第一种Open采用的是最晚Open的方式,一旦Open之后马上执行SQL命令。而第二种方式,Open了之后才去初始化SqlCommand对象,如果初始化SqlCommand对象的过程中抛异常了,而你这个SqlConnection对象却已经打开很长时间了,一直无法执行SQL命令,这无形中就浪费了资源。

收获园豆:5
蘇乞兒 | 菜鸟二级 |园豆:435 | 2016-04-23 15:05
其他回答(2)
0

当你进行数据库访问的时候open,用完之后记得close。这样会大大的提高效率。

墨瞋 | 园豆:477 (菜鸟二级) | 2016-04-23 13:43
0

在你写的这两个方式的代码中没什么区别,毕竟没有多长时间的闲置,只要记得打开、关闭的基本流程正确就行了,推荐第一种

小光 | 园豆:1766 (小虾三级) | 2016-04-25 09:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册