科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在Oracle数据库上构建.NET应用程序

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文中,我将说明构建使用 Oracle 数据库的 .NET 应用程序所涉及到的基本但不可或缺的过程。

作者:John Paul Cook 来源:Oracle中国 2007年10月22日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共5页)

检索标量值

  从数据库中检索数据可以通过实例化一个 DataReader 对象并使用 ExecuteReader 方法(它返回一个 OracleDataReader 对象)来实现。 通过将列名称或以零为基数的列序号传递给项属性 B.NET 开发人员可以访问返回的数据。 另一种选择是使用存取程序类型方法来返回列数据。
Dim dr As OracleDataReader = cmd.ExecuteReader() ' VB.NET 
dr.Read() 
Label1.Text = dr.Item("dname") ' retrieve by column name 
Label1.Text = dr.Item(0) ' retrieve the first column in the select list 
Label1.Text = dr.GetString(0) ' retrieve the first column in the select list 

  C# 开发人员必须使用存取器方法来检索数据。 有适当类型的存取程序用于返回 .NET 本地数据类型,其他的存取程序用于返回本地 Oracle 数据类型。 以零为基数的序号被传递给存取程序,以指定返回哪一列。
 
OracleDataReader dr = cmd.ExecuteReader(); // C# 
dr.Read(); 
label1.Text = dr.GetString(0); // C# retrieve the first column in the select list 

  在这个简化的例子中,dname 的返回值是一个字符串,它用来设置标签控件的文本的属性值(也是一个字符串)。 但如果检索的是 deptno,而不是字符串,那么将出现数据类型不匹配的情况。 当源数据类型与目标数据类型不匹配时,.NET 运行时将尝试隐式地转换数据类型。 有时数据类型不兼容,则隐式转换将失败,并跳出一个异常警报。 但即使可以进行隐式转换,使用显式数据类型转换仍比用隐式数据类型转换好。

  到整型的显式转换显示如下:
Label1.Text = CStr(dr.Item("deptno")) ' VB.NET integer to string cast 

  在隐式转换上,C# 的容错能力不如 VB.NET。 您必须自己执行显式转换:
string deptno = dr.GetInt16("deptno").ToString(); // C# 

  您可以显式地转换标量值以及数组。

  关闭并清除

  可以调用连接对象的 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(增加交互性)中学到的一些概念。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章