C# 执行SQL命令
在C#中执行SQL命令是与数据库交互的核心操作之一。无论是查询数据、插入新记录,还是更新或删除现有数据,都需要通过SQL命令来实现。本文将逐步介绍如何在C#中执行SQL命令,并提供实际案例帮助你理解其应用场景。
1. 连接数据库
在执行SQL命令之前,首先需要连接到数据库。C#提供了 SqlConnection
类来管理与SQL Server数据库的连接。以下是一个简单的连接示例:
csharp
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("连接成功!");
}
}
}
备注
确保将 your_server_name
、your_database_name
、your_username
和 your_password
替换为实际的数据库连接信息。
2. 执行SQL查询
连接到数据库后,可以使用 SqlCommand
类来执行SQL查询。以下是一个查询数据库并输出结果的示例:
csharp
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT * FROM Employees";
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"ID: {reader["EmployeeID"]}, Name: {reader["Name"]}");
}
}
}
}
}
}
提示
SqlDataReader
是一个只进、只读的数据流,适用于快速读取大量数据。
3. 执行SQL更新操作
除了查询,C#还可以执行更新操作,如插入、更新和删除数据。以下是一个插入新记录的示例:
csharp
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string insertQuery = "INSERT INTO Employees (Name, Position) VALUES (@Name, @Position)";
using (SqlCommand command = new SqlCommand(insertQuery, connection))
{
command.Parameters.AddWithValue("@Name", "John Doe");
command.Parameters.AddWithValue("@Position", "Software Engineer");
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"{rowsAffected} 行已插入。");
}
}
}
}
警告
使用参数化查询(如 @Name
和 @Position
)可以防止SQL注入攻击。
4. 实际应用场景
假设你正在开发一个员工管理系统,需要从数据库中获取员工信息并显示在控制台上。以下是一个完整的示例:
csharp
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT * FROM Employees";
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"ID: {reader["EmployeeID"]}, Name: {reader["Name"]}, Position: {reader["Position"]}");
}
}
}
}
}
}
5. 总结
通过本文,你学习了如何在C#中执行SQL命令,包括连接数据库、执行查询和更新操作。这些技能是开发数据库驱动应用程序的基础。希望你能通过实际案例更好地理解这些概念。
6. 附加资源与练习
- 练习1:尝试修改查询,使其只返回特定职位的员工。
- 练习2:编写一个程序,允许用户输入新员工的信息并将其插入到数据库中。
- 资源:查阅 Microsoft官方文档 以了解更多关于
SqlConnection
和SqlCommand
的详细信息。