Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbanken durchsuchen und auflisten (https://www.delphipraxis.net/131897-datenbanken-durchsuchen-und-auflisten.html)

body2009 2. Apr 2009 03:00

Datenbank: MySQL • Version: 1.4 • Zugriff über: apache

Datenbanken durchsuchen und auflisten
 
Hallo Ich habe ein Problem.

Ich habe eine Datenbank mit zwei Tabellen

in der ersten Tabelle stehen Felder wie: Name, Vorname, u.s.w.

in der Zweiten Tabelle Stehen Felder wie: Name, CPU, RAM, u.s.w.

Ich arbeite mit Delphi und habe dort zwei Tabellen (DBGrid)eingebaut.
in der ersten Tabelle ( DBGrid 1 ) habe ich daten wie Name, Vorname drinne.
in der Zweiten Tabelle( DBGrid 2 ) habe ich daten wie CPU, Ram drinne.

meine Frage ist es jetzt wie bekomme ich das hin das ich in der Ersten Tabelle( DBGrid 1) einen namen anklicke
und er mir dann in der zweiten Tabelle( DBGrid 2 ) die PC's der Person auflistet/anzeigt.

Ich hoffe mir kann jemand helfen

RWarnecke 2. Apr 2009 05:13

Re: Datenbanken durchsuchen und auflisten
 
Hallo und herzlich willkommen in der DP :dp:

Den Namen aus DBGrid1 auslesen und in der zweiten Tabelle suchen über eine Query mit folgenden Befehl :
SQL-Code:
select * from tabelle2 where name='mustermann';
Die Query verbindest Du mit einem TDataset und das TDataset mit dem DBGrid.

body2009 2. Apr 2009 17:17

Re: Datenbanken durchsuchen und auflisten
 
könntest du mir auch den Delphi Code schreiben. Und bitte noch mal erklären denn ich arbeite mit den Zeos Access in delphi und bekomme das nicht so hin wie du mir das dort beschrieben hast er sagt immer wenn ich in den Feldeditor gehe "SQL Fehler Query was emty" wäre nett wenn mir das jemand erklären könte wie ich das mit Delphi und den Zeos Access hinbekomme.

RWarnecke 2. Apr 2009 17:35

Re: Datenbanken durchsuchen und auflisten
 
Du brauchst folgende Komponenten :
  • 1x TZConnection
  • 2x TZQuery
  • 2x TDBGrid
  • 2x TDataset
Nun verbindest Du im Objektinspector die beiden TZQuery mit der TZConnection. Dann verbindest Du jeweils eine TZQuery mit einer TDataSource, das gleiche machst Du nun noch mit TDataSource und TDBGrid. Im OI der einen TZQuery1 schreibst Du in die Eigenschaft "SQL" folgendes rein : (Tabelle1 = Kundenandressen/Tabelle2 = Hardwaretabelle)
SQL-Code:
SELECT * FROM Tabelle1;
In die zweite TZQuery2 schreibst Du ebenfalls in die Eigenschaft "SQL" folgendes rein :
SQL-Code:
SELECT * FROM Tabelle1 where Name=:spaltename;
Nun musst Du nur noch in der Procedure, wo Du den Inhalt der Spalte Name aus DBGrid1 ausliest folgendes reinschreiben :

Delphi-Quellcode:
var
  name : string;
begin
  { Auslesen des Namens der ausgewählten Zeile des DBGrid1 }
  TZQuery2.ParamByName('spaltename').AsString := name;
  TZQuery2.Open;
  { ... }
end;
Alles ungetestet, sollte aber funktionieren.

Edit 1 u. 4: Textkorrektur vorgenommen

Edit 2: Ich würde Dir vielleicht noch dieses Tutorial ans Herz legen. Darin ist die Funktionsweise der Zeos Komponenten sehr gut erklärt.

Edit 3: Oder dieses Tutorial.

Edit 5: In diesem Beitrag findest Du noch einen Hinweis wie Du den Wert des selketierten Datensatzes und des selektierten Feldes ermittelst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.

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