在我的业务逻辑中,我多次使用多个 oracle 查询。打开和关闭 oracle 连接的最佳方法是什么?
private void update()
{
OracleConnection con = new OracleConnection("Connection Statement");
OracleCommand command = new OracleCommand("Select Statement");
con.Open();
OracleDataReader reader = command.ExecuteReader();
reader.Close();
con.Close();
// A for loop
con.Open();
command = new OracleCommand("Update statement");
command.ExecuteNonQuery();
con.Close();
con.Open();
command = new OracleCommand("Second Update statement");
command.ExecuteNonQuery();
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样。我应该为每个命令打开和关闭我的 oracle 连接,还是在第一个命令之前打开并在最后一个命令之后关闭。
PS 这个更新函数在我的应用程序中被调用了 100 多次。
由于连接是方法的本地连接,因此在using块中创建它,然后在该块中根据需要多次使用它。该块可以包含循环或其他任何内容,没有规定您必须在使用一次连接后丢弃该连接。
但是不鼓励连接共享,因此不要创建类级实例或静态实例供共享使用。
private void update()
{
using(OracleConnection con = new OracleConnection("Connection Statement"))
{
con.Open();
using(var command = new OracleCommand("Select Statement", con))
using(OracleDataReader reader = command.ExecuteReader()}
{
}
// A for loop
using(var command = new OracleCommand("Update statement", con))
{
command.ExecuteNonQuery();
}
using(var command = new OracleCommand("Second Update statement", con))
{
command.ExecuteNonQuery();
}
}
}
Run Code Online (Sandbox Code Playgroud)