关键词

C#连接Oracle数据库的实例方法

我们来详细讲解一下“C#连接Oracle数据库的实例方法”的完整攻略。

环境准备

首先,我们需要准备好以下环境:
- 安装好 Oracle 数据库
- 下载安装 Oracle 数据库适配器 ODP.NET
- 安装好 Visual Studio 开发环境

导入命名空间

在代码编写前,我们需要先导入以下命名空间:

using System.Data;
using Oracle.ManagedDataAccess.Client;

其中,System.Data 命名空间是用于数据库操作的基础命名空间,而 Oracle.ManagedDataAccess.Client 是 Oracle 数据库官方提供的数据库适配器命名空间。

连接数据库

连接 Oracle 数据库的基本方式如下:

  1. 构建连接字符串
string connStr = "Data Source=<数据库实例名>;User ID=<用户名>;Password=<密码>";

其中,Data Source 表示数据库服务名,User ID 表示用户名,Password 表示密码。

  1. 创建 OracleConnection 对象
OracleConnection conn = new OracleConnection(connStr);
  1. 打开数据库连接
conn.Open();

以上三步代码可组合成以下代码:

string connStr = "Data Source=<数据库实例名>;User ID=<用户名>;Password=<密码>";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();

执行 SQL 查询

连接数据库成功后,我们可以使用 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

展开阅读全文