dbradiogroup
dbradiogroup
Hallo,
ich versuche mich neuerdings in Datenbankprogrammierung für ein kleines Projekt (Windows 7, 64bit, laz fpc 2.6.2, firebird 2.5. Ich habe ein Formular mit verschiedenen dbedit-feldern und einer dbradiogroup (Geschlecht) mit 2 items (männlich, weiblich). Wenn Eingaben gemacht und gespeichert werden, so füllen sich die dbedit-felder nach erneutem öffnen und verbinden mit der Datenbank, aber in der dbradiogroup bleiben die radiobuttons unchecked, obwohl in der Datenbank in dem Feld Geschlecht männlich oder weiblich gespeichert ist. Warum übernimmt die dbradiogroup nicht wieder den gespeicherten Wert? Ich suche schon seit Tagen und denke, das muss doch ganz einfach sein, aber ich komme nicht weiter.
HG drunblut
ich versuche mich neuerdings in Datenbankprogrammierung für ein kleines Projekt (Windows 7, 64bit, laz fpc 2.6.2, firebird 2.5. Ich habe ein Formular mit verschiedenen dbedit-feldern und einer dbradiogroup (Geschlecht) mit 2 items (männlich, weiblich). Wenn Eingaben gemacht und gespeichert werden, so füllen sich die dbedit-felder nach erneutem öffnen und verbinden mit der Datenbank, aber in der dbradiogroup bleiben die radiobuttons unchecked, obwohl in der Datenbank in dem Feld Geschlecht männlich oder weiblich gespeichert ist. Warum übernimmt die dbradiogroup nicht wieder den gespeicherten Wert? Ich suche schon seit Tagen und denke, das muss doch ganz einfach sein, aber ich komme nicht weiter.
HG drunblut
-
- Beiträge: 725
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: dbradiogroup
1.
D u musst datasotce und Datafield Eigenschaften richtig zuweisen
2.
Du hast bei Items-Eigenschaft Wahrscheinlich:
männlich
Weiblich
Eingegeben.
Jetzt musst du bei values-Eigenschaft entsprechende Datenbank Werte eingeben.
Wenn du Geschlecht feld als Smalltint definiert und für männlich 1 gilt dann für Values:
1
0
Eingeben.
D u musst datasotce und Datafield Eigenschaften richtig zuweisen
2.
Du hast bei Items-Eigenschaft Wahrscheinlich:
männlich
Weiblich
Eingegeben.
Jetzt musst du bei values-Eigenschaft entsprechende Datenbank Werte eingeben.
Wenn du Geschlecht feld als Smalltint definiert und für männlich 1 gilt dann für Values:
1
0
Eingeben.
Re: dbradiogroup
Hallo soner,
viele Dank für Deine Antwort. Die datasource Eigenschaften sind die gleichen wie bei den editfeldern. die datafield Eigenschaft weist auf das Feld Geschlecht in der Datenbank. Wenn ich in der dbradiogroup männlich anklicke, dann schreibt er in ein dbgrid, das ich auch auf der form habe die 1 rein, in der Datenbank wird ebenfalls 1 für männlich gespeichert. Wenn ich jetzt aber den Datensatz neu lade, so werden alle editfelder mit ihren Inhalten richtig angezeigt, nur in der dbradiogroup ist der button männlich wieder unchecked. Das ist doch merkwürdig, oder?
Gruß drunblut
viele Dank für Deine Antwort. Die datasource Eigenschaften sind die gleichen wie bei den editfeldern. die datafield Eigenschaft weist auf das Feld Geschlecht in der Datenbank. Wenn ich in der dbradiogroup männlich anklicke, dann schreibt er in ein dbgrid, das ich auch auf der form habe die 1 rein, in der Datenbank wird ebenfalls 1 für männlich gespeichert. Wenn ich jetzt aber den Datensatz neu lade, so werden alle editfelder mit ihren Inhalten richtig angezeigt, nur in der dbradiogroup ist der button männlich wieder unchecked. Das ist doch merkwürdig, oder?
Gruß drunblut
Re: dbradiogroup
Reicht denn eine 0 und 1 überhaupt? Ich habe mich den heutigen Zeiten angepasst und meine Geschlechtsauswahl dementsprechend angepasst
Weiblich
Männlich
Weiblich im männlichen Körper
Männlich im weiblichen Körper
Beides
Unbestimmt
Dazu kommt noch "Unbekannt", wenn das Geschlecht bei der Datensatzerstellung nicht bekannt ist und noch nachgetragen werden müßte.

Weiblich
Männlich
Weiblich im männlichen Körper
Männlich im weiblichen Körper
Beides
Unbestimmt
Dazu kommt noch "Unbekannt", wenn das Geschlecht bei der Datensatzerstellung nicht bekannt ist und noch nachgetragen werden müßte.
Re: dbradiogroup
ich übe nur und probiere Dinge aus, da muss man nicht gleich alle Probleme der Welt erfassen, oder? Hast Du vielleicht noch einen Tip für mich, wie ich das beschriebene Problem löse?
-
- Beiträge: 152
- Registriert: Mo 3. Feb 2014, 14:07
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: dbradiogroup
Um herauszufinden, wo dein Problem liegt, bräuchte ich :
1. Feldtyp in der Datenbank
2. mögliche Feldinhalte
3. Auszug aus der Formulardatei, um nachzusehen, ob in "Values" der RadioGroup auch das richtige drin steht
1. Feldtyp in der Datenbank
2. mögliche Feldinhalte
3. Auszug aus der Formulardatei, um nachzusehen, ob in "Values" der RadioGroup auch das richtige drin steht
.
Re: dbradiogroup
poste doch mal die ,lfm
-
- Beiträge: 725
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: dbradiogroup
In der Tat sehr merkwürdiges verhalten.
1.
Mach mal bitte die Angaben, die Baumina gesagt hat und dazu welche Db-Komponenten verwendest du SQLdb von Lazarus oder andere?
2. Hast du das Feld in der gleichen Tabelle definiert oder wenn du dass Feld in die Fb-Tabelle nachträglich hinzugefügt hat musst du update und insert SQL s anpassen.
3. Es hat mit dein Problem nicht zu tun aber da du gesagt hast, dass du beim lernen bist, aktualisiere Lazarus Dokumentation von Lazarus/docs/chm
Ordner. Sie sind alt, dort steht fast nichts über db-Komponenten. Gehe zu freepascal.org - Downloads Seite ganz unten steht Dokumentation download. Lade von irgendeine Seite (außer Sourceforge) als chm-Format und entpacke sie in den lazarus/docs/chm Ordner.
1.
Mach mal bitte die Angaben, die Baumina gesagt hat und dazu welche Db-Komponenten verwendest du SQLdb von Lazarus oder andere?
2. Hast du das Feld in der gleichen Tabelle definiert oder wenn du dass Feld in die Fb-Tabelle nachträglich hinzugefügt hat musst du update und insert SQL s anpassen.
3. Es hat mit dein Problem nicht zu tun aber da du gesagt hast, dass du beim lernen bist, aktualisiere Lazarus Dokumentation von Lazarus/docs/chm
Ordner. Sie sind alt, dort steht fast nichts über db-Komponenten. Gehe zu freepascal.org - Downloads Seite ganz unten steht Dokumentation download. Lade von irgendeine Seite (außer Sourceforge) als chm-Format und entpacke sie in den lazarus/docs/chm Ordner.
Re: dbradiogroup
Liebe Leute, ich habe es durch Eure Anregungen selbst hinbekommen!! Die Items sind string-Felder, deshalb hatte ich in der Datenbank auch char gewählt. Jetzt, wo ich das auf smallinteger geändert habe, funktioniert es. Wohl ein Anfängerfehler! Ich bin Euch sehr dankbar und habe wieder was gelernt!!! Danke!