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 2  1 2      
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#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.809 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.428 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.112 Beiträge
 
Delphi 12 Athens
 
#4

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.655 Beiträge
 
Delphi 12 Athens
 
#5

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
 
#6

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.112 Beiträge
 
Delphi 12 Athens
 
#7

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
Benutzerbild von p80286
p80286

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

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
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.387 Beiträge
 
Delphi 10.4 Sydney
 
#9

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

  Alt 3. Nov 2014, 19:47
Wie kann ich das bitte unterbinden ohne dass ich ExtendedMetadata ausschalten muss?


wo schaltet man ExtendedMetadata ein/aus?

Wo zeigst Du den Boolean denn an (Checkbox,..)?
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#10

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

  Alt 3. Nov 2014, 19:59
Hallo zusammen,

wenn FireDAC nur Integer als Boolean umsetzten würde, würde ich das Verhalten
zähneknirschend akzeptieren. Es überrascht mich doch sehr dass FireDAC für
Boolean ein T/F in das Feld schreiben kann, jedoch keine Einstellung zur
Verfügung stellt aus T/F ein J/N oder was auch immer einzustellen.
Wie gesagt, IBO hat das vorgesehen wie so vieles.

@Lemmi,
Ich habe eine DB aus einem vorhandene Projekt. Die DB habe ich kopiert und
versuche Form für Form umzustellen von Delphi5 und IBO auf DelphiXE7 und FireDAC. Es kommt eine Menge Frust hoch weil die einfachsten Dinge nicht gehen. Aktuell geht es um eine einfache Form auf dieser das Grid von DevExpress platziert ist. In der Connection.Parameter gibt es eine Einstellung
um ExtendedMetadata zu aktivieren. Wenn das aktiv ist, wir die Domain AS_Bool
als Boolean interpretiert. Das Grid zeigt danach auch automatisch eine
Checkbox an. Wenn ich die Checkbox einchecke wird versucht in das Feld
ein T zu schreiben.


Gruß Kostas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz