C#编程中连接与操作Oracle数据库的示例
需积分: 10 196 浏览量
更新于2024-09-10
1
收藏 5KB TXT 举报
"C#语言与Oracle数据库的交互技术,包括数据的插入、删除和更新操作"
在C#编程中,与Oracle数据库进行交互是常见的任务,这通常涉及到数据的增删改查(CRUD)操作。OracleClient是.NET Framework提供的一套用于连接Oracle数据库的类库,它使得C#程序员能够方便地执行SQL语句和存储过程。
以下是一个简单的示例,展示如何使用C#和OracleClient来实现Oracle数据库的连接以及增删改查功能:
1. 连接Oracle数据库:
```csharp
OracleConnection conn = new OracleConnection(@"DataSource=SBZX;UserID=simis;Password=zeda");
conn.Open();
```
这里,`OracleConnection`对象用于建立到Oracle服务器的连接,连接字符串包含了数据库的名称(DataSource)、用户名(UserID)和密码(Password)。
2. 插入数据:
```csharp
string sql = "insert into users(name, pwd) values(:name, :pwd)";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter parn = new OracleParameter(":name", name);
cmd.Parameters.Add(parn);
OracleParameter parp = new OracleParameter(":pwd", pwd);
cmd.Parameters.Add(parp);
int result = cmd.ExecuteNonQuery();
```
创建一个`OracleCommand`对象,设置SQL插入语句,并通过`OracleParameter`添加参数。`ExecuteNonQuery()`方法执行SQL并返回受影响的行数,若成功插入则返回1,出错则返回小于0的值。
3. 删除数据:
```csharp
string sql = "delete from users where id=:id";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter pari = new OracleParameter(":id", id);
cmd.Parameters.Add(pari);
int result = cmd.ExecuteNonQuery();
```
类似的,创建一个`OracleCommand`对象,设置SQL删除语句,添加参数并执行。返回值同样表示操作是否成功。
4. 更新数据:
```csharp
string sql = "update users set name=:name, pwd=:pwd where id=:id";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter parn = new OracleParameter(":name", name);
cmd.Parameters.Add(parn);
OracleParameter parp = new OracleParameter(":pwd", pwd);
cmd.Parameters.Add(parp);
OracleParameter pari = new OracleParameter(":id", id);
cmd.Parameters.Add(pari);
int result = cmd.ExecuteNonQuery();
```
更新操作与前面类似,只是SQL语句变成了UPDATE,并且可能有多个参数。
5. 关闭连接和释放资源:
```csharp
conn.Close();
cmd.Dispose();
```
完成操作后,记得关闭数据库连接和释放相关资源以避免内存泄漏。
在实际开发中,为了提高代码的可读性和复用性,通常会将这些操作封装到一个DAL(数据访问层)类中,每个方法对应一种数据库操作,同时考虑异常处理和事务管理。此外,随着Oracle不再支持OracleClient,推荐使用Oracle Managed Data Access (ODP.NET Managed Driver) 或 Entity Framework等更现代的库来连接Oracle数据库,它们提供了更好的性能和更多的特性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2014-06-06 上传
2022-09-23 上传
2021-01-01 上传
2020-09-03 上传
lvca123
- 粉丝: 0
- 资源: 1
最新资源
- WeatherApp
- Marlin-Anet-A8:我的自定义设置的Marlin Anet A8配置
- Fit-Friends-API:这是使用Python和Django创建的Fit-Friends API的存储库。该API允许用户创建用户和CRUD锻炼资源。 Fit-Friends是一个简单但有趣的运动健身分享应用程序,通过对保持健康的共同热情将人们聚集在一起!
- CakePHP-Draft-Plugin:CakePHP插件可自动保存任何模型的草稿,从而允许对通过身份验证超时或断电而持久保存的进度进行数据恢复
- A星搜索算法:一种加权启发式的星搜索算法-matlab开发
- spmia2:Spring Cloud 2020的Spring Cloud实际应用示例代码
- LichVN-crx插件
- Mastering-Golang
- DhillonPhish:我的GitHub个人资料的配置文件
- 园林绿化景观施工组织设计-某道路绿化铺装工程施工组织设计方案
- 自相关:此代码给出离散序列的自相关-matlab开发
- Guia1_DSM05L:Desarrollo de la guia 1 DSM 05L
- FPS_教程
- Campanella-rapidfork:Campanella的话题后端
- os_rust:我自己的用Rust编写的操作系统
- Allociné Chrome Filter-crx插件