gpt4 book ai didi

c# - C# 中 oracle 连接的最佳实践

转载 作者:行者123 更新时间:2023-11-30 13:57:02 26 4
gpt4 key购买 nike

我们使用 oracle 数据库连接,我们的类数据库访问没有处理或关闭。它会干扰应用程序的某些东西或性能吗?我看到了这个例子:

   string oradb = "Data Source=ORCL;User Id=hr;Password=hr;";
OracleConnection conn = new OracleConnection(oradb); // C#
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from departments";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
label1.Text = dr.GetString(0);
conn.Dispose();

我意识到它打开了连接然后杀死了她。这是对的?还有其他更好的吗?

我让我的连接保持打开状态,然后关闭了一段时间。我想就是这样。这有错吗?

最佳答案

对一次性对象使用 Using 语句。特别是对于任何类型的连接和数据读取器

string oradb = "Data Source=ORCL;User Id=hr;Password=hr;";
using(OracleConnection conn = new OracleConnection(oradb))
using(OracleCommand cmd = new OracleCommand())
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "select * from departments";
cmd.CommandType = CommandType.Text;
using(OracleDataReader dr = cmd.ExecuteReader())
{
dr.Read();
label1.Text = dr.GetString(0);
}
}

在这里您可以阅读有关 Using statement 的信息以及为什么它很重要。关于连接和读者,您应该使用 using 语句将对象括起来,以确保当您退出 using block 时所有内容都已正确关闭和处理 ALSO 以防出现异常

关于c# - C# 中 oracle 连接的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474730/

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