[gelöst] DBGrid und Integer

Rund um die LCL und andere Komponenten
Antworten
php_Teufel
Beiträge: 4
Registriert: Mo 26. Nov 2012, 10:37

[gelöst] DBGrid und Integer

Beitrag von php_Teufel »

Hallo,

ich bin neu hier bei Lazarus und bin auf ein Problem gestossen, was ich nicht so ganz verstehe.

Ich habe eine SQLite-Tabelle, die ich in einem DBGrid bearbeiten möchte, als Datenbankverbindung benutze ich ZEOS.

Die Tabelle besteht aus folgenden Feldern:

feld1 : varchar(3)
feld2 : varchar(1)
feld3 : integer
feld4 : varchar(30)

Die Felder werden auch alle wunderbar mit Ihren Werten angezeigt, jedoch habe ich beim Bearbeiten bei dem Integer-Feld nur die Möglichkeit eine Ziffer einzugeben.

Was mache ich falsch? Oder handelt es sich hier um einen Fehler?

Würde mich über Hilfe sehr freuen.

Volker
Zuletzt geändert von php_Teufel am Di 26. Feb 2013, 10:20, insgesamt 1-mal geändert.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: DBGrid und Integer

Beitrag von hde »

Ein integer-Feld stellt eine Zahl dar, was außer Ziffern möchtest du denn dort eingeben?

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: DBGrid und Integer

Beitrag von m.fuchs »

Naja, vermutlich möchte er mehr als EINE Ziffer eingeben. Was bei einem Integer-Feld durchaus ein vernünftiger Wunsch ist. :D
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: DBGrid und Integer

Beitrag von hde »

und woran scheitert das? :wink:

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: DBGrid und Integer

Beitrag von m.fuchs »

Das ist die Frage, dazu müsste sich der OP mal äußern.
  • Kommt eine Fehlermeldung?
  • Erlaubt das Feld nur die Eingabe eines Zeichens?
  • Erlaubt es die Eingabe mehrerer, aber nur die letzte/erste Stelle wird gespeichert?
  • ...
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: DBGrid und Integer

Beitrag von Aliobaba »

...ich bin auch ein "Neuling", meines Wissens kümmert sich SQLite recht wenig um den Datentyp eines Feldes. Aber lies mal das:

http://www.ruhrtaler-softwareschmiede.d ... n-erzeugen

Speicherklassen

Beachtenswert ist, dass in dem Beispiel die einzige Spalte mit unterschiedlichen Datentypen gefüllt wird. SQLite verhält sich hier wie eine typenlose Sprache, z.B. JavaScript. Beim Anlegen der Tabelle wurde letztlich für die Spalte auch gar kein Datentyp explizit angegeben. Die Spalte nimmt stets den Datentyp entsprechend der literalen Repräsentation ihres aktuellen Wertes an. Einmal ist sie eine Zahl und dann wieder ein String usw. Aber selbst wenn man einen Datentyp für die Spalte explizit festgelegt hätte, z.B. "integer", könnte man noch immer beliebige Werte in die Spalte eingeben, also insbesondere auch einen String.


Entscheidend ist also vielmehr, wie Du die Daten dann im Programm weiter verarbeitest.
Provokant ausgedrückt: Erstmal alles Textfelder - und dann im selber geschriebenen Programm "alles richtig machen" :roll: :?:

Gruß
Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

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: DBGrid und Integer

Beitrag von Socke »

Aliobaba hat geschrieben:Entscheidend ist also vielmehr, wie Du die Daten dann im Programm weiter verarbeitest.
Der Punkt "im Programm weiter verarbeiten" ist bereits das DBGrid. Nach Meiner Meinung sollte bereits die Schnittstelle die für jede Seite der Schnittstelle richtigen/am besten geeigneten Datentypen verwenden. Das sind ist in diesem Falle die SQLite-API, die von ZEOS verwendet wird. Damit hier die richtigen verwendet werden, muss in allen Lazarus-Komponenten korrekte Einstellungen gegeben sein (die hier die ZEOS-Profis verraten können).
Aliobaba hat geschrieben:Provokant ausgedrückt: Erstmal alles Textfelder - und dann im selber geschriebenen Programm "alles richtig machen" :roll: :?:
Soviel zur Datenbanktheorie. Auch ein Anwendungsentwickler wird es einfacher haben, wenn die Daten in der ersten Normalform vorliegen. Diese sehe ich bei falschen Datentypen als verletzt an.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

php_Teufel
Beiträge: 4
Registriert: Mo 26. Nov 2012, 10:37

Re: DBGrid und Integer

Beitrag von php_Teufel »

Irgendwie hat es sich auf einmal erledigt, ich weiß nicht wieso aber es funktioniert. :D

Antworten