C#编程:Oracle数据库的增删改查操作示例
版权申诉
57 浏览量
更新于2024-08-20
收藏 9KB DOCX 举报
"C#连接Oracle数据库执行简单的增删改查操作"
本文将详细介绍如何使用C#语言连接Oracle数据库并执行基本的SQL操作,包括增(插入数据)、删(删除数据)、改(更新数据)和查(查询数据)。我们将以一个名为users的表为例,该表包含三个字段:自增长的编号id(int类型),名称name(nvarchar类型),以及密码pwd(nvarchar类型)。
首先,确保在C#项目中引用了`System.Data.OracleClient`命名空间,这是与Oracle数据库交互的基础。以下代码展示了如何创建一个OracleConnection对象来建立数据库连接:
```csharp
OracleConnection conn = new OracleConnection(@"DataSource=SBZX;UserID=simis;Password=zeda");
```
在这里,`DataSource`参数应替换为你的Oracle数据库实例名,`UserID`是数据库的用户名,而`Password`则是对应的密码。
### 增加操作(Insert)
要向users表中插入新记录,可以使用如下的方法:
```csharp
public int Insert(string name, string pwd)
{
conn.Open();
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(); // result接收受影响行数,大于0表示添加成功
conn.Close();
cmd.Dispose();
return result;
}
```
这个方法接收两个参数,即name和pwd,然后通过`OracleCommand`对象执行SQL插入语句。`:name`和`:pwd`是参数占位符,通过`OracleParameter`添加到命令对象的参数列表中,以防止SQL注入攻击。
### 删除操作(Delete)
删除特定用户的数据,可以编写如下方法:
```csharp
public int Delete(int id)
{
conn.Open();
string sql = "delete from users where id = :id";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter pid = new OracleParameter(":id", id);
cmd.Parameters.Add(pid);
int result = cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose();
return result;
}
```
这里,我们根据id字段来删除用户,同样使用参数化查询以提高安全性。
### 修改操作(Update)
更新用户信息可以这样实现:
```csharp
public int Update(int id, string newName, string newPassword)
{
conn.Open();
string sql = "update users set name = :newName, pwd = :newPwd where id = :id";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter pnewName = new OracleParameter(":newName", newName);
cmd.Parameters.Add(pnewName);
OracleParameter pnewPwd = new OracleParameter(":newPwd", newPassword);
cmd.Parameters.Add(pnewPwd);
OracleParameter pid = new OracleParameter(":id", id);
cmd.Parameters.Add(pid);
int result = cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose();
return result;
}
```
该方法接收id、新名称和新密码,更新匹配id的用户记录。
### 查询操作(Select)
查询users表中的数据,可以创建一个返回DataTable的方法:
```csharp
public DataTable SelectAll()
{
conn.Open();
string sql = "select * from users";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
conn.Close();
return dt;
}
```
这个方法将返回所有用户的信息,如果需要根据特定条件查询,只需修改SQL语句即可。
以上就是使用C#连接Oracle数据库执行增删改查操作的基本步骤。在实际应用中,为了提高代码的可维护性和安全性,建议使用ORM框架,如Entity Framework或Dapper,它们可以简化数据库操作并提供更强大的功能。同时,不要忘记处理异常,确保在出现错误时能够适当地关闭和清理资源。
2012-08-23 上传
2022-01-11 上传
2022-01-13 上传
2022-06-03 上传
2021-09-26 上传
2022-05-27 上传
2022-05-29 上传
进击的朱亚文
- 粉丝: 1
- 资源: 4万+
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集