SqlConnection是 .NET 中提供的一个用于访问 SQL Server 的数据提供程序,可以用于打开数据库连接、执行 SQL语句、处理结果等操作。正确使用 SqlConnection 是编写高效、可靠的 ADO.NET 应用程序的必要条件。本文将详细介绍在 C# 中正确使用 SqlConnection 的方法。
创建 SqlConnection 对象
SqlConnection 是 System.Data.SqlClient 命名空间中的一个类,其中包含多个构造函数。创建 SqlConnection 对象时,需要指定与数据库相关的连接信息。连接字符串是连接到数据源所需的字符串,它会包含连接使用的数据源名称、登录凭据及其他连接选项。使用时应该尽量将连接字符串存储到配置文件中,并使用解密库对其进行加密。
示例:
using System.Data.SqlClient;
static void Main(string[] args)
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 打开连接
connection.Open();
Console.WriteLine("连接状态: {0}", connection.State.ToString());
}
}
static string GetConnectionString()
{
// ToDo: 从配置文件读取连接字符串
string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;
Initial Catalog=TestDB;
Integrated Security=True";
return connectionString;
}
上述示例通过 GetConnectionString() 方法获取连接字符串,并将 SqlConnection 对象嵌入到 using 语句中,以便在使用完后自动关闭连接。
执行 SQL 语句
SqlConnection 中提供了多个方法,以便执行 SQL 语句并处理结果。SqlCommand 对象派生自 DbCommand,并包含了执行特定 SQL 语句所需的所有信息。
以下是通过执行 SELECT 语句获取数据集的示例:
using System.Data.SqlClient;
static void Main(string[] args)
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT TOP 5 * FROM TestTable";
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine("{0}\t{1}\t{2}", reader.GetInt32(0),
reader.GetString(1),
reader.GetString(2));
}
}
}
}
}
在示例中,创建 SqlConnection 对象和 SqlCommand 对象,并用 SELECT 语句从 TestTable 表中检索前 5 条记录。使用 ExecuteReader() 方法执行查询,并遍历 SqlDataReader 以读取结果集。
以下是通过执行 INSERT 语句插入新数据的示例:
using System.Data.SqlClient;
static void Main(string[] args)
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "INSERT INTO TestTable (Title, Description) VALUES (@Title, @Description)";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Title", "Test Title");
command.Parameters.AddWithValue("@Description", "Test Description");
int result = command.ExecuteNonQuery();
Console.WriteLine("{0} 行受影响", result);
}
}
}
在示例中,创建 SqlConnection 对象和 SqlCommand 对象,并使用 INSERT 语句向 TestTable 表中插入一行新数据。使用 ExecuteNonQuery() 方法执行命令,并检查返回值以获得插入行数。
以上就是使用 SqlConnection 的实现方法的详细攻略。通过这些知识,可以更好地使用 SqlConnection 来访问 SQL Server 数据库并处理查询结果,提高 ADO.NET 应用程序的效率和可靠性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解析如何正确使用SqlConnection的实现方法 - Python技术站