C#基础:数据库SQLserver和PLSQL的基本用法
时间: 2024-10-19 12:58:28
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
在C#中操作数据库(如SQL Server和PL/SQL)通常涉及使用ADO.NET,实体框架等技术。以下是关于如何在C#中进行基本的SQL Server和PL/SQL操作的一些示例和指导。
1. 使用SQL Server
1.1. 连接到SQL Server
可以使用 SqlConnection
来连接SQL Server。
csharpusing System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=your_server;Database=your_database;User Id=your_username;Password=your_password;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("连接成功!");
}
}
}
1.2. 执行SQL查询
可以使用 SqlCommand
来执行SQL查询。
csharpstring sql = "SELECT * FROM YourTable";
using (SqlCommand command = new SqlCommand(sql, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["YourColumn"].ToString());
}
}
}
1.3. 插入数据
插入数据可以使用参数化查询,以防止SQL注入。
csharpstring insertSql = "INSERT INTO YourTable (Column1, Column2) VALUES (@Val1, @Val2)";
using (SqlCommand insertCommand = new SqlCommand(insertSql, connection))
{
insertCommand.Parameters.AddWithValue("@Val1", value1);
insertCommand.Parameters.AddWithValue("@Val2", value2);
int rowsAffected = insertCommand.ExecuteNonQuery();
Console.WriteLine($"{rowsAffected} 行插入成功!");
}
2. 使用PL/SQL
PL/SQL是Oracle数据库的过程式扩展,通常在C#中,可以通过ODP.NET或Oracle.ManagedDataAccess与Oracle数据库交互。以下是一些基本示例。
2.1. 连接到Oracle数据库
通过ODP.NET连接到Oracle。
csharpusing Oracle.ManagedDataAccess.Client;
string oracleConnectionString = "User Id=your_username;Password=your_password;Data Source=your_data_source;";
using (OracleConnection connection = new OracleConnection(oracleConnectionString))
{
connection.Open();
Console.WriteLine("连接成功!");
}
2.2. 执行PL/SQL块
可以执行PL/SQL块的方式如下:
csharpusing (OracleCommand command = new OracleCommand("BEGIN your_procedure; END;", connection))
{
command.ExecuteNonQuery();
}
2.3. 使用参数化查询
PL/SQL同样支持参数化查询。
csharpstring plSql = "BEGIN insert_into_table(:val1, :val2); END;";
using (OracleCommand insertCommand = new OracleCommand(plSql, connection))
{
insertCommand.Parameters.Add("val1", OracleDbType.Varchar2).Value = value1;
insertCommand.Parameters.Add("val2", OracleDbType.Varchar2).Value = value2;
insertCommand.ExecuteNonQuery();
}
3. 错误处理
在C#中执行数据库操作时,应该使用try-catch来处理异常。
csharptry
{
// 数据库操作
}
catch (SqlException sqlEx)
{
Console.WriteLine($"SQL错误: {sqlEx.Message}");
}
catch (OracleException oracleEx)
{
Console.WriteLine($"Oracle错误: {oracleEx.Message}");
}
catch (Exception ex)
{
Console.WriteLine($"其他错误: {ex.Message}");
}
4. 总结
- 使用 SqlConnection
和 SqlCommand
来与SQL Server交互。
- 使用 OracleConnection
和 OracleCommand
来与Oracle PL/SQL交互。
- 始终使用参数化查询以防止SQL注入攻击。
- 在进行数据库操作时,注意异常处理。
以上只是C#与SQL Server及PL/SQL数据库交互的基础知识,您可以根据具体需求进一步深入学习并扩展其功能。