Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
801 Beiträge
 
Delphi 11 Alexandria
 
#1

IBDAC: In der DB sind Leerstrings statt Null. Alternativen?

  Alt 14. Okt 2010, 11:25
Datenbank: Firebird • Version: 2.x • Zugriff über: IBDAC
Hallo,

ich verwende die IBDAC-Komponenten von Devart um auf Firebird zuzugreifen. Leider habe ich erst jetzt gemerkt, dass leere Strings/Null-Werte nicht richtig behandelt werden. Wenn ich das hier verwende

Code:
IBCTable1.FieldByName('myField').AsString := '';
wird das Feld mit einem leeren String gefüllt. Ich möchte aber Null im Feld stehen haben. Das passiert auch wenn ein leeres DB-Edit gepostet wird. Alle mir bekannten Kompoenten z.B. BDE oder IBX schreiben in diesen Fällen Null in die DB. Darauf ist meine ganze Anwendung ausgelgegt (2 Mio Zeilen). Ich verwenden oft Code wie if IBCTable1.FieldByName('myField').isNull

Das funktioniert nun natürlich nicht mehr wie gewüscht, da IBDAC Leerstrings und nicht Null in die DB schreibt. Jetzt meine ganze App mit allen SQL-Statements zu ändern ist zu umständlich. Wer kennt Lösungen? Ich hab den Wunsch schon an IBDAC herangetragen, doch da passiert seit Monaten nichts in der Richtung.

Wer kennt eine gute Alternative zu IBDAC (Firebird 2.x, Unicode), die in den genannten Fällen Nullwerte schreibt?

Geändert von mkinzler (13. Sep 2019 um 07:49 Uhr) Grund: Titel angepassst, da missverständlich
  Mit Zitat antworten Zitat