Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TADO Frage (https://www.delphipraxis.net/176973-tado-frage.html)

TheBeginners 8. Okt 2013 09:58

Datenbank: TADO • Version: 2008 • Zugriff über: ADO

TADO Frage
 
Moin,
ich bin schon seit längerem am lesen und testen einer ADO Datenbank
vllt kann mir jmd einen Tipp geben.
zb.

Ich erstelle eine leere Datenbank firma.mdb und erstelle mir dann 2 Tabelle

tabname 1 adress
Nr Name Vorname Tel Ort Str

tabname 2 artikel
Nr Artikel ArtNr Anz Preis


Mit ADOConnection1 verbinde ich die firma.mdb
Mit ADOTable1 verbinde ich die table adress / DataSource1.dataset ADOTable1
Mit ADOTable2 verbinde ich die table artikel / DataSource2.dataset ADOTable2

Nun will ich in den zwei tabellen mit JOIN suchen und anzeigen lassen.
ich verstehe noch nicht ADOQuery1, ADOQuery1.DataSource_? 1 oder 2 ???

Kann mir dabei jmd helfen ?


mfg

sx2008 8. Okt 2013 10:57

AW: TADO Frage
 
Bislang hast du nur zwei Tabellen die in keiner Beziehung zueinander stehen.
Du bräuchtest schon eine 3. Tabelle in der gespeichert wird welche Adresse bestimmte Artikel gekauft/bestellt hat.

Tabelle Bestellung
AdressNrArtNrAnzahlDatumTotalPreis
10047111506.08.201368.0
20047111013.09.201354.0
200471825013.09.2013187.5
Das Feld Anz gehört nicht in die Tabelle artikel (es sei denn du willst damit den aktuellen Lagerbestand festhalten)

TheBeginners 8. Okt 2013 12:20

AW: TADO Frage
 
Erstmal Danke für deine Antwort,

es mag schon sein das ich 3 Tables brauche, nur verstehe ich nicht wie ich mit
ADOQuery1 in 2 Tables suchen soll, wie ich die berbinden muss ?

stifflersmom 8. Okt 2013 12:33

AW: TADO Frage
 
Moin,

da wird Dir eine einfache SQL-Abfrage weiterhelfen.

Code:
select tabelle1.*, tabelle2.*
from tabelle1 left join tabelle2 on tabelle1.verknüpfungsfeld = tabelle2.verknüpfungsfeld
where tabelle1.abfragefeld = "bedingung"
order by tabelle1.sortierfeld
Moin

TheBeginners 8. Okt 2013 12:42

AW: TADO Frage
 
Soweit verstehe ich das, nur was ist mit
ADOQuery1.DataSource ? denn an ADOQuery1 muss ich doch die sql anweisung übergeben ?
oder nicht ?




mfg

DeddyH 8. Okt 2013 12:48

AW: TADO Frage
 
Tritt Deine ADOTables in die Tonne und nimm stattdessen ADOQueries, die Du mit der Datasource verknüpfst. Das SQL kannst Du bereits zur Entwurfszeit fest vergeben und die relevanten Felder als Parameter hinterlegen. Zur Laufzeit musst Du dann nur noch die Parameter mit Werten belegen und die Abfrage ausführen.

stifflersmom 8. Okt 2013 12:51

AW: TADO Frage
 
Na,
Du benutzt sie, wie bisher auch.
Mit Connection verbinden, dann den SQL-String (Deine Abfrage) zusammenbauen und dann öffnen.
Anschließend kannst Du dann auf die Daten in der Query zugreifen.
Möchtest Du die Daten mit den bordeigenen Steuerelementen benutzen, dann musst Du erst noch eine TDataSource mit Deiner Query und anschließend die Steuerelemente mit der TDataSource verbinden.

Nur Mut, das schaffst Du schon.

TheBeginners 8. Okt 2013 13:09

AW: TADO Frage
 
Danke...
jetzt habe ich genug infos, das teste ich erstmal.

TheBeginners 9. Okt 2013 10:27

AW: TADO Frage
 
@DeddyH

ich habe mal die Tables in die Tonne gehauen.
und so aufgebaut.

DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ADOQuery1
ADOQuery1.Connection = ADOConnection1
ADOConnection1.ConnectionString = ......


Und nun haut es auch mit der Abfrage hin, finde ich ganz nett,
so lerne ich mehr über sql Befehe. :cyclops:


Danke für eure Hilfe. :P
mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz