繁体   English   中英

C#中使用oracle连接的最佳实践

[英]Best practices with oracle connection in C #

我们使用oracle数据库连接,我们的类数据库访问没有dispose或close。 它会干扰应用程序的某些内容或性能? 我看到了这个例子:

   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语句及其重要性。 关于连接和读取器,您应该使用using语句将对象括起来,以确保在出现异常情况时退出using块ALSO时所有内容都已正确关闭和处理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM