C#连接Oracle数据库教程
需积分: 6 199 浏览量
更新于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() + " " + oraRD[1].ToString() + " " + 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#数据库编程的基础。
2009-10-31 上传
2009-09-21 上传
2018-11-23 上传
2013-01-07 上传
2023-04-28 上传
2023-06-06 上传
2024-03-16 上传
leg413
- 粉丝: 0
- 资源: 8
最新资源
- 易语言条码设备管理源码-易语言
- 基克斯
- 行业分类-设备装置-可调夹持角度器械组装方法.zip
- taskmanager:Primeiraaplicaçãousando NodeJs d +
- ema-john-simple
- Curso_Em_Video
- nodeFamilyTree:用nodejs编写的简单家谱系统
- michael-panik
- Restaurant Script (PizzaInn_Project):餐厅脚本是适合所有人的比萨餐厅订购系统!-开源
- prime_peer_js_01
- scavenger_hunt_api:scavenger_hunt_api
- js:这个该死的javascript
- 图像友好
- 版本git托管gitblit 1.9.3
- 检索程序是否被感染Srv和TX哈勃分析系统解析信息源码-易语言
- prospector:2021年Spring数据库系统项目