c#连接sqlserver数据库实现增删改查操作

以下c#连接sqlserver数据库实现增删改查操作的代码实现的需求是使用 C# 语言,通过 ADO.NET 技术连接 SQL Server 数据库,并实现增删改查操作。具体而言,创建了一个 SqlConnection 对象,使用指定的数据库连接字符串打开与 SQL Server 数据库的连接,并依次执行插入、更新、删除和查询操作。在每个操作中,使用 SqlCommand 类执行 SQL 查询语句,并使用参数化查询保护代码免受 SQL 注入攻击。最后关闭连接以释放资源。

下面是一个使用 C# 连接 SQL Server 数据库,并实现增删改查操作的示例代码,其中使用了 ADO.NET 技术:

using System;
using System.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        string connectionString = "Data Source=myServer;Initial Catalog=myDatabase;User ID=myUsername;Password=myPassword";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                connection.Open();

                // Insert operation
                string insertQuery = "INSERT INTO myTable (column1, column2) VALUES (@value1, @value2)";
                using (SqlCommand command = new SqlCommand(insertQuery, connection))
                {
                    command.Parameters.AddWithValue("@value1", "some value");
                    command.Parameters.AddWithValue("@value2", 123);
                    int rowsAffected = command.ExecuteNonQuery();
                    Console.WriteLine($"Rows affected by insert operation: {rowsAffected}");
                }

                // Update operation
                string updateQuery = "UPDATE myTable SET column1 = @value1 WHERE column2 = @value2";
                using (SqlCommand command = new SqlCommand(updateQuery, connection))
                {
                    command.Parameters.AddWithValue("@value1", "new value");
                    command.Parameters.AddWithValue("@value2", 123);
                    int rowsAffected = command.ExecuteNonQuery();
                    Console.WriteLine($"Rows affected by update operation: {rowsAffected}");
                }

                // Delete operation
                string deleteQuery = "DELETE FROM myTable WHERE column2 = @value";
                using (SqlCommand command = new SqlCommand(deleteQuery, connection))
                {
                    command.Parameters.AddWithValue("@value", 123);
                    int rowsAffected = command.ExecuteNonQuery();
                    Console.WriteLine($"Rows affected by delete operation: {rowsAffected}");
                }

                // Select operation
                string selectQuery = "SELECT * FROM myTable";
                using (SqlCommand command = new SqlCommand(selectQuery, connection))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string column1Value = reader.GetString(0);
                            int column2Value = reader.GetInt32(1);
                            Console.WriteLine($"column1: {column1Value}, column2: {column2Value}");
                        }
                    }
                }

                connection.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
    }
}

在上述代码中,使用 SqlCommand 类执行 SQL 查询语句,并使用参数化查询保护代码免受 SQL 注入攻击。具体而言,实现了以下操作:

  • 插入操作:向名为 myTable 的表中插入一行数据。
  • 更新操作:将名为 myTable 的表中所有 column2 列值为 123 的行的 column1 列更新为“new value”。
  • 删除操作:从名为 myTable 的表中删除所有 column2 列值为 123 的行。
  • 查询操作:从名为 myTable 的表中获取所有行,并输出每行的 column1column2 值。

需要注意的是,这只是一个示例代码,实际应用中可能需要更多的错误处理和数据验证等功能。