我已经以这种方式处理了SqlConnection
:
sqlcon.open();
sqlcom.ExecuteNonQuery();
sqlcom.close();
但我不满意这种处理方式。
答案 0 :(得分:2)
using
将为您处理。在幕后,SqlConnection.Dispose()
调用SqlConnection.Close()
方法,SqlCommand.Dispose()
调用SqlCommand.Close()
。
作为附加背景,using statement
是try ... finally
的语法糖,用于将IDisposable
对象置于finally
。
答案 1 :(得分:1)
究竟是什么让你感到不满?在你的代码中删除是很好的,除了你可以将它放入using语句以确保它甚至在出错时被处理掉的事实 - 例如例外:
using (var sqlconn = new ...)
using (var sqlcom = new ...)
{
sqlcon.open();
sqlcom.ExecuteNonQuery();
}
这种方式Dispose
(自动调用Close
)会在离开using
时被调用,无论是通常的方式还是异常。