dbradiogroup

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
drunblut
Beiträge: 12
Registriert: Di 8. Dez 2009, 09:09

dbradiogroup

Beitrag von drunblut »

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

Soner
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

Beitrag von Soner »

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.

drunblut
Beiträge: 12
Registriert: Di 8. Dez 2009, 09:09

Re: dbradiogroup

Beitrag von drunblut »

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

Achtzig
Beiträge: 90
Registriert: Mo 15. Okt 2007, 13:09
OS, Lazarus, FPC: Debian
CPU-Target: xxBit

Re: dbradiogroup

Beitrag von Achtzig »

Reicht denn eine 0 und 1 überhaupt? Ich habe mich den heutigen Zeiten angepasst und meine Geschlechtsauswahl dementsprechend angepasst :wink:

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.

drunblut
Beiträge: 12
Registriert: Di 8. Dez 2009, 09:09

Re: dbradiogroup

Beitrag von drunblut »

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?

baumina
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

Beitrag von baumina »

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
.

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

Re: dbradiogroup

Beitrag von hde »

poste doch mal die ,lfm

Soner
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

Beitrag von Soner »

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.

drunblut
Beiträge: 12
Registriert: Di 8. Dez 2009, 09:09

Re: dbradiogroup

Beitrag von drunblut »

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!

Antworten