我们来详细讲解一下“C#连接Oracle数据库的实例方法”的完整攻略。
首先,我们需要准备好以下环境:
- 安装好 Oracle 数据库
- 下载安装 Oracle 数据库适配器 ODP.NET
- 安装好 Visual Studio 开发环境
在代码编写前,我们需要先导入以下命名空间:
using System.Data;
using Oracle.ManagedDataAccess.Client;
其中,System.Data
命名空间是用于数据库操作的基础命名空间,而 Oracle.ManagedDataAccess.Client
是 Oracle 数据库官方提供的数据库适配器命名空间。
连接 Oracle 数据库的基本方式如下:
string connStr = "Data Source=<数据库实例名>;User ID=<用户名>;Password=<密码>";
其中,Data Source
表示数据库服务名,User ID
表示用户名,Password
表示密码。
OracleConnection
对象OracleConnection conn = new OracleConnection(connStr);
conn.Open();
以上三步代码可组合成以下代码:
string connStr = "Data Source=<数据库实例名>;User ID=<用户名>;Password=<密码>";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
连接数据库成功后,我们可以使用 OracleCommand
对象来执行 SQL 查询。
以下是示例代码:
string sql = "SELECT * FROM <表名>";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
// 处理查询结果
}
reader.Close();
其中,SELECT
后的内容是需要查询的表的名称。
如果是执行更新、删除等操作(不是查询),可以使用如下代码:
string sql = "UPDATE <表名> SET <字段> = <值> WHERE <条件>";
OracleCommand cmd = new OracleCommand(sql, conn);
int rows = cmd.ExecuteNonQuery();
其中,UPDATE
后的内容是需要更新的表的名称,SET
后的内容是需要更新的字段及其值,WHERE
后的内容是更新条件。
接下来,我们以一个查询所有员工信息的示例来说明:
string connStr = "Data Source=<数据库实例名>;User ID=<用户名>;Password=<密码>";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
string sql = "SELECT * FROM emp";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("empno: {0}, ename: {1}, job: {2}, mgr: {3}, hiredate: {4}, sal: {5}, comm: {6}, deptno: {7}",
reader["empno"], reader["ename"], reader["job"], reader["mgr"], reader["hiredate"], reader["sal"], reader["comm"], reader["deptno"]);
}
reader.Close();
conn.Close();
以上代码中,我们在查询时使用了 SELECT * FROM emp
,其中 emp
表是 Oracle 默认自带的一个示例表。我们在每次查询到数据时,将数据打印至控制台中展示。
如果需要更新员工信息,可以使用如下代码:
string connStr = "Data Source=<数据库实例名>;User ID=<用户名>;Password=<密码>";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
string sql = "UPDATE emp SET sal = 5000 WHERE empno = 7369";
OracleCommand cmd = new OracleCommand(sql, conn);
int rows = cmd.ExecuteNonQuery();
conn.Close();
以上代码中,我们将员工编号为 7369 的员工薪资修改为 5000。执行成功后,将会返回受影响的行数。
本文链接:http://task.lmcjl.com/news/18821.html