c# - stored - SqlCommand Parámetros Add vs. AddWithValue
sqlparameter[] c# ejemplos (1)
Use Add
si desea hacer todo explícito con un poco más de trabajo. Use AddWithValue
si es perezoso. AddWithValue
derivará el tipo del parámetro de su valor, así que asegúrese de que sea el tipo correcto. Por ejemplo, debería analizar una string
a int
si ese es el tipo correcto.
Hay una razón para evitar Add
. Si su tipo de parámetro es int
, debe tener cuidado con la sobrecarga que toma el nombre del parámetro y un objeto, ya que entonces se elige otra sobrecarga con el SqlDbType
-enum .
De los comentarios (la sobrecarga del método es incluso obsolete
ahora):
Tenga cuidado cuando utilice esta sobrecarga del método
SqlParameterCollection.Add
para especificar valores de parámetros enteros. Debido a que esta sobrecarga toma un valor de tipo Objeto, debe convertir el valor integral en un Tipo de Objeto cuando el valor es cero ... Si no realiza esta conversión, el compilador asume que está intentando llamar aSqlParameterCollection.Add(string, SqlDbType)
sobrecarga.
Esta pregunta ya tiene una respuesta aquí:
¿Cuándo debo usar los Parameters. Add/AddWithValue
Parameters. Add/AddWithValue
? En el siguiente ejemplo de MSDN, usan Parameters.Add
para int
y Parameters.AddWithValue
para string
command.Parameters.Add("@ID", SqlDbType.Int);
command.Parameters["@ID"].Value = customerID;
command.Parameters.AddWithValue("@demographics", demoXml);
¿Cuál es el mejor uso para datetime