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 サイトの他の関連記事を参照してください。