Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Default Wert für MyBase "Datenbank" (https://www.delphipraxis.net/140754-default-wert-fuer-mybase-datenbank.html)

TonyR 25. Sep 2009 12:00

Datenbank: MyBase • Zugriff über: TClientDataSet

Default Wert für MyBase "Datenbank"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

ich weiß nicht ob ich die Brille nicht richtig auf habe, aber ich finde bei meiner MyBase-"Datenbank", die ich mit TClientDataSet erstellt habe keine Einstellung, mit der ich Boolean-Werten einen Default-Wert zuweisen kann.

Wenn ich nämlich einen neuen Datensatz anlege hab ich in den DBCheckboxes, die mit den Boolean-Werten arbeiten, schon ein Häkchen drin, was ich nicht möchte.

Danke im Vorraus,
Gruß Tony

TonyR 26. Sep 2009 11:23

Re: Default Wert für MyBase "Datenbank"
 
Weiß das denn wirklich keiner oder sind meine Formulierungen bzw. das auftretende Problem irgendwie unverständlich?

Gruß Tony

DeddyH 26. Sep 2009 11:25

Re: Default Wert für MyBase "Datenbank"
 
Was passiert denn, wenn Du AllowGrayed bei den DBCheckboxen auf false stellst?

[edit] aus = auf [/edit]

TonyR 26. Sep 2009 11:28

Re: Default Wert für MyBase "Datenbank"
 
Das ist Standardeinstellung, und bei AllowGrayed auf TRUE ändert sich nichts an vorhandenem Problem.

DeddyH 26. Sep 2009 11:32

Re: Default Wert für MyBase "Datenbank"
 
Ist denn bereits ein Datensatz geladen? Die Checkboxen sind nämlich nicht gecheckt, sondern ausgegraut, das ist schon ein Unterschied.

TonyR 27. Sep 2009 10:04

Re: Default Wert für MyBase "Datenbank"
 
Also Ich erzeuge mit dem "+" beim DBNavigator einen neuen Datensatz, gebe Werte ein und bestätige mit dem Haken beim DBNavigator, was den Datensatz ja spätestens speichern müsste.

In der XML-Datei werden übrigens nur Werte von DBCheckBoxes gespeichert, die ich durch Klicken verändert habe, unangetastete DBCheckboxes und über DBCheckBox.checked:=false veränderte Werte, werden komischerweise nicht in die XML-Datenbank gespeichert!

Und eben als Default-Wert ist für die Booleans der Datenbank oder für die DBCheckBoxes ein true festgelegt, was ich nicht gut finde.

Ich gehe davon aus, dass wenn die DBCheckBoxes grau sind, dann wurde ganz einfach deren Checked Status noch nicht durch Klicken geändert und wird demzufolge auch nicht gespeichert und beim Laden der Default Wert benutzt.

Ich wiederhol nochmal: Primäres Ziel wäre es diesen Default-Wert irgendwie zu verändern, aber ich habe keine Ahnung WIE, hab auch schon alle Eigenschaften von TCLientDataSet durchgesehen, konnte aber nichts derartiges finden :(

DeddyH 27. Sep 2009 10:08

Re: Default Wert für MyBase "Datenbank"
 
Ich habe mir jetzt eben MyBase angeschaut und musste feststellen, dass es dort anscheinend wirklich keine Möglichkeit gibt, einen Defaultwert festzulegen. Alternativen wären das Eintragen des Wertes per Code oder der Umstieg auf eine richtige DB, mehr fallen mir spontan nicht ein.

TonyR 27. Sep 2009 10:17

Re: Default Wert für MyBase "Datenbank"
 
Also wenn du da auch nichts gefunden hast, dann scheints wirklich so ... da ich nur wenige Datensätze verarbeiten will und das ganz und gar nichts professionelles werden soll, werde ich wahrscheinlich wieder typisierte Dateien verwenden, da hab ich wenigstens die volle Kontrolle über die Verarbeitung der Datensätze,
oder kennst du noch eine Alternative, die ähnlich simpel zu handhaben geht? (und vor allem ohne eine zusätzliche Software installieren zu müssen)?

DeddyH 27. Sep 2009 10:21

Re: Default Wert für MyBase "Datenbank"
 
Für "kleinere" Aufgaben sind typisierte Dateien IMO doch auch gut geeignet, es muss ja nicht immer eine DB sein.

TonyR 27. Sep 2009 10:26

Re: Default Wert für MyBase "Datenbank"
 
Nein, aber ich wollte mal was anderes probieren ...

BTW. kannst du dir vorstellen, warum die per Code geänderten Checked Werte bei den DBCHeckBoxes nicht in die Datenbank übernommen werden, die per Klick geänderten aber schon!?

Vor allem weil es die Änderung anzeigt, also wenn ich DBCheckBox1.checked:=false mache, dann ist diese CheckBox nicht mehr grau und der Haken ist raus, genau wie es halt passieren soll, jedoch wird diese Änderung nicht in die Datenbank eingespeichert, trotz des Drücken des Hakens beim DBNavigator :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 Uhr.
Seite 1 von 2  1 2      

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