C#连接Oracle数据库教程

需积分: 6 1 下载量 187 浏览量 更新于2024-10-14 收藏 3KB TXT 举报
"这篇文章主要介绍了在C#环境下如何连接并操作Oracle数据库,通过示例代码展示了使用DataSet、OracleDataAdapter、DataTable以及OracleDataReader等组件进行数据查询和显示的方法。" 在C#开发中,与Oracle数据库的交互是常见的任务。本文以"连接Oracle数据库"为主题,详细介绍了使用C#连接Oracle数据库的三种不同方式:通过DataSet获取数据、通过DataReader逐行读取数据以及通过Command执行SQL命令。 首先,连接Oracle数据库需要用到`System.Data.OracleClient.dll`这个库,引入命名空间`using System.Data.OracleClient`。以下是一个简单的连接示例: ```csharp OracleConnection oraCon = new OracleConnection("userid=112;datasource=wmatech;password=112"); ``` 这里的连接字符串包含了数据库的用户ID、数据源(服务名或TNS名称)和密码。 接下来,演示了如何使用DataSet和OracleDataAdapter来获取和填充数据: ```csharp OracleDataAdapter oraDap = new OracleDataAdapter("select * from actor", oraCon); DataSet ds = new DataSet(); oraDap.Fill(ds); DataTable _table = ds.Tables[0]; ``` 这里创建了一个OracleDataAdapter对象,传入一个SQL查询(本例中为"select * from actor"),然后使用Fill方法将查询结果填充到DataSet的DataTable中。DataTable可以通过索引访问,如`_table`即为查询结果的第一张表。 展示数据可以使用DataGrid控件: ```csharp int count = _table.Rows.Count; DataGrid1.DataSource = _table; DataGrid1.DataBind(); ``` 对于逐行读取数据,可以使用OracleDataReader。下面的代码展示了如何通过Reader逐行读取并生成HTML字符串: ```csharp OracleCommand oraCmd = new OracleCommand("select * from actor", oraCon); oraCon.Open(); OracleDataReader oraRD = oraCmd.ExecuteReader(); string szHtml = ""; while (oraRD.Read()) { szHtml += oraRD[0].ToString() + "&nbsp;" + oraRD[1].ToString() + "&nbsp;" + oraRD[2].ToString() + "<br>"; } oraRD.Close(); oraCon.Close(); Response.Write(szHtml); ``` 最后,还可以通过OracleCommand直接执行SQL命令,并利用ExecuteNonQuery()或ExecuteScalar()方法来处理增删改查操作。例如: ```csharp OracleCommand oraCmd = new OracleCommand("INSERT INTO actor VALUES (:col1, :col2)", oraCon); oraCmd.Parameters.AddWithValue(":col1", value1); oraCmd.Parameters.AddWithValue(":col2", value2); oraCmd.ExecuteNonQuery(); ``` 以上内容详述了C#与Oracle数据库的连接、数据查询和数据处理过程,对于开发者来说是理解和实践C#数据库编程的基础。