C# 连接Oracle数据库,并增删改查
时间: 2024-10-26 21:02:29 浏览: 36
在C#中连接Oracle数据库通常需要借助ADO.NET提供的`OracleClient`或`ODP.NET`数据提供者。以下是基本步骤:
1. **添加参考**:
- 首先,确保项目引用了`Oracle.ManagedDataAccess` NuGet包,这对于使用`OracleClient`是必要的。
2. **连接设置**:
```csharp
using Oracle.Data.Client;
string connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<your_host>)(PORT=<your_port>)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<your_service_name>)));User Id=<username>;Password=<password>";
using (OracleConnection connection = new OracleConnection(connectionString))
{
// 打开连接
connection.Open();
//...
}
```
将 `<your_host>`, `<your_port>`, `<your_service_name>`, `<username>` 和 `<password>` 替换为实际的数据库信息。
3. **执行SQL操作**:
- `Select`: 使用`OracleCommand`执行查询。
```csharp
string sql = "SELECT * FROM your_table";
OracleCommand command = new OracleCommand(sql, connection);
OracleDataReader reader = command.ExecuteReader();
while(reader.Read())
{
Console.WriteLine(reader.GetString(0)); // 根据列索引来获取值
}
```
4. **插入、更新和删除**:
- 对于插入 (`INSERT`)、更新 (`UPDATE`) 和删除 (`DELETE`) 操作,你可以创建对应的命令,设置参数并调用相应的方法。
```csharp
OracleCommand insertCommand = new OracleCommand("INSERT INTO your_table (column1, column2) VALUES (:value1, :value2)", connection);
insertCommand.Parameters.Add(new OracleParameter(":value1", value1));
insertCommand.Parameters.Add(new OracleParameter(":value2", value2));
insertCommand.ExecuteNonQuery();
```
5. **处理异常**:
确保捕获可能出现的异常,比如`OracleException`。
阅读全文