AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Dynamisches Datenbankinterface
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisches Datenbankinterface

Ein Thema von barnti · begonnen am 16. Jan 2004 · letzter Beitrag vom 16. Jan 2004
Antwort Antwort
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Dynamisches Datenbankinterface

  Alt 16. Jan 2004, 08:20
Hallo,
ich beschäftige mich seit einiger Zeit mit der Entwicklung eines DB-Interfaces. Ich benutze mysql und teste dafür zur Zeit die mysqlDAC. Ich versuche die Ansicht der Anwendung dynamisch aus der DB zu generieren. So habe ich z.B. eine Prozedut, die mir die TDBEdits generiert, wenn der Benutzer Daten einsehen, eingeben oder verändern möchte.
Um die Dateneingabe zu vereinfachen möchte ich für die Fremdschlüssel-Felder statt normalen TDBEdits TDBLookupComboBoxen bereitstellen. Ich dachte mir das folgendermaßen:

Wenn der Benutzer einen Datensatz in der DB abruft, werden erst die benötigten TDBEdits erzeugt und dem Datensatz entsprechend mit den zugehörigen Daten versehen. Klickt der Benutzer nun auf ein Editfeld dessen zugrundeliegendes Feld einem Fremdschlüssel entspricht, so soll das TDBEdit verborgen werden und statt dessen eine DBLookupComboBox sichtbar werden, die dem Datensatz entsprechend konfiguriert ist. So kann der Fremdschlüssel aus der verknüpften Tabelle gelesen und in den aktuellen Datensatz übernommen werden.

Mein Problem ist nun die Konfiguration dieser LookupCB. Um alle Attribute zu setzen brauche ich:

Datasource: Ok, ist die Tabelle die ich aktuell bearbeite

Datafield: Ok, identifiziere ich durch den Namen des zugehörigen Editfeldes

KeyField: Ok, ist wie Datafield, da es immer um Schlüssel-bzw Fremdschlüssel geht.

ListSource: ???

ListField: ???

Ich habe bisher keine befriedigende Lösung gefunden, wie ich die Listsource, ListField ermittle. Dafür benötige ich alle Fremschlüsselattribute der zu bearbeitenden Tabelle. Aber woher nehmen? Ich müsste also für jede Tabelle irgentwie die Fremdschlüssel bestimmen oder Speichern und das zugehörige ListField benennen...

Hat jemand von euch eine Idee, wie man das Problem angehen könnte? Lösungsvorschläge sind willkommen!

Gruß,

Barnti
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Dynamisches Datenbankinterface

  Alt 16. Jan 2004, 08:38
Ich habe keine Ahnung von mySQL, ich kann dir deshalb nur wage Empfehlungen geben.

Irgendwo wird auch mySQL Strukturdaten wie foreign keys, Spaltendefinitionen, ... ablegen.
Suche nach solchen Tabellen. Dann kannst du darauf Abfragen zu deiner Tabellen machen, aus deren Ergebnissen du dann deinen SQL-Code generierst.

Hoffe, ich konnte dir helfen...
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#3

Re: Dynamisches Datenbankinterface

  Alt 16. Jan 2004, 08:50
Hallo,

baue eine DataDictionary (Stichwort) ((DD)) dafür auf, wie Du die Tabellen, Beziehungen und Felder beschreibst.
Dann hat eine ComboBox einen Namen und dahinter sind Tabellen, Felder, Farbe, Property, etc.
Ein DD ist eine Ansammlung von Tabellen die wiederum Tabellen beschreibt.
  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 05:06 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