C#编程:Oracle数据库的增删改查操作示例
版权申诉
7 浏览量
更新于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,它们可以简化数据库操作并提供更强大的功能。同时,不要忘记处理异常,确保在出现错误时能够适当地关闭和清理资源。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-01-11 上传
2022-01-13 上传
2022-06-03 上传
2021-09-26 上传
2022-05-27 上传
2022-05-29 上传
进击的朱亚文
- 粉丝: 2
- 资源: 4万+
最新资源
- typora-themes:我的Typora主题资料库
- 摇滚音乐娱乐网站模板是一款大气单页HTML5网站模板下载。.zip
- 1ere-evaluation-php-sql-site-annonces-immobilieres
- 演示
- Particulate matter Korea-crx插件
- Presenca:用于对Uberhub CodeClub项目进行学术控制的网站。 用Flask制作-Python的微框架-这对组织很有帮助,它经常被成百上千的学生使用
- 清新的韩国风格自然风景下载PPT模板
- Titanic_ML_Competitons:使用Titanic Dataset的ML项目,这是Kaggle的入门比赛(描述为土耳其语,因为该比赛有很多英语来源)
- 工业建筑施工方案模板--余杭区临平塘栖供水二期某水厂工程施工组织设计
- car-rental-php:PHP中的汽车租赁项目
- cppcoffee.github.io:我的github页面
- 红色艺术花纹背景下载PPT模板
- historias_medicas
- block-similarity:通过相似性尝试搜索块
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 数据库-应用程序:.BinarySearchTREE-数据库-应用程序