c#连接oracle查询返回结果
时间: 2023-08-02 19:06:28 浏览: 47
在 C# 中连接 Oracle 数据库并查询后,可以将查询结果保存在各种数据结构中,如数组、列表、数据集、数据表等等。以下是一些示例代码:
1. 将查询结果保存在数组中:
```csharp
using Oracle.DataAccess.Client;
string connString = "Data Source=<Oracle 数据库连接字符串>;User ID=<用户名>;Password=<密码>";
using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
string sql = "SELECT * FROM <表名> WHERE <条件>";
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
using (OracleDataReader reader = cmd.ExecuteReader())
{
List<object[]> resultList = new List<object[]>();
while (reader.Read())
{
object[] rowValues = new object[reader.FieldCount];
for (int i = 0; i < reader.FieldCount; i++)
{
rowValues[i] = reader.GetValue(i);
}
resultList.Add(rowValues);
}
// 处理查询结果数组
}
}
}
```
在上面的代码中,将查询结果保存在 `List<object[]>` 类型的列表中,每行数据都是一个 `object[]` 类型的数组,数组元素为每个字段的值。
2. 将查询结果保存在数据集中:
```csharp
using Oracle.DataAccess.Client;
using System.Data;
string connString = "Data Source=<Oracle 数据库连接字符串>;User ID=<用户名>;Password=<密码>";
using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
string sql = "SELECT * FROM <表名> WHERE <条件>";
using (OracleDataAdapter adapter = new OracleDataAdapter(sql, conn))
{
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
// 处理查询结果数据集
}
}
```
在上面的代码中,将查询结果保存在 `DataSet` 类型的数据集中,数据集包含一个或多个 `DataTable` 类型的数据表,每个数据表对应查询结果的一个结果集。
3. 将查询结果保存在数据表中:
```csharp
using Oracle.DataAccess.Client;
using System.Data;
string connString = "Data Source=<Oracle 数据库连接字符串>;User ID=<用户名>;Password=<密码>";
using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
string sql = "SELECT * FROM <表名> WHERE <条件>";
using (OracleDataAdapter adapter = new OracleDataAdapter(sql, conn))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
// 处理查询结果数据表
}
}
```
在上面的代码中,将查询结果保存在 `DataTable` 类型的数据表中,数据表包含多行多列的查询结果。