当前位置:首页 > 行业动态 > 正文

c# 使用数据库的增删查改

在C#中,使用数据库进行增删查改操作通常涉及以下步骤:1. 引入相关命名空间;2. 创建数据库连接字符串;3. 使用 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#数据库编程方面提供有益的参考和帮助。

0