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

我发现在写数据操作类的时候,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;


慕容森
浏览 1071回答 2
2回答

蝴蝶刀刀

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

蝴蝶不菲

当你进行数据库访问的时候open,用完之后记得close。这样会大大的提高效率。
打开App,查看更多内容
随时随地看视频慕课网APP