tabellen verbinden (asp.net/ado.net)

dji

Mitglied
hy leute
ich hab ne dringende frage!!

also, ich hab ne tabelle mit artikeln
dann hab ich ne tabelle mit preisen
und ne tabelle mit herstellern

die preise kann ich anhand der artikelnummer aus der artikel-db aus der preiseDB lesen
die hersteller anhand der herstellerID aus der preiseDB aus der hersteller DB lesen

ich will das aber alles zusammen anzeigen...
wie kann ich das am gesheitesten lösen?

kann ich nicht mehrere selects in einem Abfragestring machen?
oder irgendwie was verbinden oder so...sollte ja gehen mit ado.net

kann mir bitte jemand helfen?

danke und gruss
dji
 

Deemax

Erfahrenes Mitglied
Du brauchst nur einen SQL-Query schreiben der die Tabellen miteinander verbindet. Damit meine ich, da die Tabellen über Schlüssel miteinander in Beziehung stehen schreibst du eine SQL-Befehl der diese ausliest. Dafür empfehle ich dir einen inner join oder eine Verknüpfung über die where Klausel z.B where tabelle.pid1 = tabelle2.pid2 ....
 

dji

Mitglied
und das geht sicher in asp.net?

aber wie mach mir mal so einen select mit 3 tabellen...bitte

weil mir ist unklar wie ich nachher auf alle daten zugreifen kann...
also aus allen 3 tabellen...

ich will ja den preis aus der preistabelle, den hersteller aus der herstellertabelle und alles anderen infos aus der artikeltabelle...

ich kann ja nachher nicht hingehen und sagen
objver.item(artikelnummer)
er weiss ja dann nicht aus welcher DB...
und wenn ich nen Select mache der 1 tabelle betrifft, also select * from artikeltabelle
dann hat er ja eh nur die artikeldaten drinnen...und nicht den preis und den hersteller...
?
 

Paranoia

Erfahrenes Mitglied
Code:
SELECT a.artikelTxt, a.artikelNr, p.preis, h.hersteller
FROM artikel a, preise p, hersteller h
WHERE a.artikelNr = p.artikelNr
AND p.herstellerID = h.herstellerID

greetings para
 

dji

Mitglied
ich hab gedacht das funktioniert unter asp.net nicht mehr?!

na ja, man kanns janoch ein weiteres mal probieren

danke und gruss
 

Paranoia

Erfahrenes Mitglied
das ist ja nur ein ganz normaler sql query! da spielt es keine
rolle, mit welcher programmier-sprache du den ansprichst. den
query schickst du ja als string an di db. weiss grad nicht, wie
das in asp.net funktioniert. aber vielleicht hilft dir folgendes
asp-beispiel weiter:

Code:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.ConnectionString = "Data Source=" & Server.MapPath ("\db.mdb")
conn.open

sq = "Dein SQL-String"
rs.open sq, conn

ich denke mal, dass es in asp.net auch so was ähnliches gibt..

greetings para