MySQL Enum<->TDBComboBox

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
pjensen
Beiträge: 77
Registriert: Fr 27. Jul 2007, 08:43
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Nahe Flensburg

MySQL Enum<->TDBComboBox

Beitrag von pjensen »

Hallo,

in einer MySQL Datenbank sind in einer Tabelle einige Spalten, die jeweils nur eine
kleine Anzahl von möglichen Einträgen enthalten sollen.

Z.B. Spalte-Hersteller: Audi, VW, BMW, Mercedes

Laut google nimmt man dafür am besten den Datentyp "ENUM"
http://dev.mysql.com/doc/refman/5.0/en/enum.html" onclick="window.open(this.href);return false;


Frage 1: Habe ich das richtig verstanden?

Im Prog soll der user hierbei die Daten verändern können,
z.B. mit einer ComboBox.

Frage 2: Wie lese ich die möglichen Daten (Audi, VW, BMW, Mercedes)
in die TDBCombobox aus dem ENUM ein?

(Ich möchte diese nicht im Prog fest verdrahten (Items[1]:='BMW'......), sondern
die Möglichen Werte aus dem ENUM auslesen.




MfG, Peter

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: MySQL Enum<->TDBComboBox

Beitrag von Socke »

Antwort 1: Ja, du hast das richtig verstanden. Aber der Typ ENUM ist soweit ich weiß nicht SQL-Standard und damit MySQL-Abhängig.

Antwort 2: Ob das mit ENUM geht, glaub ich nicht, da Antwort 1. Gibt zu den Controls aber sicher qualifiziertere Menschen als mich hier im Forum. Auslesen an sich sollte mit normalen SELECT funktionieren, da der Wert, den du eingetragen hast, zurückgegeben wird.

In einer relationalen Datenbank (also mit Tabellen) könnte man eine Tabelle mit den ganzen Herstellern einrichten und in die eigentliche Tabelle nur noch die Fremdschlüssel eintragen. Dann können zur Laufzeit (und vor allem nach erstellen der Tabelle) auch noch neue Auto-Hersteller definiert werden. Ich bin mir aber fast sicher, dass die Controls noch eine menge Möglichkeiten bieten, die ich nicht kenne :D
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten