AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Default Boolean Wert in IBDAC
Thema durchsuchen
Ansicht
Themen-Optionen

Default Boolean Wert in IBDAC

Ein Thema von Morphie · begonnen am 6. Dez 2012 · letzter Beitrag vom 6. Dez 2012
Antwort Antwort
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#1

Default Boolean Wert in IBDAC

  Alt 6. Dez 2012, 07:55
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Moin,

ich habe in Firebird folgende Domain angelegt:
Code:
CREATE DOMAIN BOOLEAN AS
  SMALLINT
  DEFAULT 0
  NOT NULL
  CHECK (value in (0, 1));
Es ist also ein Defaultwert von 0 eingestellt.

Unter IBDAC habe ich in der Connection folgendes bei Data Type Mapping eingestellt:
Code:
Database Type: SmallInt
Field Type: Boolean
somit werden mir alle SmallInts als Booleans dargestellt.
Ich könnte ggf. auch die Option "BooleanDomainFields" in den ganzen Queries setzen, aber ich denke das macht für mich keinen Unterschied und hätte den Nachteil, dass ich es nicht mehr zentral für alle TIBCQueries verwalten kann.

Wenn ich jetzt einen neuen Datensatz via Insert zur Datenmenge hinzufügen möchte, haben die Booleanfelder einen undefinierten Zustand (Null)
Was muss ich wo einstellen, dass Booleanfelder standardmäßig auf false stehen?
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#2

AW: Default Boolean Wert in IBDAC

  Alt 6. Dez 2012, 11:10
Wenn ich jetzt einen neuen Datensatz via Insert zur Datenmenge hinzufügen möchte, haben die Booleanfelder einen undefinierten Zustand (Null)
Was muss ich wo einstellen, dass Booleanfelder standardmäßig auf false stehen?
Die Booleanfelder in deiner IBDAC-Datenmenge? Die Defaultwerte greifen erst dann, wenn der Eintrag auch tatsächlich in die Datenbank geschrieben & committet wird. Das funktioniert eigentlich immer, vorausgesetzt, 1. die Domain ist richtig definiert (scheint lt. deinen Angaben so), 2. das entsprechende Feld in der Table hat auch die Domain BOOLEAN
Gruß, Jan
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#3

AW: Default Boolean Wert in IBDAC

  Alt 6. Dez 2012, 11:18
Ja, ist beides der Fall.
Hänge ich mein Query dann z.B. an ein Grid, werden mir die Felder auch als Checkboxes dargestellt.
Speichere ich aber einen neuen Datensatz, ohne die Felder explizit auf true oder auf false zu setzen, bekomme ich die Meldung:
Code:
Feld 'BOOLEAN_FELDNAME' muss einen Wert haben.
Es liegt anscheinend daran, dass die Required-Eigenschaft des Feldes auf true steht, bzw. der Wert des Feldes null ist.

So wie ich das sehe, gibt es zwei Möglichkeiten:
1. Die Required-Eigenschaft auf false setzen. Bzw. NOT NULL aus der Domain entfernen
2. Den Wert der Felder standardmäßig (per Code) auf False setzen.

Beides unschön wie ich finde...
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Default Boolean Wert in IBDAC

  Alt 6. Dez 2012, 13:45
In der TIBCQuery unter Options DefaultValues auf True setzen, dann sollte es IMHO funktionieren.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#5

AW: Default Boolean Wert in IBDAC

  Alt 6. Dez 2012, 13:47
Ha! Jau, das wars!

Vielen Dank
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.
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