`n 如何在C#中连接和操作数据库?

如何在C#中连接和操作数据库?

Clock Icon 发布时间:2026/11/2 12:39  · 

在NET/" style="text-decoration: none; color: inherit;" title="C#">C#中连接和操作数据库时,了解如何使用ADO.NET/" style="text-decoration: none; color: inherit;" title="NET">NET非常重要。ADO.NET/" style="text-decoration: none; color: inherit;" title="NET">NET是一个用于与数据库进行交互的技术,能够执行数据操作,如查询、插入、更新和删除。这一过程通常从建立数据库连接开始。
对于连接数据库,需要构建一个连接字符串。这个字符串包含必要的数据库信息,如数据源、数据库名和凭据等。可以使用SqlConnection类来建立与SQL Server的连接。以下是示例代码:
```csharpstring connectionString = "Data Source=server_name;Initial Catalog=database_name;User ID=user_id;Password=password;";using (SqlConnection connection = new SqlConnection(connectionString)){ connection.Open(); // 进行操作}```
一旦成功建立连接,就可以执行SQL命令。SqlCommand类用于执行查询和其他SQL语言指令。通过构造SqlCommand对象并设置其CommandText属性,可以执行数据操作。示例代码如下:
```csharpstring query = "SELECT * FROM TableName";using (SqlCommand command = new SqlCommand(query, connection)){ using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { // 读取数据 } }}```
针对插入、更新和删除操作,可以在SqlCommand中使用相应的SQL语句。例如,插入数据使用INSERT语句,更新使用UPDATE,删除使用DELETE。注意在执行这些操作时,可以使用参数化查询来防止SQL注入。
执行非查询命令后,通常需要知道受影响的行数,可以使用ExecuteNonQuery方法。更新或插入数据的代码可能如下:
```csharpstring insertQuery = "INSERT INTO TableName (Column1, Column2) VALUES (@value1, @value2)";using (SqlCommand command = new SqlCommand(insertQuery, connection)){ command.Parameters.AddWithValue("@value1", value1); command.Parameters.AddWithValue("@value2", value2); int rowsAffected = command.ExecuteNonQuery(); // 检查rowsAffected}```
对于事务处理,通过SqlTransaction可以确保多个操作的原子性。例如,在执行涉及多个步骤的操作时,确保要么全部成功要么全部失败。使用示例如下:
```csharpusing (SqlTransaction transaction = connection.BeginTransaction()){ command.Transaction = transaction; try { // 执行各类命令 transaction.Commit(); } catch { transaction.Rollback(); }}```
在完成所有操作后,务必关闭连接。虽然使用`using`语句可以自动处理连接的生命周期,但显式关闭连接也是良好的编程习惯。通过这种方式,资源能够得到充分利用。

推荐文章

热门文章