conn.Open();
command.ExecuteNonQuery();
conn.Close();请问,假如我连续有几次command.ExecuteNonQuery()数据库操作,我是每次执行ExecuteNonQuery()的时候都将数据库连接open,close一次呢?还是open后连续几个ExecuteNonQuery再CLOSE?
有什么分别?
command.ExecuteNonQuery();
conn.Close();请问,假如我连续有几次command.ExecuteNonQuery()数据库操作,我是每次执行ExecuteNonQuery()的时候都将数据库连接open,close一次呢?还是open后连续几个ExecuteNonQuery再CLOSE?
有什么分别?
解决方案 »
- 为何VS2003连接SQL2005老是不成功(在线等待)
- c#中如何在代码中动态的添加用户设置
- ASP.NET启动Windows服务
- 服务端验证好还是客户端验证好?
- 求助:如何能够使得label控件中显示的内容过长的话就自动换行
- 求用visual studio 2005(Winform)写qq那样的程序
- 如何在XP样式的按键表面绘画图片??!?!?!??!?!?
- datagrid添加新行问题
- 如何实现点击下拉框,紧挨着的框是一个界面,可以输入值
- c# 使用文件流上传的问题
- C# Excel 的问题
- C#,在SmartPhone环境下,编写Text-to-speech(TTS),打开模拟器时提示COM object with CLSID {96749377
options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
{
}
一次打开再close
try
{
conn.Open();
command1.ExecuteNonQuery();
command2.ExecuteNonQuery();
command3.ExecuteNonQuery();
...
}
catch(Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
其实我个人觉得,频繁的open()和close()是没有必要的,因为在ADO.NET的处理机制里面,已经有相关的处理。
ADO.NET是为断开数据链接而设计的,最初的思想就是将需要的数据存放到本地来,然后进行处理。只有数据流产生的时候,SqlConnection对象才会创建一个连接。数据结束之后,SqlConnection为自动关闭链接。这时你不去close(),其实数据库也已经关闭连接。
如果需要在连接中连续执行多次命令时不必每次都关闭,打开连接.
建议使用using代码段内创建一个短期生存对象,以在结尾处不必因忘记断连接而抛出异常.(在没有启用连接池的情况下)