Mysql
 sql >> база данни >  >> RDS >> Mysql

Command.Parameters[@name].Value Правилен синтаксис

Добре, така че това работи. Основният проблем беше, че това трябва да сравни null с null , но int не може да бъде null тъй като е тип стойност.

Така че трябваше да направя някои настройки с моя код и получих това да работи с решението

int? AreaCode = null;

Това ми позволи да променя кода си:

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

За всички, които не са наясно какво се случва тук:

Операторът ? дава на Тип стойност възможността да няма стойност , така че може да =null .

т.е.

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. Android JDBC не работи:ClassNotFoundException на драйвера

  2. Задаване на стойност по подразбиране за колона тип ДАТА на текуща дата без част от времето?

  3. вътрешно присъединяване изберете (A,B) на A и B срещу където (A,B) в select(A, B) в mysql

  4. Избиране на уникални редове в набор от две възможности

  5. Как да напиша SQL заявка, за да разберете сумата на най-високите 4 колони от 5 колони?