sql >> Base de Datos >  >> RDS >> Mysql

Command.Parameters[@name].Value Sintaxis correcta

Ok, entonces tengo esto funcionando. El problema principal fue que esto necesita comparar null con null , sin embargo, un int no puede ser null ya que es un tipo de valor.

Así que tuve que hacer algunos ajustes con mi código y conseguí que funcionara con la solución alternativa

int? AreaCode = null;

Esto me permitió cambiar mi código:

mySqlCommand.Parameters["@AreaCode"].Value = (PModel.AreaCode.HasValue ? PModel.AreaCode.Value : object)DBNull.Value );

Para todos aquellos que no están al tanto de lo que está pasando aquí:

El operador ? le da a un tipo de valor la capacidad de no tener valor , por lo que puede =null .

es decir.

int n = 0;
int? n = null;

bool b = false;
bool? b = null;