Vinnaren i pepparkakshustävlingen!
2011-04-10, 20:15
  #1
Medlem
Hej

Har nedan kod som fungerar som den ska, men hur gör jag om jag vill kunna hämta info från mer än en tabell?

Kod:
con = new System.Data.OleDb.OleDbConnection();
            ds1 = new DataSet();

            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Test.mdb";
            string sql;

       
                ds1 = new DataSet();
                sql = "SELECT * From tblTest";
               
                da = new System.Data.OleDb.OleDbDataAdapter(sql, con);
                da.Fill(ds1, "Test");

Det funkar tyvärr inte att skriva sql = "SELECT * From tblTest, tblTest1";

Någon som kan hjälpa mig eller vet vart jag kan läsa om hur och om det funkar?
Citera
2011-04-10, 22:10
  #2
Medlem
Blackwolfs avatar
Jag kan totalt misstolka frågan för jag är lite bakis men om jag inte är helt ute och cyklar så får du joina tabellerna.

Exempel:

Select * from tabell1 innejoin tabell2 on tabell1.nyckel = tabell2.nyckel
Citera
2011-04-11, 07:38
  #3
Medlem
Aldains avatar
Ser dock inte ut som TS ämnar joina två tabeller, utan snarare vill hämta ut rubb och stubb från två tabeller på samma gång?

Om tabellerna ser likadana ut (samma antal fält, samma datatyper) eller du explicit hämtar ut samma fält från båda så kan du köra en union.
Kod:
//Union på allt
SELECT FROM Tabell1
UNION SELECT 
FROM Tabell2

//Union där vi hämtar ut vissa fält
SELECT IDField1 FROM Tabell1
UNION SELECT ID
Field1 FROM Tabell2 

Om tabellerna däremot ser olika ut/du behöver hämta ut olika fält från dem så kan man mig veterligen inte spara dem i samma dataset, då dess datatyper/fältnamn sätts utifrån vad du hämtar ut. I så fall får du använda två eller fler datasets, ett för varje tabell.
Med reservation för något skrivfel..
Citera
2011-04-11, 08:17
  #4
Moderator
Protons avatar
.NET -> Databaser /Mod
Citera
2011-04-11, 15:16
  #5
Medlem
Aldains avatar
Får ge mig själv en stor fet Byt ut DataSet mot DataTable i mitt svar ovan så blir det lite mindre vimsigt.

Ett par länkar:
http://pietschsoft.com/post/2004/08/...taAdapter.aspx
http://www.geekinterview.com/question_details/30972
Bästa sättet verkar vara att köra en adapter per tabell du vill läsa in.
Citera
2011-04-11, 18:36
  #6
Medlem
Tack för svaren och länkarna!

Fick det att funka med
Kod:
SELECT FROM Tabell1 UNION SELECT FROM Tabell2 
precis som Aldain skrev!

Återkommer om jag får mer problem...
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback