AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankeinträge aus mehreren Tabellen in einem DBGrid
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankeinträge aus mehreren Tabellen in einem DBGrid

Ein Thema von NoGAD · begonnen am 15. Mär 2021 · letzter Beitrag vom 17. Mär 2021
Antwort Antwort
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#1

Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 15. Mär 2021, 19:34
Datenbank: ABS_Database • Version: 7.92 • Zugriff über: ABSTable/ABSQuery
Hallo,

wieder einmal eine reine Anfängerfrage.

Ich habe eine Datenbank, in der z.B. 3 Tabellen gespeichert sind. Aus diesen Tabellen möchte ich nun über die jeweiligen ID den Inhalt in die Spalten eines DBGrid eintragen lassen.

Wo genau muss ich eine entsprechende SQL-Anweisung hinterlegen?

Meine erste Intuition wäre im OnFilterRecord der entsprechenden Komponente (TTable oder TQuery z.B.).

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 15. Mär 2021, 19:47
Literatur: https://www.w3schools.com/sql/sql_join.asp
SQL-Code:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 15. Mär 2021, 20:56
Danke für die Info.

Meine Frage war eher, wo im Code solch eine Anweisung untergebracht werden muss.

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#4

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 15. Mär 2021, 21:08
Im SQL.Text einer TQuery-(o. ä.)-Komponente.

Dort das SQL rein und Open aufrufen.

TQuery wird via TDataSource mit dem TDBGrid verbunden.
Delphi-Quellcode:
  Query.Close;
  Query.SQL.Text = 'SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID';
  Query.open;
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 15. Mär 2021, 22:29
Hallo nochmal,


es tut mir wirklich leid, ich verstehe das nicht.

Wenn ich meine Tabelle öffne, wird der Inhalt normalerweise automatisch im DBGrid abgebildet, weil zwei Komponenten verbunden sind. Das klappt bei einer Tabelle auch sehr gut.

Nun versuche ich aber die eine Tabelle in zwei aufzuteilen und muss demzufolge aus der ersten Werte auslesen und auch aus der zweiten Tabelle. Das DBGrid erlaubt doch aber nur aus einer Tabelle die Werte anzeigen zu lassen.

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 15. Mär 2021, 23:23
Das DBGrid erlaubt doch aber nur aus einer Tabelle die Werte anzeigen zu lassen.
An ein DBGrid kann auch eine Datasource gehängt werden die auf deine Query zeigt. Also im Grid die Datasurce hinterlegen und in der Datasource bei Dataset die Query hinterlegen.
Ich hoffe das hilft dir weiter.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 16. Mär 2021, 07:16
Oder anders ausgedrückt:
Verabschiede dich von der Komponente TTable und nimm TQuery und lerne SQL.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 16. Mär 2021, 07:55
Zitat:
Verabschiede dich von der Komponente TTable und nimm TQuery und lerne SQL.
+1

Und die Query+SQL sollten an einem "Platz" (DataModule etc.) untergebracht werden...und nicht über das ganze Programm verteilt.

Geändert von haentschman (16. Mär 2021 um 08:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 16. Mär 2021, 20:50
Danke euch allen.

Es hilft weiter

Lernen im höheren Alter fällt etwas schwerer

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#10

AW: Datenbankeinträge aus mehreren Tabellen in einem DBGrid

  Alt 17. Mär 2021, 10:16
Danke euch allen.

Es hilft weiter

Lernen im höheren Alter fällt etwas schwerer

LG Mathias
Ja, kenn' ich, es dauert etwas länger, ist dafür aber gründlicher und man hat mehr Zeit, niemand mehr jagt einen zu Ergebnissen, man muss nicht mehr liefern und hat mehr Zeit

Einfacher Einstieg in SQL: https://www.datenbanken-verstehen.de/sql-tutorial/

Einfach vom Beginn an durcharbeiten (nicht erstmal querlesen oder so, das verwirrt nur unnötig - autofahren lernt man auch nicht zuerst im Formel 1-Boliden bei Vollgas auf dem Nürburgring) und jeweils alles mit eigenen Daten und Tabellen ausprobieren, um jeweils zu sehen, wo wann genau was mit den Daten passiert. Das Verstehen kommt dann von alleine.

Am Ende hat man alles Wesentliche gelernt, was für den "alternden Normalverbraucher" erforderlich ist. Und: SQL ist in der Regel alles Mögliche, aber bestimmt kein Hexenwerk. Und garantiert einfacher, als objektorientierte Programmierung.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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