"VS2010访问Oracle数据库的例子,展示了一个使用C#代码通过OracleConnection对象连接到Oracle数据库,并执行SQL查询语句获取EMP表数据的示例。" 在这个例子中,开发者使用Visual Studio 2010 (VS2010) 创建一个Web应用程序页面,该页面能够连接到Oracle数据库并显示EMP表的所有记录。这个过程涉及到了以下几个关键知识点: 1. **OracleConnection对象**:这是.NET Framework中的Oracle数据提供程序(System.Data.OracleClient命名空间)的一部分,用于建立与Oracle数据库的连接。在`Page_Load`事件处理程序中创建了一个OracleConnection对象,通过传递连接字符串来初始化。连接字符串包含了数据库服务器名称(ORCL)、身份验证信息(User ID和Password)以及其他配置选项(如Unicode支持)。 2. **连接字符串**:"Data Source=ORCL;Persist Security Info=True;User ID=SCOTT;Password=tiger;Unicode=True" 这个字符串包含了连接Oracle数据库所需的所有信息。`Data Source`指定Oracle服务器,`Persist Security Info`指示是否存储敏感信息,`User ID`和`Password`是登录凭据,`Unicode`表示使用Unicode字符集。 3. **SQL查询**:`select * from emp` 是一个简单的SQL语句,用于选取EMP表中的所有列。OracleCommand对象用于执行这个查询。 4. **OracleCommand对象**:创建一个OracleCommand实例,将SQL查询与OracleConnection关联起来。这允许执行命令并获取结果集。 5. **OracleDataReader对象**:调用OracleCommand的`ExecuteReader()`方法,返回一个OracleDataReader对象,它是一个只向前的、不可修改的结果集迭代器。可以使用它遍历查询返回的每一行数据。 6. **数据输出**:在页面上显示查询结果,使用Response.Write方法向HTTP响应流写入HTML表格。首先写入表头,然后遍历OracleDataReader的字段(列),在表格中列出它们的名称。接着,使用一个内部循环遍历每一行数据,将每列的值写入表格单元格。 7. **C#的for循环**:在输出查询结果时,外层for循环用于遍历列(FieldCount属性),内层循环遍历行(Read()方法移动到下一行,直到没有更多行为止)。 8. **Web Forms生命周期**:此代码段运行在ASP.NET Web Forms环境中,`Page_Load`事件是页面生命周期的一部分,当页面加载时触发,用于初始化页面状态和执行数据操作。 这个示例对于初学者来说是一个很好的起点,展示了如何在VS2010中使用C#连接Oracle数据库,执行SQL查询并将结果显示在网页上。不过需要注意的是,System.Data.OracleClient已被标记为不推荐使用,现在推荐使用ODP.NET(Oracle Data Provider for .NET)进行Oracle数据库的访问。
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OracleClient;
using System.Data.Odbc;
public partial class data : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OracleConnection myconnection = new OracleConnection(" Data Source=ORCL;Persist Security Info=True;User ID=SCOTT;Password=tiger;Unicode=True");
myconnection.Open();
string sql = "select * from emp";
OracleCommand mycommand = new OracleCommand(sql, myconnection);
OracleDataReader myReader;
myReader = mycommand.ExecuteReader();
Response.Write("进入oracle自带emp表查询结果为");
Response.Write("<table bgcolor = #fff000>");
Response.Write("<tr>");
for (int i = 0; i < myReader.FieldCount; i++)
{
Response.Write("<td>" + myReader.GetName(i)+"</td>");
}
Response.Write("</tr>");
while (myReader.Read())
{
Response.Write("<tr>");
for (int i = 0; i < myReader.FieldCount; i++)
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦