Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Command.Parameters[@name].Value Poprawna składnia

Ok, więc mam to działa. Głównym problemem było to, że trzeba porównać null z null , jednak int nie może być null ponieważ jest to typ wartości.

Musiałem więc trochę poprawić swój kod i udało mi się to obejść

int? AreaCode = null;

To pozwoliło mi zmienić mój kod:

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

Dla wszystkich, którzy nie są świadomi tego, co się tutaj dzieje:

Operator ? daje typowi wartości możliwość nie mieć żadnej wartości , więc może =null .

tj.

int n = 0;
int? n = null;

bool b = false;
bool? b = null;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć się z serwerem MySQL na (IP lub nazwa domeny)

  2. Jak wybierać rekordy jeden po drugim bez powtarzania?

  3. Różnica między `usługami parzenia start mysql` a `mysql.server start`

  4. Zapytanie o dynamiczną aktualizację PHP PDO do MYSQL

  5. Jak liczyć przedmioty według kategorii?