ja, du menar följande?
dim objReader As SqlDataReader
myDD.Datasource = objReader
myDD.DataBind()
myDD2.Datasource = objReader
myDD2.DataBind()
detta ska nog fungera utmärkt... om inte kör med dataset
12 svar · 352 visningar · startad av piddy
Kan jag binda flera tabeller till en och samma DataReader,
så som man kan göra med ett DataSet?
ja, du menar följande?
dim objReader As SqlDataReader
myDD.Datasource = objReader
myDD.DataBind()
myDD2.Datasource = objReader
myDD2.DataBind()
detta ska nog fungera utmärkt... om inte kör med dataset
åh, egentligen blev min fråga nog något felställd...ursäkta!
innan jag initierar en DataReader gör jag följande:
dim objData as new OleDbCommand ("SELECT * FROM Tabell1)
Kan jag här välja att plocka ut info från flera tabeller, typ flera
SELECT * -satser efter varandra så att jag sedan i min DataReader kan välja vilken data som ska knytas till vilken webbkontroll?
Det är nog smidigare att du lägger din tabell i ett dataset istället och fyller respektive DDL med rätt kolumn:
DDL1.DataSource = ds.Tables["tabell1"];
DDL1.DataTextField = "kolumn1";
DDL1.DataBind();
DDL2.DataSource = ds.Tables["tabell1"];
DDL2.DataTextField = "kolumn2";
DDL2.DataBind();
ok! DataSetet kan jag alltså fylla med flera tabeller?
Hur ser koden ut då?
Jajemen, du kan ha flera tabeller i ett DataSet. Har du bara en tabell kan du använda DataTable istället. Lite förenklat:
DataSet ds = new DataSet();
myCommand1.Fill(ds, "tabell1");
myCommand2.Fill(ds, "tabell2");
DDL1.DataSource = ds.Tables["tabell1"];
DDL2.DataSource = ds.Tables["tabell2"];
och DDL står i detta fall för en...?
serverkontroll?
Jaa, det är en förkortning för DropDownList bara. Namnet (id) på kontrollen som ska fyllas alltså. :)
Kontrollen...
<asp:DropDownList id="DDL1" runat="server">
I koden...
DDL1.DataSource = ds.Tables["tabell1"];
Självklart sätter du ett bättre namn än DDL1 på kontrollen när du gör din sida!
p.s
är kontentan av det hela att man ska undvika DataReader när man vill hämta info från flera tabeller?
hmm... vill man hämta från flera tabeller är det ju snarare sql'en som ska sköta och binda ihop det.
Nja, det är väl inte så säkert, jag kan tänka mig många tillfällen då du vill ha två helt olika tabeller i ett dataset, det är ju inte ens säkert att det finns gemensamma data på ett sådant sätt att du kan joina dem i sql.
ok...
som jag förstod det vill du sätta ihop två tabeller (resultatset) till samma ds...
typ en UNION