NULL-Werte in der DB speichern

Written on January 07, 2004

Versucht man, null-Werte in einer Datenbank zu speichern, bekommt man in der Regel Probleme in Form von "null-Werte nicht zulässig"-Fehlermeldungen u.ä.

Das Problem ist, daß null-Werte in C# bzw. VB.NET nicht den Null-Werten einer DB entsprechen.
Abhilfe schafft eine if-Abfrage, die aus "null" zu "DBNull" wandelt, was die Datenbank dann auch als null-Wert interpretieren kann:

myParam = MyCommand.Parameters.Add(new OleDbParameter("@Preis",OleDbType.Currency));
myParam.Direction = ParameterDirection.Input;
myParam.IsNullable = true;
if(myObject.Preis.ToString()=="");
{
myParam.Value = System.DBNull.Value;
}
else
{
myParam.Value = myObject.Preis;
}