Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Verwendung von DB-Komponenten (https://www.delphipraxis.net/191042-verwendung-von-db-komponenten.html)

Ykcim 1. Dez 2016 15:30

Datenbank: MySQL • Version: 5 • Zugriff über: UniDac

Verwendung von DB-Komponenten
 
Hallo Zusammen,

ich programmiere jetzt schon eine Weile mit Delphi und MySQL und habe in der Vergangenheit immer alles "von Hand" gemacht - habe keine DB-Komponenten verwendet.
Ich habe jetzt ein neues Projekt begonnen, indem diese verwendet werden sollen.

Ich habe: TDBAdvEdit;
TAdvDBComboBox;
TAdvDBDateTimePicker;

mit
TUniConnection;
TUniQuery;
TUniDataSource;
TMySQLUniProvider;
TDBAdvGlowNavigator;

verbunden und Feldern zugewiesen.

Die Daten werden korrekt angezeigt und über den Navigator kann ich auch die gewünschten Operationen durchführen.

Aber bei den ComboBoxen habe ich meine Probleme. Die verknüpften Felder beinhalten nur ID's, die auf andere Tabellen verweisen. Über left joins in dem SQL-Statement habe ich diese Verknüpfung auch hergestellt, sodass die korrekten Daten angezeigt werden und nicht die Integer. Aber ich bekomme das INSERT und UPDATE nicht gebacken. Insert / Update klappt bei allen Feldern, nur bei den ComboBoxen nicht.

Natürlich könnte ich das Update-Statement schreiben, indem ich jedem einzelnen Feld über einen Parameter die Daten des "Edits/ComboBox/DateTimePicker" gebe. Aber dann kann ich es je gleich wieder von Hand machen. Das Ganze funktioniert (außer bei den ComboBoxen) ja ohne das ich ein extra SQL-Statement schreibe...

Wie löst Ihr das mit DBComboBoxen?



Vielen Dank
Patrick

Uwe Raabe 1. Dez 2016 15:42

AW: Verwendung von DB-Komponenten
 
Für Verknüfungen eines Felds in eine andere Tabelle solltest du eine
Delphi-Quellcode:
TDbLookupComboBox
nehmen.

Ykcim 1. Dez 2016 16:02

AW: Verwendung von DB-Komponenten
 
Danke! Ich glaube, damit bekomme ich es hin.

Vielen Dank
Patrick

Ykcim 1. Dez 2016 16:17

AW: Verwendung von DB-Komponenten
 
Also mit einer TTntDBLookupComboBox habe ich das jetzt realisiert. Habe noch nie damit gearbeitet, aber es funktioniert.
Allerdings möchte ich lieber mit der TAdvDBLookupComboBox arbeiten. Das bekomme ich aber nicht hin. Mir fehlt das LISTFIELD.

Hat das schon jemand mit der TAdvDBLookupComboBox realisiert und kann mir einen Tipp geben?

Vielen Dank
Patrick

Ykcim 1. Dez 2016 16:41

AW: Verwendung von DB-Komponenten
 
ok, gelöst:
man muss unter Columns (TDBColumnCollection) eine Spalte anlegen und dieser kann man dann das ein Listfield zuordnen.
Unter LookupColumn der ComboBox gibt man an, welche Spalte nach das Auswahl angezeigt wird.

Gruß
Patrick


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