webForumDet fria alternativet

hämta från 4 tabeller samtidigt (datareader)

.NET

3 svar · 233 visningar · startad av Prästen

Medlem sedan dec. 2000537 inlägg
Frågan#1

Hej.

Kan man dra ur data ur 4-5 st tabeller till 1 enda datareader i samma SQL fråga?

Vore gött å få ett svar :)

Medlem sedan dec. 20003 563 inlägg
#2

Ja!

SELECT t1.id, t2.namn, t3.adress, t4.tele, t5.fax
FROM t1, t2, t3, t4, t5
WHERE 'du sätter ihop allt på något sätt'

Eller missuppfattar jag?

Medlem sedan sep. 20011 914 inlägg
#3

Jo då det går, i alla fall mot SQLServer andra vet jag inte. Skrev sql frågan i koden för tydlighets skull annars skall de ju ligga i en sp.

string s = "SELECT cc1_a, cc1_b, cc1_c FROM cc1 SELECT cc2_d, cc2_e, cc2_f FROM cc2";
SqlDataReader dr = SqlHelper.ExecuteReader(connG, CommandType.Text, s);
			
if(dr.HasRows){
   ArrayList arrCC1 = new ArrayList();
   ArrayList arrCC2 = new ArrayList();
   while(dr.Read()) {
      arrCC1.Add(new cc1(dr.GetString(0),dr.GetString(1),dr.GetString(2)));
   }
				
   dr.NextResult();
   while(dr.Read()) {
      arrCC2.Add(new cc2(dr.GetString(0),dr.GetString(1)));
   }
   dr.Close();
}
Medlem sedan dec. 2000537 inlägg
#4

uuuh. går det inte mot Accessen då?

och kan man sen göra nåt såhär kanske med datareadern?
namn=datareader["kunder.namn"].ToString();
stad=datareader["stad.orten"].ToString();

kunder.namn=tabellens namn, "namn" är namnet på raden inne i den
stad.orten=tabellens namn, "orten" är namnet på raden inne i den

det vore ju sött om detta gick, för då slipper jag använda flera SQL frågor.

och visste ni en sak, SQL server uttalas inte "esskuel server"
utan "sikuel server" , hehehee, kollade på MSDN .NET show, och lärde mig däääääär ;) ;)

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)