0

コード内の SQL インジェクションを修正しています。メソッドの 1 つは、ストアド プロシージャを実行し、SQL インジェクション ルールに違反するパラメーターを追加します。

sqlCmd.CommandText = "updateSalesReps @repNumber='" + RepNumber + "', 
@ISONumber='" + ISONumber + "', @type='" + strUpdtType + "'";

今、私はパラメータを追加しています:

sqlCmd.Parameters.AddWithValue("@rNumber", RepNumber);
sqlCmd.Parameters.AddWithValue("@isoNumber", ISONumber);
sqlCmd.Parameters.AddWithValue("@updateType",strUpdtType);

これは私の最後のクエリです:

 sqlCmd.CommandText = "updateSalesReps @repNumber=@repNumber, 
 @ISONumber=@isoNumber, @type=@updateType";

私の質問は...@repNumber=@repNumber...、ストアド プロシージャに含めても問題ないのか、それとも名前付けのあいまいさが生じるのかということです。

4

1 に答える 1