webForumDet fria alternativet

Data från databas

.NET

2 svar · 451 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#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?

Medlem 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

Medlem 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

248 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)