webForumDet fria alternativet

Data från databas

2 svar · 451 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hej

Hur gör ni för att hantera null exceptions när man hämtar data från databas. Speciellt när man hämtar från en databas där man inte kan påverka databasen.

Kör ni try catch på allt?

freguzMedlem sedan feb. 2005280 inlägg
#2

Ibland try catch, men oftast kollar jag om fältet är IsDBnull med datareadern

if(!dr.IsDbNull(1))
{
    name = dr.GetString(1);
}

Undrar vilket som har bäst prestanda: try catch eller if-satsen?

Men helst ska man väl fixa detta redan i SELECT satsen med SELECT ISNULL(NULL, " saknar namn") osv, eller COALESCE() för den delen

GladhMedlem sedan maj 20012 812 inlägg
#3

frequz skrev:

Undrar vilket som har bäst prestanda: try catch eller if-satsen?

If-satsen har helt klart bättre prestanda, när väl ett fel inträffar. Att kasta och fånga exceptions är riktigt prestanda dödande...

Men egentligen är frågan överflödig, för de enda gångerna man skall använda sig av exceptions är när man får fel som man inte förväntar sig. Och i detta fallet, så är ju NULL ett förväntat värde och det skall kontrolleras med en if-satas och hanteras. Exceptions skall aldrig användas till något sådant.

Med det sagt, så ingen regel utan undantag :)

- M

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)