Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Command.Parameters[@name].Value Sintaxe correta


Ok, então eu tenho isso funcionando. O principal problema era que isso precisa comparar null com null , porém um int não pode ser null pois é um tipo de valor.

Então eu tive que fazer alguns ajustes com meu código e consegui isso funcionando com a solução alternativa
int? AreaCode = null;

Isso me permitiu alterar meu código:
mySqlCommand.Parameters["@AreaCode"].Value = (PModel.AreaCode.HasValue ? PModel.AreaCode.Value : object)DBNull.Value );

Para todos aqueles que não estão cientes do que está acontecendo aqui:

O operador ? dá a um tipo de valor a capacidade de não ter valor , então pode =null .

ou seja.
int n = 0;
int? n = null;

bool b = false;
bool? b = null;