C における SqlParameter の役割と使用法
#C# 開発では、データベースとの対話は一般的なタスクの 1 つです。データのセキュリティと有効性を確保するために、多くの場合、パラメーター化されたクエリを使用して SQL インジェクション攻撃を防ぐ必要があります。 SqlParameter は、パラメーター化されたクエリの構築に使用される C# のクラスで、データベース クエリのパラメーターを安全かつ便利に処理する方法を提供します。
SqlParameter の役割
SqlParameter クラスは、主に SQL ステートメントにパラメーターを追加するために使用されます。
SqlParameter の使用法
以下では、例を使用して、SqlParameter を使用してパラメーター化されたクエリを構築する方法を示します。
従業員 ID、名前、給与情報を含む「Employees」という名前のテーブルがあるとします。給与が指定された金額を超える従業員情報をクエリする必要があります。以下は、SqlParameter を使用したコード例です。
string queryString = "SELECT EmployeeID, FirstName, LastName FROM Employees WHERE Salary > @salary"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.Add("@salary", SqlDbType.Decimal).Value = 5000; // 设置参数名称、类型和值 connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int employeeId = (int)reader["EmployeeID"]; string firstName = reader["FirstName"].ToString(); string lastName = reader["LastName"].ToString(); Console.WriteLine($"Employee ID: {employeeId}, Name: {firstName} {lastName}"); } reader.Close(); }
上記の例では、最初にパラメーター名「@salary」を含むクエリ文字列を作成します。次に、SqlConnection と SqlCommand を使用してデータベース接続とクエリ コマンド オブジェクトを作成しました。
次に、command.Parameters.Add
メソッドを呼び出して、クエリ コマンドにパラメータを追加します。ここでは、パラメータの名前、タイプ、値を指定します。この例では、パラメータの型として SqlDbType.Decimal
を使用し、パラメータ値を 5000 に設定します。
最後に、データベース接続を開き、クエリ コマンドを実行します。 command.ExecuteReader
を呼び出してクエリ結果を取得し、SqlDataReader を使用して結果を 1 行ずつ読み取ります。ループでは、列名を通じて各従業員の ID と名前を取得し、コンソールに出力します。
概要
SqlParameter を使用すると、パラメータ化されたクエリを効果的に構築できるため、データベース クエリのセキュリティとパフォーマンスが向上します。パラメーターの名前、タイプ、値を設定することで、SQL ステートメントにパラメーターを簡単に追加し、潜在的な SQL インジェクション攻撃を防ぐことができます。この記事が、C# における SqlParameter の役割と使用法を理解するのに役立つことを願っています。
以上がSqlParameter を使用した C# でのパラメーター化されたクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。