Autor Beitrag
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Di 24.11.09 20:59 
Ich habe 2 Tabellen einer MS SQL Datenbank und greife auf diese mit ADO Komponenten zu.
Nun ist die Beziehung zwischen den Tabellen 1:n. Ich möchte also bspw. alle "Telefonnummern" zu jedem "Kunden" anzeigen.

- Ich verwende eine "ADOConnection1" um die Anbindung zur Datenbank zu schaffen.
- Des weiteren ein "ADODataSet1" in der als Connection die ADOConnection steht und die SQL Abfrage (select * from Kunden;).
- Außerdem eine "DataSource1" in der als Dataset das ADODataSet1 steht.
- und als Letztes ein "DBGrid1" in dem als Datasource die DataSource1 steht.

Benötige ich eventuell für die zweite Tabelle nun noch ein zweites ADODataSet2? und noch eine zweite Datasource? Ich habe hier das Konzept dieser komponenten noch nicht verstanden.

Wie realisiere ich die 1:n Verknüpfung?

Mit den besten Grüßen
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Mi 25.11.09 08:13 
Hi,

ändere doch das DataSet auf SELECT * FROM Kunden INNER JOIN Telefonnummern ON Kunden.KundenID = Telefonnummern.KundenID.

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Quake User Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Do 26.11.09 03:46 
Ich habe 2 DBGrid. In einem möchte ich alle Firmen anzeigen und im zweiten DBGrid möchte ich alle Telefonnummern zu der jeweiligen Firma anzeigen.

Ich benötige also sicher 2 Select Statements. Die Frage ist, ob ich dafür nun auch 2 ADODataSet benötige oder eventuell 2 DataSource?

Früher habe ich solche Master-Detail-Verknüpfungen mit Hilfe der BDE dadurch realisiert, dass ich die "MasterSource" eingestellt habe und mit dem "Feldverbindungsdesigner" die Datenfelder für die Keys ausgewählt und verknüpft habe.

Bei ADO, scheint das nun so nicht mehr zu funktionieren.
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Do 26.11.09 08:54 
Da würde ich dann das zweite Dataset für nehmen und mit dem Wert aus DBGrid1 als Parameter arbeiten.

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Quake User Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Mo 30.11.09 01:26 
user profile iconene hat folgendes geschrieben Zum zitierten Posting springen:
Da würde ich dann das zweite Dataset für nehmen und mit dem Wert aus DBGrid1 als Parameter arbeiten.


Hast Du ggf. ein kurzes Beispiel?
Quake User Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Mo 30.11.09 03:44 
Ich habe eine Lösung und ein relativ gutes Tutorial hier gefunden:
www.devarticles.com/...-ADOQuery-Component/