-
Vad tabellen heter i din databas har inget att göra med vad tabellen heter i ditt dataset, det vore inte logiskt att per automatik ge dem samma namn då det inte är samma sak.
-
Den största skillnaden mellan ett dataset och en datatable är att datasetet kan innehålla flera tabeller och ha relationer mellan dessa, den kan spegla en databas på ett helt annat sätt. En datatable är kort och gott en tabell med data och den har som Josef skrev färre funktioner.
hämta poster ur dataset
24 svar · 521 visningar · startad av Prästen · sida 2 av 2
Frågan, av Prästen
hej. jag får ett error när jag försöker hämta poster ur mitt dataset. string post=mittDataset.Tables["person"].Rows[0]["fornamn"].ToString(); error: Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. vet nån vad det kan vara för fel?.
Läs frågan i sin helhet →hmm men
string post=mittDataset.Tables[0].Rows[0]["fornamn"].ToString();
Tex. Där går det ju bra att ange ["fornamn"] . hur kan det komma sig?
Kolumnerna får namnet efter vad de heter i sql frågan. Skriver du tex så här
"SELECT [person].[fornamn] [b]as grr[/b], ...
då använder du
string post=mittDataset.Tables[0].Rows[0][[b]"grr"[/b]].ToString();
för att få ut förnamnet. Du kan även använda siffror, 0 = första kolumnen, 1 = andra kolumnen osv.
Anledningen till att det inte är samma med tabellnamnet skulle jag gissa är för att du i sql frågan kan använda join mellan flera tabeller och då blir det ju lite svårt att veta vilken tabell som skall ge sitt namn till tabellen med resultatet av frågan, så istället namnger du den som Network nämde
dataAdapter.Fill(dataSet, "person");
tjena mannen.
men detta ska faktiskt funka, jag har ju 2 böcker som säger samma sak. vad kan vara fel egentligen?.
asch, fel av mig det stämde faktiskt att man måste namnge tabellen :)
