Svojevremeno sam "snabdeven" jednom pametnom NullHandling koju sam nadalje samo dopravljao kako za koji projekat zatreba nesto specificno. Evo onoga sto tebi treba za dovlacenje podataka ka UI layer:
Code:
public static int IntNullReader(object obj)
{
if (obj is DBNull)
{
return -1;
}
else
{
try
{
return (int)obj;
}
catch
{
try
{
return Convert.ToInt32(obj);
}
catch
{
return -1;
}
}
}
}
A za preuzimanje iz UI ka Bazi:
Code:
public static object IntNullWriter(object obj)
{
if((Convert.ToInt32(obj)) == -1 )
{
return DBNull.Value;
}
else
{
return obj;
}
}
I kasnije samo zoves: int ovoCuUBazu = KlasaGdeMiJeMetoda.IntNullWriter(DdlNestoSelektovano.SelectedValue);
Kad dovlacis iz baze kazes TxtNekaVrednost.Text = KlasaGdeMiJeMetoda.IntNullReader(drRedIzTabele["NekaKolonaOdakleOcekujesInt32"]);
Naravno za slucaj da je kacis na TextBox, glupo je da ispises -1, pa mozes da izmenis metodu, ili napravis overload koji ce da vrati "" na null i slicno.