Avatar billede kbirk Nybegynder
26. februar 2004 - 12:43 Der er 5 kommentarer og
1 løsning

Genemløb af Data Reader

hejsa..
Jeg er ved at lave en methode som skal kunne løbe datareaderen igennem, og udskrive alt indholdet. Derfor skal den også selv finde ud af hvor mange colonner der er og bare køre der ud af. Jeg har lavet følgende, men den giver mig sku problemer:
   
try
        dtrMedlemmer = cmdSelectMedlemmer.ExecuteReader()
        if dtrMedlemmer.hasRows then
        strOutput &= "1"
            'Der blev fundet noget i data-reader
            while dtrMedlemmer.Read()
            strOutput &= "2"
                count = 0
                repeat = true
                while (repeat = true)
                strOutput &= "3"
                    if dtrMedlemmer(cint(count)) <> "" then
                        strOutput &= "4"
                    else
                        repeat = false
                    end if
                    count += 1
                end while
            end while
        else
            strOutPut &= "Der var intet"
        end if

        dtrMedlemmer.close()
    catch
        strOutput &= "FEJL I SQL STRENGEN"

    finally
        conMedlemmer.Close()
        strOutput &= vbCrLf & "----------------------------------------------"
        tboOutput.text = strOutput & tboOutput.text
    end try

Den er self ikke færdig eller noget men kan vise mie tanker..

Det er primært den her:
if dtrMedlemmer(cint(count)) <> "" then
som giver problemer.. Kan man ikke køre colonnerne igennem således..?

Mvh. Kasper
Avatar billede burningice Nybegynder
26. februar 2004 - 13:47 #1
du kan ikke få lov at hente en kulonne ud som ikke findes... det vil kaste en exception.

hvorfor bruger du ikke GetTableSchema() istedet til at hente tabellens metadata ud som du så kan undersøge for hvor mange kulonner der er?
Avatar billede kbirk Nybegynder
26. februar 2004 - 15:09 #2
Jo det lyder da som en god ide.. Hvordan kan jeg bruge den..?
Avatar billede ccbruno Nybegynder
26. februar 2004 - 18:17 #3
alternativt kan du bruge for each den er nemmere at bruge
Avatar billede burningice Nybegynder
27. februar 2004 - 11:54 #4
ccbruno>> foreach hvad ?!

kbirk>> den returnerer den datatable som så indeholder dine kulonner du kan iterere igennem.

ved nærmere eftertanke tror jeg dog det er smartere bare at bruge FieldCount, som returnerer antallet af kulonner:

dr = cmd.ExecuteReader(CommandBehavior.CloseConnection Or
CommandBehavior.SingleRow)
dr.Read()
Dim i As Integer
For i = 0 To dr.FieldCount - 1
Debug.WriteLine(dr.GetValue(i))
Next
Avatar billede kbirk Nybegynder
27. februar 2004 - 15:37 #5
Det ligner en god løsning, kan desværre først prøve den i næste uge, ment tak for hjælpen..
Laver du ikke lige et svar så jeg kan give dig nogle points..
Avatar billede burningice Nybegynder
27. februar 2004 - 15:44 #6
svar
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