C#编程:Oracle数据库的增删改查操作示例

版权申诉
0 下载量 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,它们可以简化数据库操作并提供更强大的功能。同时,不要忘记处理异常,确保在出现错误时能够适当地关闭和清理资源。