WEB开发网
开发学院数据库Oracle 在 Oracle数据库上构建 .NET 应用程序 阅读

在 Oracle数据库上构建 .NET 应用程序

 2007-05-10 12:15:42 来源:WEB开发网   
核心提示: 可以调用连接对象的 Close 方法或 Dispose 方法来关闭到数据库的连接, Dispose 方法调用 Close 方法,在 Oracle数据库上构建 .NET 应用程序(7),conn.Close() ' VB.NETconn.Dispose() ' VB.NETc

可以调用连接对象的 Close 方法或 Dispose 方法来关闭到数据库的连接。 Dispose 方法调用 Close 方法。

conn.Close() ' VB.NET
conn.Dispose() ' VB.NET
conn.Close(); // C#
conn.Dispose(); // C#

作为可选项,C# 提供了一种在连接超出范围时自动清除连接的特殊语法。 使用 using 关键字可启用这一特性。

using (OracleConnection conn = new OracleConnection(oradb))
{
conn.Open();
OracleCommand cmd = new OracleCommand();
  cmd.Connection = conn;
  cmd.CommandText = "select dname from dept where deptno = 10";
cmd.CommandType = CommandType.Text;
  
  OracleDataReader dr = cmd.ExecuteReader();
  dr.Read();
  label1.Text = dr.GetString(0);
}

您可以试验在上机操作 1(从数据库中检索数据)和上机操作 2(增加交互性)中学到的一些概念。

错误处理

Try-Catch-Finally 结构的错误处理是 .NET 语言的一部分。 下面是使用 Try-Catch-Finally 语法的一个相对最小的例子:

Dim conn As New OracleConnection(oradb) ' VB.NET
Try
  conn.Open()
  Dim cmd As New OracleCommand
  cmd.Connection = conn
  cmd.CommandText = "select dname from dept where deptno = " + TextBox1.Text
cmd.CommandType = CommandType.Text
  If dr.Read() Then
    Label1.Text = dr.Item("dname") ' or use dr.Item(0)
  End If
Catch ex As Exception ' catches any error
  MessageBox.Show(ex.Message.ToString())
Finally
  conn.Dispose()
End Try
OracleConnection conn = new OracleConnection(oradb); // C#
try
{
conn.Open();
OracleCommand cmd = new OracleCommand();
  cmd.Connection = conn;
  cmd.CommandText = "select dname from dept where deptno = " + textBox1.Text;
cmd.CommandType = CommandType.Text;
  if (dr.Read()) // C#
  {
    label1.Text = dr.GetString(0);
  }
}
catch (Exception ex) // catches any error
{
  MessageBox.Show(ex.Message.ToString());
}
finally
{
  conn.Dispose();
}

虽然这种方法将适当地捕获尝试从数据库中获取数据时发生的任何错误,但这种方法对用户却不友好。 例如,看看下面这条在数据库不可用时显示的消息。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Oracle 数据库 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接