首页 >后端开发 >C++ >如何在C#中使用SqlCommand直接执行SQL查询?

如何在C#中使用SqlCommand直接执行SQL查询?

Susan Sarandon
Susan Sarandon原创
2025-01-05 22:29:38641浏览

How to Execute SQL Queries Directly in C# Using SqlCommand?

直接在 C 中执行 SQL 查询

在最近的项目中,您提到需要替换使用 SQLCMD.exe 的过时批处理文件。当您深入研究 C# 开发时,您可能会遇到直接从代码中执行 SQL 查询的挑战。本文将指导您完成使用 SqlCommand 类实现此目的的步骤。

了解 SqlCommand

SqlCommand 是 System.Data.SqlClient 命名空间中的一个关键类,使您能够执行 SQL 命令针对关系数据库。它提供了一种灵活高效的方法来在 C# 代码中执行数据库操作。

实现 SQL 执行

要使用 SqlCommand 在 C# 中直接执行 SQL 查询,请按照以下基本步骤操作:

  1. 建立连接:使用 SqlConnection 连接到您的数据库对象,提供适当的连接字符串。
  2. 创建命令:实例化一个 SqlCommand 对象,其中 SQL 查询字符串作为第一个参数,SqlConnection 对象作为第二个参数。
  3. 添加参数(可选):如果您的查询涉及任何参数,请使用以下命令将它们添加到 SqlCommand Parameters.AddWithValue() 方法。
  4. 打开连接:打开 SqlConnection 与数据库建立通信。
  5. 执行查询:调用SqlCommand 对象上的 ExecuteReader() 方法执行查询并以 SqlDataReader 形式检索结果对象。
  6. 读取结果:使用 while 循环迭代 SqlDataReader 并提取所需的值。
  7. 关闭资源:永远记住完成后关闭 SqlDataReader 和 SqlConnection 对象

示例代码

下面是一个示例 C# 代码片段,演示如何使用 SqlCommand 执行参数化 SQL 查询:

string queryString = "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = @tPatSName";
string connectionString = "Server=.\PDATA_SQLEXPRESS;Database=;User Id=sa;Password=2BeChanged!;";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(queryString, connection);
    command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value");
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    try
    {
        while (reader.Read())
        {
            Console.WriteLine(String.Format("{0}, {1}",
            reader["tPatCulIntPatIDPk"], reader["tPatSFirstname"])); // etc
        }
    }
    finally
    {
        reader.Close();
    }
}

通过利用SqlCommand 类,您现在可以无缝执行 SQL 查询并直接从 C# 应用程序中检索结果。

以上是如何在C#中使用SqlCommand直接执行SQL查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn