gpt4 book ai didi

c# - 多次打开/关闭一个oracle连接c#

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:14 26 4
gpt4 key购买 nike

在我的业务逻辑中,我多次使用多个 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();
}

我的代码如下所示。我应该为每个命令打开和关闭我的 oracle 连接,还是在第一个命令之前打开并在最后一个命令之后关闭。

附言此更新函数在我的应用程序中被调用了 100 多次。

最佳答案

由于连接是方法的本地连接,因此在 using block 中创建它,然后在该 block 中根据需要多次使用它。该 block 可以包含循环或其他任何内容,没有规则规定您必须在使用一次后丢弃连接。

但是不鼓励连接共享,因此不要创建类级实例或静态实例以供共享使用。

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();
}
}
}

关于c# - 多次打开/关闭一个oracle连接c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54149422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com