AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N
Thema durchsuchen
Ansicht
Themen-Optionen

FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

Ein Thema von Kostas · begonnen am 3. Nov 2014 · letzter Beitrag vom 5. Nov 2014
Antwort Antwort
Seite 1 von 3  1 23      
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 15:21
Datenbank: Firebird • Version: 2,5 • Zugriff über: FireDac
Hallo zusammen,

ich habe in einer Firebird DB ein Feld vom Typ char(1) angelegt mit einem Check
J/N. FireDAC möchte unbedingt ein T/F schrieben. Wie kann ich das bitte unterbinden ohne dass ich ExtendedMetadata ausschalten muss?


Code:
CREATE DOMAIN AS_BOOL AS
CHAR(1) CHARACTER SET ISO8859_1
DEFAULT 'N'
NOT NULL
CHECK (VALUE IN ('J','N'))
COLLATE ISO8859_1;
Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#2

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 15:27
Kannst Du der jeweiligen Komponente nicht den Value für True bzw. False mitgeben?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#3

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 15:31
Moin...

wäre 0/1 als SmallInt (Firebird) nicht eleganter weil eindeutiger? Nach Boolean casten ist erst Recht nicht problematisch.
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 15:53
Kannst Du der jeweiligen Komponente nicht den Value für True bzw. False mitgeben?

Sherlock
Ja, ich übergebe True/False und FireDAC versucht T/F zu schrieben. Das geht
jedoch nicht weil ein Contraint (J/N) das verhindert. Ich möchte unbedingt
J/N schreiben denn es handelt sich um eine Anwendung die umgeschrieben wird
von Delphi 5 mit IBObjects auf Delphi XE7 mit FireDAC.
Das wird doch gehen zu bestimmen was true und false ist oder?

Gruß Kostas
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 15:55
Moin...

wäre 0/1 als SmallInt (Firebird) nicht eleganter weil eindeutiger? Nach Boolean casten ist erst Recht nicht problematisch.
Nein kann ich nicht. Ich habe auch weitere Boolean Felder in denen M/W
steht für Männlich/Weiblich In diesem Fall soll im Grid in der Zelle M
oder W stehen und nicht T oder F oder 1 bzw. 0

Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#6

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 16:01
Mir scheint, Du vermischst Daten und Darstellung. Ich kenne FireDAC nicht, aber dort gibt es doch bestimmt auch so etwas wie DisplayValues, oder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#7

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 16:06
Zitat:
wäre 0/1 als SmallInt (Firebird) nicht eleganter weil eindeutiger?
würde ich machen

http://www.firebirdsql.org/refdocs/l...pd15-case.html
und die Daten so ausgeben...
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 16:22
Hallo zusammen,

grundsätzlich möchte ich ExtendedMetadata verwenden wegen AutoInc u.s.w.
Ich könnte sicherlich eine Domain anlegen die nicht im Namen BOOL enthält
dann würde das Feld als String erkannt. Jetzt wird es als Boolean erkannt
und ich suche eine Möglichkeit bestimmen zu können wenn ich im DBCheckBox
anhacke der von mir bestimmte Wert in die DB geschrieben wird. Warum soll
ich 0,1 oder T,F schrieben und nicht True=Ja und False=Nein. Firebird kann
es und die IBO-Komponenten können das auch. Da kann ich für jedes Feld
Festlegen was der True Wert und was der False Wert ist.

Verstehe ich das jetzt richtig dass FireDAC mich hier beschneiden auf 0,1 bzw
T,F?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#9

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 16:50
Mangels reproduzierbarem Testfall kann ich auch nur raten, aber eventuell kannst du was mit den MapRules machen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: FireDAC erkennt Boolean schreibt jedoch T/F anstelle von J/N

  Alt 3. Nov 2014, 17:00

Code:
CREATE DOMAIN AS_BOOL AS
CHAR(1) CHARACTER SET ISO8859_1
DEFAULT 'N'
NOT NULL
CHECK (VALUE IN ('J','N'))
COLLATE ISO8859_1;
Boolsche Werte als J/N zu speichern halte ich für grenzwertig
Mir scheint, Du vermischst Daten und Darstellung.
Ich denke Detlef ist hier auf der richtigen Spur.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 00:41 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