Einzelnen Beitrag anzeigen

Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Parameter mit NULL-Wert füllen

  Alt 21. Okt 2010, 10:01
Datenbank: Firebird • Version: 2.5 • Zugriff über: DBExpress
Moin,

ich hab eine Problem Parametern, die ich mit Null-Werten füllen möchte.
In der Regel mache ich das so:
Delphi-Quellcode:
q.ParamByName('BLA').Clear;
q.ParamByName('BLA').DataType := ftInteger;
q.ParamByName('BLA').Bound := True;
Das funktioniert auch ganz wunderbar.

Nun hab ich aber den Fall, dass ich den Datentyp nicht kenne. Die 2. Zeile kann ich also nicht füllen. Lasse ich sie weg, bekomme ich die Fehlermeldung:
Zitat:
Der dbExpress-Treiber unterstützt den Datentyp TDBXTypes.UNKNOWN nicht. Fehlermeldung des Herstellers: unknown ISC error 0.
Da ich den Feldnamen kenne, der gefüllt wird, könnte ich natürlich den Datentyp aus den Systemtabellen auslesen und entsprechend setzen. Aber den Aufwand möchte ich vermeiden. Insbesondere weil der Programmteil möglichst schnell laufen soll. Da wäre es nicht so schön, 100000 mal den Datentyp auszulesen.
Gibt es eine andere Möglichkeit, den Parameter auf NULL zu setzen, ohne Kenntnis des Datentyps?

Jens
Jens
  Mit Zitat antworten Zitat