Avatar billede Kim Neesgaard Seniormester
28. juli 2008 - 14:32 Der er 7 kommentarer og
1 løsning

Fange Data.SqlClient.SqlDataReader, der er NULL

I visse tilfælde vil en SqlClient.SqlDataReader returnere NULL - hvordan fanger man den situation? Man kan ikke bruge .HasRows, da den jo har en række med værdien NULL. Jeg har også prøvet at fange situationen med:

If Reader Is System.DBNull.Value Then

men den kan heller ikke fange den.
Avatar billede arne_v Ekspert
28. juli 2008 - 15:08 #1
Du bruger return vaerdi fra rdr.Read til at teste om der er nogen raekker i
readeren.

Du bruger rdr.IsDBNull(col) til at teste for om en kolonne indeholder NULL i raekken.
Avatar billede Kim Neesgaard Seniormester
28. juli 2008 - 15:34 #2
Hvad er 'col'? Nul (0)? Hvis jeg bruger 0, så siger den 'Invalid attempt to read when no data is present'?
Avatar billede arne_v Ekspert
28. juli 2008 - 15:46 #3
col er kolonne nummeret

har du en:

while(rdr.Read())

eller

if(rdr.Read())

?
Avatar billede Kim Neesgaard Seniormester
28. juli 2008 - 16:00 #4
Jeg har en rdr.Read() inde i en Try (skal bare aflæse en enkelt linie data). Når rdr er NULL fanger jeg den pt. i Catch, men jeg synes ikke, at denne måde er videre elegant.
Avatar billede arne_v Ekspert
28. juli 2008 - 16:09 #5
rdr = cmd.ExecuteReader();
if(rdr.Read())
{
  if(!rdr.IsDBNull(0))
  {
      ...
  }
}

burde vaere nok.

ExecuteReader boer aldrig returnere null.
Avatar billede Kim Neesgaard Seniormester
28. juli 2008 - 16:35 #6
Ja - det ser ud til at virke!

Jeg får NULL tilbage, når jeg summerer og der ikke er nogen records, der matcher kriterierne.
Avatar billede arne_v Ekspert
29. juli 2008 - 04:08 #7
så smider jeg et svar
Avatar billede Kim Neesgaard Seniormester
29. juli 2008 - 09:26 #8
Ok og tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Netcompany A/S

Software Developer

MAN Energy Solutions

Cloud FinOps Practitioner

De Nationale Geologiske Undersøgelser for Danmark og Grønland (GEUS)

IT-systemadministrator søges til GEUS

Udviklings- og Forenklingsstyrelsen

Generalister til PMO og strategiimplementering