Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zelleninhalte im DBGrid auslesen, vergleichen und mehr... (https://www.delphipraxis.net/116226-zelleninhalte-im-dbgrid-auslesen-vergleichen-und-mehr.html)

SeriousMax 25. Jun 2008 11:48

Datenbank: Access • Version: 2007 • Zugriff über: ADO

Zelleninhalte im DBGrid auslesen, vergleichen und mehr...
 
Meine Gruppe hat im Rahmen des Inormatik-Unterrichtes die Aufgabe erhalten, ein Programm mit Datenbank-Anbindung für die Verwaltung einer Weinstube zu Entwickeln. Nach der Planungsphase gingen wir zur Programmierung über, was bis zum Punkt der Datenbank-Anbindung auch gut funktionierte.

Nun haben wir das Problem, das für jeden Gast eines Tisches Bestellungen aufgenommen werden müssen. Wir wollten dies folgend Realisieren:
Der Gast, der etwas Bestellt wird über eine ComboBox ausgewählt, die Nummer des Produktes wird in ein DBEdit eingegeben.
Nun wollten wir mit einer Schleife die Zeile suchen, in der der Gast, der etwas Bestellt hat steht um in das benachbarte Feld das Produkt einzufügen.

Jedoch kennt DBGrid nicht die Eigenschaft "Cells", wie ein StringGrid.
Gibt es eine Eigenschaft, die mit dieser vergleichbar ist und unsere Anforderungen erfüllen kann?

zum besseren Verständniss füge ich noch Links von Bildern unseres Programmes hinzu:
Datenbank
Formulare
Quellcode
Programm im Betrieb

DeddyH 25. Jun 2008 11:54

Re: Zelleninhalte im DBGrid auslesen, vergleichen und mehr..
 
Hallo und Willkommen in der DP :dp: ,

eine DBGrid dient ja lediglich der Darstellung von Daten, die in der verknüpften Datenmenge enthalten sind. Diese Datenmenge wäre also der richtige Ansatzpunkt (das kann z.B. eine Table oder eine Query sein)

mkinzler 25. Jun 2008 11:55

Re: Zelleninhalte im DBGrid auslesen, vergleichen und mehr..
 
Ein Grid visualisiert nur Werte eines DataSets. Einfügen müsst ihr in dieses.

Privateer3000 25. Jun 2008 11:57

Re: Zelleninhalte im DBGrid auslesen, vergleichen und mehr..
 
Ich fürchte ihr sollte die DB erstmal normalisieren.
D.h. Gäste und Bestellungen in zwei tabellen ablegen
sowie tische und gäste trennen usw.

SeriousMax 25. Jun 2008 12:26

Re: Zelleninhalte im DBGrid auslesen, vergleichen und mehr..
 
@ DeddyH:
Okay, also müssen wir über SQL-Abfragen die Tabelle an sich nach der Zeile absuchen?
Die Bestellungen hätte ich schon direkt in die Tabelle und nicht ins das Grid eingefügt, aber das man nichtmal das was im Grid abgelegt ist auf Variablen legen kann Überrascht mich doch etwas... *grml*

@ Privateer3000:
Wir haben darauf verzichtet die GastID's noch Tischen zuzuweisen, da diese Einzigartig dem jeweiligen Tisch zugeordnet sind.
Was jedoch auch noch Probleme erzeugen könnte ist die Tatsache das wir die Bestellungen mit Semikolon abtrennen und die Datensätze dann etwa so aussehen könnten:

W024;S006;S047;G006

aber das ist dann ein anderes Blatt, nähmlich das der Normalisierung...

DeddyH 25. Jun 2008 12:29

Re: Zelleninhalte im DBGrid auslesen, vergleichen und mehr..
 
Zitat:

Zitat von SeriousMax
Okay, also müssen wir über SQL-Abfragen die Tabelle an sich nach der Zeile absuchen?

Ginge, Du kannst Dir aber auch mal die Methoden von Delphi-Referenz durchsuchenTDataset ansehen.

Privateer3000 25. Jun 2008 20:19

Re: Zelleninhalte im DBGrid auslesen, vergleichen und mehr..
 
Ihr müsst das alles an sich nicht absuchen
nach einer Sql-abfrage stehen die daten im dataset.
Ein db grid stellt immer die Daten dar, die im dataset stehen.
Ich vermute ihr wollt die Zeilen durchlaufen und eintragen.
Das ist nicht nötig.
Mit where-klauseln im sql könnt ihr die daten anzeigen lassen
die gewünscht werden.
Insert und updates lasst ihr entweder aus einem normalen Edit o.ä
mit sql eintragen.
Allerdings geht es auch mit dem Navigator (datenzugriff-komponente).

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 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