int? x = 8; // nullable type prin ?
// Acest parametru SQL poate fi si NULL in baza de date, dar trimitand null la AddWithValue sterge parametrul, deci folosesc DBNull.Value.
cmd.Parameters.AddWithValue("@x",
x ?? DBNull.Value); // Da eroare de sintaxa.
object y = x ?? DBNull.Value; // La fel si aici.
Fiindcă expresiile „null coalesce” (cele cu ??) nu pot avea tipuri diferite in stanga lui ?? si in dreapta lui ??, folosim o clauza if:
if (x.HasValue) // conditie echivalenta cu (x != null)
{
cmd.Parameters.AddWithValue("@x", x);
}
else
{
cmd.Parameters.AddWithValue("@x", DBNull.Value);
}
Capturi de ecran:
Inspirație de aici.
Niciun comentariu:
Trimiteți un comentariu