Avatar billede jesperthomsen1980 Nybegynder
23. februar 2005 - 22:19 Der er 10 kommentarer og
1 løsning

Er det muligt at gennemløbe et dataset?

Hej eksperter.

Er det muligt at gennemløbe et dataset, så man én for én har mulighed for at gøre noget ved de objekter der findes i datasettet?

Hvordan gøres det?

På forhånd tak
Avatar billede arne_v Ekspert
23. februar 2005 - 22:22 #1
Du kan iterere ovet Tables og for hver DataTable kan du iterere over Rows.
Avatar billede jesperthomsen1980 Nybegynder
23. februar 2005 - 22:24 #2
Kan du komme med et eksempel på at iterere over tables?

Hvis man ved hvilken Row jeg gerne vil have fat i er det vist ikke et problem...
Avatar billede arne_v Ekspert
23. februar 2005 - 22:28 #3
Følgende klippet fra docs viser vist alt:

private void PrintRows(DataSet myDataSet){
  // For each table in the DataSet, print the row values.
  foreach(DataTable myTable in myDataSet.Tables){
      foreach(DataRow myRow in myTable.Rows){
        foreach (DataColumn myColumn in myTable.Columns){
            Console.WriteLine(myRow[myColumn]);
        }
      }
  }
}
Avatar billede jesperthomsen1980 Nybegynder
23. februar 2005 - 22:29 #4
Takker - smid lige et svar...
Avatar billede arne_v Ekspert
23. februar 2005 - 22:31 #5
svar
Avatar billede jesperthomsen1980 Nybegynder
25. februar 2005 - 14:36 #6
Private Sub PrintRows(ByVal myDataSet As DataSet)
        Dim Tal As Integer
        For Each myTable As DataTable In myDataSet.Tables
            For Each myRow As DataRow In myTable.Rows
                'For Each myColumn As DataColumn In myTable.Columns
                Tal = CType(myDataSet.Tables(0).Rows(0)(0), Integer)
                MsgBox(Tal)
                ' Console.WriteLine(myRow(myColumn))
            Next
            'Next
        Next
        'Next
    End Sub


Hvad dælen er der galt med denne. Har omskrevet din kode fra før, så jeg nu synes den burde gøre det jeg gerne vil have den til: At udskrive Id'erne fra det dataset der er valgt. Det gør den ikke. Den udskriver første Id tre gange. Det er sådan set rigtigt nok, da der i eksemplet er tre varer, men de har ikke samme id.
Kan du give mig et svar på hvad det er jeg gør forkert, da jeg ikke lige selv kan se fejlen...
Avatar billede jesperthomsen1980 Nybegynder
25. februar 2005 - 14:37 #7
Koden uden '
Private Sub PrintRows(ByVal myDataSet As DataSet)
        Dim Tal As Integer
        For Each myTable As DataTable In myDataSet.Tables
            For Each myRow As DataRow In myTable.Rows
           
            Tal = CType(myDataSet.Tables(0).Rows(0)(0), Integer)
            MsgBox(Tal)
           
            Next
        Next
End sub
Avatar billede arne_v Ekspert
25. februar 2005 - 14:41 #8
For Each og bruge af (0) virker vel ike så godt sammen !?
Avatar billede jesperthomsen1980 Nybegynder
25. februar 2005 - 14:53 #9
Nej det gør det ikke.

Løsnngen synes jeg ikke er så pæn, men den virker!

Tak endnu engang

Private Sub PrintRows(ByVal myDataSet As DataSet)
        Dim SalgsordrelinieId As Integer
        Dim AntalLinier As Integer
        For Each myTable As DataTable In myDataSet.Tables
            For Each myRow As DataRow In myTable.Rows
                SalgsordrelinieId = CType(myDataSet.Tables(0).Rows(AntalLinier)(0), Integer)
                MsgBox(SalgsordrelinieId)
                AntalLinier = AntalLinier + 1
            Next
        Next
    End Sub
Avatar billede arne_v Ekspert
25. februar 2005 - 15:02 #10
Ud skift din For Each løkke med en almindelig For løkke, så er tælleren
mere naturlig !
Avatar billede jesperthomsen1980 Nybegynder
25. februar 2005 - 16:14 #11
Ja det hjælper lidt på det...!

takker
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
Kurser inden for grundlæggende programmering

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

Udviklings- og Forenklingsstyrelsen

Business Analyst med flair for test

Queue-it ApS

Team Lead Engineering

Udviklings- og Forenklingsstyrelsen

Data Scientist til stærkt data- og analysekontor

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

IT-systemadministrator søges til GEUS