在 C# 中连接 SQL Server 是非常常见的操作,特别是在构建数据驱动的应用程序时。本文将分步介绍如何使用 C# 连接 SQL Server 以及如何执行一些基本的数据库操作。我们将使用 .NET Framework 提供的 `System.Data.SqlClient` 命名空间来实现这一功能。在这篇文章中,你将学到如何配置连接字符串、打开/关闭数据库连接、执行 SQL 查询以及处理结果集。
配置连接字符串
在连接 SQL Server 之前,我们需要配置连接字符串,这个字符串包含了必要的数据库连接信息,如服务器名称、数据库名称、用户凭证等。以下是一个标准的连接字符串示例:
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
在这个连接字符串中:
Server: 是 SQL Server 所在的服务器地址。
Database: 是你要连接的数据库名称。
User Id: 是数据库用户的用户名。
Password: 是数据库用户的密码。
打开数据库连接
有了连接字符串之后,我们就可以使用 `SqlConnection` 类来打开数据库连接。以下是一个简单的示例:
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))
{
try
{
connection.Open();
Console.WriteLine("数据库连接成功!");
}
catch (Exception ex)
{
Console.WriteLine("数据库连接失败:" + ex.Message);
}
}
}
}
执行 SQL 查询
使用 SqlCommand
我们可以使用 `SqlCommand` 类来执行 SQL 查询。以下是一个执行简单 SELECT 语句的示例:
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))
{
string query = "SELECT * FROM myTable";
SqlCommand command = new SqlCommand(query, connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[0] + ", " + reader[1]);
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine("查询执行失败:" + ex.Message);
}
}
}
}
处理结果集
在上面的示例中,我们使用 `SqlDataReader` 来读取查询结果。`SqlDataReader` 是一个前向只读的记录集,因此非常高效。我们可以通过调用 `reader.Read()` 方法来逐行读取数据。
参数化查询
为了防止 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))
{
string query = "SELECT * FROM myTable WHERE column1 = @value";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@value", "someValue");
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[0] + ", " + reader[1]);
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine("查询执行失败:" + ex.Message);
}
}
}
}
关闭数据库连接
在数据库操作完成后,我们应该关闭数据库连接。所幸,`SqlConnection` 类实现了 `IDisposable` 接口,这使我们可以利用 `using` 语句自动关闭连接,这不仅简单而且安全。
总结
通过这篇文章,你应该已经掌握了使用 C# 连接 SQL Server 的基本方法。这包括如何配置连接字符串、打开与关闭数据库连接、执行 SQL 查询以及处理结果集。此外,还了解了如何使用参数化查询来增强数据库的安全性。希望这些知识能够帮助你更好地构建数据驱动的应用程序。