c# 使用数据库的增删查改
- 行业动态
- 2025-02-21
- 1
SqlConnection
类建立与数据库的连接;4. 使用
SqlCommand
类执行SQL语句实现
增删查改操作。
在C#中,使用数据库进行增删查改操作通常涉及到与ADO.NET或Entity Framework等数据访问技术的交互,以下是详细的步骤和示例代码:
一、准备工作
1、引入命名空间:确保在C#文件中引入必要的命名空间,如System.Data.SqlClient
用于SQL Server数据库连接,或其他适用于特定数据库的命名空间。
2、建立数据库连接:使用SqlConnection
类(对于SQL Server)或其他相应的连接类来建立与数据库的连接,需要提供数据库服务器地址、数据库名称、用户名和密码等信息。
二、增(Insert)
插入数据到数据库表中,通常使用SqlCommand
对象执行INSERT
SQL语句。
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "INSERT INTO TableName (Column1, Column2) VALUES (@Value1, @Value2)"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Value1", "SomeValue1"); command.Parameters.AddWithValue("@Value2", "SomeValue2"); int rowsAffected = command.ExecuteNonQuery(); Console.WriteLine(rowsAffected + " row(s) inserted."); } } } }
三、删(Delete)
删除数据从数据库表中,使用SqlCommand
对象执行DELETE
SQL语句。
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "DELETE FROM TableName WHERE Column1 = @Value1"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Value1", "ValueToDelete"); int rowsAffected = command.ExecuteNonQuery(); Console.WriteLine(rowsAffected + " row(s) deleted."); } } } }
四、查(Select)
查询数据从数据库表中,使用SqlCommand
对象执行SELECT
SQL语句,并通过SqlDataReader
读取结果。
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT Column1, Column2 FROM TableName WHERE Column1 = @Value1"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Value1", "SearchValue"); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine("Column1: " + reader["Column1"].ToString()); Console.WriteLine("Column2: " + reader["Column2"].ToString()); } } } } } }
五、改(Update)
更新数据库表中的数据,使用SqlCommand
对象执行UPDATE
SQL语句。
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "UPDATE TableName SET Column2 = @NewValue WHERE Column1 = @Value1"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Value1", "OldValue"); command.Parameters.AddWithValue("@NewValue", "NewValue"); int rowsAffected = command.ExecuteNonQuery(); Console.WriteLine(rowsAffected + " row(s) updated."); } } } }
六、FAQs
1、**问:如何在C#中处理数据库连接字符串?
答:在C#中,数据库连接字符串通常存储在配置文件(如App.config或Web.config)中,或者直接在代码中以安全的方式硬编码,建议使用加密或环境变量来保护敏感信息,如用户名和密码。
2、问:如何防止SQL注入攻击?
答:为了防止SQL注入攻击,应始终使用参数化查询而不是直接拼接SQL字符串,这样可以确保输入的值被正确转义,避免反面代码的执行,在上述示例中,通过command.Parameters.AddWithValue
方法添加参数就是防止SQL注入的一种方式。
小编有话说
在C#中进行数据库的增删查改操作是开发中非常基础且常见的任务,通过合理使用ADO.NET或Entity Framework等技术,可以高效地与数据库进行交互,务必注意安全性和性能优化,比如使用参数化查询防止SQL注入、合理管理数据库连接等,希望本文能为你在C#数据库编程方面提供有益的参考和帮助。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/143930.html