ホームページ >バックエンド開発 >C++ >SQLCMD.exe を使用せずに C# で SQL クエリを直接実行するにはどうすればよいですか?

SQLCMD.exe を使用せずに C# で SQL クエリを直接実行するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-05 15:09:39645ブラウズ

How Can I Execute SQL Queries Directly in C# Without Using SQLCMD.exe?

C# での SQL クエリの直接実行

問題:

現在のシステムでは、次のクエリの実行が禁止されています。 SQLCMD.exe を利用するバッチ ファイルでは、別のアプローチが必要です。 C#.

解決策:

SqlCommand クラスの利用:

C# から SQL クエリを直接実行するには、以下を使用できます。 SqlCommand クラス。このクラスを使用すると、パラメータ化された SQL コマンドを構築して実行できるため、インジェクション攻撃を回避できます。

サンプル コード:

次のサンプル コードは、パラメータ化された SQL で SqlCommand を使用する方法を示しています。 :

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();
    }
}

このコードは、指定された SQL Server インスタンスに接続し、接続を開きます。次に、パラメーター化された SQL クエリを使用して SqlCommand オブジェクトを作成し、関連するパラメーターをコマンドに追加します。接続が開かれ、クエリが実行され、SqlDataReader オブジェクトを使用して結果が取得されます。

実際のアプリケーションでは、エラー処理と接続の終了を実装する必要があることに注意してください。

以上がSQLCMD.exe を使用せずに C# で SQL クエリを直接実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。