I'm fixing SQL Injections in the code. One of the method executes stored procedure and append parameters violating SQL Injections rules:
sqlCmd.CommandText = "updateSalesReps @repNumber='" + RepNumber + "',
@ISONumber='" + ISONumber + "', @type='" + strUpdtType + "'";
Now, I'm adding parameters:
sqlCmd.Parameters.AddWithValue("@rNumber", RepNumber);
sqlCmd.Parameters.AddWithValue("@isoNumber", ISONumber);
sqlCmd.Parameters.AddWithValue("@updateType",strUpdtType);
This is my final query:
sqlCmd.CommandText = "updateSalesReps @repNumber=@repNumber,
@ISONumber=@isoNumber, @type=@updateType";
My question is if it is OK to have ...@repNumber=@repNumber... in my stored procedure or it will create naming ambiguity?
.AddWithValue()- it can lead to unexpected and surprising results...