Avatar billede Kim Neesgaard Seniormester
24. oktober 2005 - 16:21 Der er 6 kommentarer og
1 løsning

Aflæsning af værdier i et dataset

Dette er sikkert et enkelt spørgsmål, men ikke desto mindre har jeg søgt 'højt og lavt' efter svaret uden at være i stand til at finde det.

Eksempel:

Dim objConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.mappath("/DbTest.mdb") & ";")
objConn.Open()
Dim selectCommand As New OleDbCommand("Select navn, stilling from tblTable1", objConn)
Dim adapter As New OleDbDataAdapter(selectCommand)
Dim ds As New DataSet()
adapter.Fill(ds)

Nu har jeg et fyldt dataset, ds, som jeg kan databinde til fx et datagrid og det virker fint. Men hvis jeg nu ikke vil binde det til et datagrid, men blot aflæse værdierne i datasettet, hvordan gør jeg så det? Hvordan får jeg fx fat i navn og stilling fra ds svarende til første record af tblTable1?
Avatar billede arne_v Ekspert
24. oktober 2005 - 16:26 #1
prøv:

ds.Tables["tabelnavn"].Rows[rækkenummer]["kolonnenavn"]
Avatar billede Kim Neesgaard Seniormester
24. oktober 2005 - 16:36 #2
Så siger den:

Object reference not set to an instance of an object

?
Avatar billede arne_v Ekspert
24. oktober 2005 - 16:47 #3
adapter.Fill(ds, "tabelnavn")
Avatar billede arne_v Ekspert
24. oktober 2005 - 16:53 #4
// alt
            foreach(DataTable dt in ds.Tables)
            {
                Console.WriteLine(dt.TableName + ":");
                foreach(DataRow dr in dt.Rows)
                {
                    foreach(object o in dr.ItemArray)
                    {
                        Console.Write(" " + o);
                    }
                    Console.WriteLine();
                }
            }
            // enkelt værdi
            Console.WriteLine(ds.Tables["t1"].Rows[1]["f2"]);
Avatar billede arne_v Ekspert
24. oktober 2005 - 16:54 #5
og i VB.NET:

                        ' alt
            For Each dt As DataTable In ds.Tables
                Console.WriteLine(dt.TableName + ":")
                For Each dr As DataRow In dt.Rows
                    For Each o As Object In dr.ItemArray
                        Console.Write(" " & o)
                    Next
                    Console.WriteLine
                Next
            Next
                        ' enkelt værdi
            Console.WriteLine(ds.Tables("t1").Rows(1)("f2"))
Avatar billede Kim Neesgaard Seniormester
24. oktober 2005 - 18:59 #6
Hvor er du bare god - det har jeg ledt efter så længe!!

Når man skriver: adapter.Fill(ds, "tabelnavn"), så virker det perfekt!

Vil du lægge et svar?
Avatar billede arne_v Ekspert
24. oktober 2005 - 19:07 #7
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