Dobře, takže mi to funguje. Hlavním problémem bylo, že je potřeba porovnat null
s null
, nicméně int
nemůže být null
protože jde o typ hodnoty.
Musel jsem tedy svůj kód vyladit a podařilo se mi to vyřešit
int? AreaCode = null;
To mi umožnilo změnit svůj kód:
mySqlCommand.Parameters["@AreaCode"].Value = (PModel.AreaCode.HasValue ? PModel.AreaCode.Value : object)DBNull.Value );
Pro všechny, kteří si nejsou vědomi toho, co se zde děje:
Operátor ?
dává typu hodnoty možnost nemít žádnou hodnotu , takže může =null
.
tj.
int n = 0;
int? n = null;
bool b = false;
bool? b = null;