c#j连接数据库增删改查
- 行业动态
- 2025-02-14
- 4097
csharp,using System;,using System.Data.SqlClient;class Program,{, static void Main(), {, string connectionString = "your_connection_string";, using (SqlConnection connection = new SqlConnection(connectionString)), {, connection.Open();, // 增, string 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");, command.ExecuteNonQuery();, } // 删, string deleteQuery = "DELETE FROM TableName WHERE Column1 = @value1";, using (SqlCommand command = new SqlCommand(deleteQuery, connection)), {, command.Parameters.AddWithValue("@value1", "value1");, command.ExecuteNonQuery();, } // 改, string updateQuery = "UPDATE TableName SET Column2 = @newValue WHERE Column1 = @value1";, using (SqlCommand command = new SqlCommand(updateQuery, connection)), {, command.Parameters.AddWithValue("@newValue", "newValue");, command.Parameters.AddWithValue("@value1", "value1");, command.ExecuteNonQuery();, } // 查, string selectQuery = "SELECT * FROM TableName";, using (SqlCommand command = new SqlCommand(selectQuery, connection)), {, using (SqlDataReader reader = command.ExecuteReader()), {, while (reader.Read()), {, Console.WriteLine($"{reader["Column1"]}, {reader["Column2"]}");, }, }, }, }, },},
“
在C#中,连接数据库并进行增删改查操作是一个常见的任务,通常使用ADO.NET或Entity Framework等技术来实现,以下是使用ADO.NET进行数据库操作的基本步骤和示例代码:
一、准备工作
1、引入命名空间:需要引入System.Data
和System.Data.SqlClient
命名空间,以便使用相关的数据库操作类。
2、创建数据库连接字符串:定义一个连接字符串,包含服务器地址、数据库名称、用户名和密码等信息。
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
二、连接数据库
使用SqlConnection
类创建数据库连接对象,并调用Open
方法打开连接。
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // 在这里执行数据库操作 }
三、执行SQL查询(SELECT)
1、创建SqlCommand对象:传递SQL查询语句和连接对象给SqlCommand
构造函数,要查询所有用户的信息,可以这样写:
string query = "SELECT * FROM Users"; SqlCommand command = new SqlCommand(query, connection);
2、读取数据:使用ExecuteReader
方法执行查询,并返回一个SqlDataReader
对象,通过它可以逐行读取查询结果。
using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"User ID: {reader["UserID"]}, Name: {reader["Name"]}"); } }
四、执行插入操作(INSERT)
1、准备插入语句:编写包含参数占位符的INSERT语句,要插入一个新用户,可以这样写:
string insertQuery = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)"; SqlCommand insertCommand = new SqlCommand(insertQuery, connection);
2、设置参数值:为命令对象添加参数,并设置它们的值。
insertCommand.Parameters.AddWithValue("@Name", "John Doe"); insertCommand.Parameters.AddWithValue("@Age", 30);
3、执行插入命令:调用ExecuteNonQuery
方法执行插入操作。
int rowsAffected = insertCommand.ExecuteNonQuery(); Console.WriteLine($"Rows affected: {rowsAffected}");
五、执行更新操作(UPDATE)
1、准备更新语句:编写包含参数占位符的UPDATE语句,要更新用户的年龄,可以这样写:
string updateQuery = "UPDATE Users SET Age = @Age WHERE UserID = @UserID"; SqlCommand updateCommand = new SqlCommand(updateQuery, connection);
2、设置参数值:为命令对象添加参数,并设置它们的值。
updateCommand.Parameters.AddWithValue("@Age", 35); updateCommand.Parameters.AddWithValue("@UserID", 1);
3、执行更新命令:调用ExecuteNonQuery
方法执行更新操作。
int rowsAffected = updateCommand.ExecuteNonQuery(); Console.WriteLine($"Rows affected: {rowsAffected}");
六、执行删除操作(DELETE)
1、准备删除语句:编写包含参数占位符的DELETE语句,要删除一个用户,可以这样写:
string deleteQuery = "DELETE FROM Users WHERE UserID = @UserID"; SqlCommand deleteCommand = new SqlCommand(deleteQuery, connection);
2、设置参数值:为命令对象添加参数,并设置它们的值。
deleteCommand.Parameters.AddWithValue("@UserID", 1);
3、执行删除命令:调用ExecuteNonQuery
方法执行删除操作。
int rowsAffected = deleteCommand.ExecuteNonQuery(); Console.WriteLine($"Rows affected: {rowsAffected}");
七、处理异常
在进行数据库操作时,可能会遇到各种异常情况,如连接失败、SQL语法错误等,为了提高程序的健壮性,建议使用try-catch
语句来捕获和处理这些异常。
try { // 在这里执行数据库操作 } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); }
八、关闭连接
在完成数据库操作后,应及时关闭数据库连接以释放资源,如果使用了using
语句来创建SqlConnection
对象,则无需手动关闭连接,因为using
语句会自动调用Dispose
方法来关闭连接,否则,可以显式调用Close
方法来关闭连接。
connection.Close();
以下是一个完整的示例,展示了如何使用C#连接数据库并进行增删改查操作:
操作类型 | SQL语句 | C#代码 |
查询(SELECT) | SELECT * FROM Users |
“csharp “ |
插入(INSERT) | INSERT INTO Users (Name, Age) VALUES (@Name, @Age) |
“csharp “ |
更新(UPDATE) | UPDATE Users SET Age = @Age WHERE UserID = @UserID |
“csharp “ |
删除(DELETE) | DELETE FROM Users WHERE UserID = @UserID |
“csharp “ |
十、FAQs相关
1、Q: 如何连接到不同的数据库类型(如MySQL, PostgreSQL等)?
A: 根据目标数据库类型选择相应的.NET数据提供程序(如MySql.Data, Npgsql),并调整连接字符串格式和命令对象类型(如MySqlCommand, NpgsqlCommand)。
2、Q: 如何处理大量数据的插入以提高性能?
A: 可以考虑使用批量插入技术,如将多条INSERT语句合并为一条执行,或使用存储过程来优化插入操作,确保事务管理得当以避免部分失败导致的数据不一致问题。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/27061.html