Einzelnen Beitrag anzeigen

Texas

Registriert seit: 15. Jul 2005
Ort: Laatzen
56 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Null als Parameter übergeben klappt nicht

  Alt 1. Apr 2009, 04:29
Datenbank: dBase • Version: Visual • Zugriff über: BDE
Hallo,
ich erzeuge mir aus einer Auftrags DB eine Arbeitsliste. In Diese trage ich dann die erledigten Aufträge mit dem Datum der Fertigstellung ein. Jetzt möchte ich die Auftrags DB aktualisieren sprich das Datum der Fertigstellung in die Auftrags DB schreiben. Dazu übergebe ich das Datum als Parameter an eine Query. Das klappt auch solange ein Datum eingetragen ist.
Wenn aber noch kein Datum eingegeben wurde dann schreibt die Query den 31.12.1899 in das FERTIG Feld. Wenn ich aber versuche einen null Parameter zu übergeben dann gibt es die Fehlermeldung NULL ist auf Datumsfeld nicht zulässig


Delphi-Quellcode:
var s : String;
    aufnr : Integer;

.........
Auftragsliste.first;
while not Auftragsliste.eof do begin
  s := datetostr(AuftragslisteFertig);
  aufnr := AuftragslisteAuftragNr;
  ........
  whith query1 do begin
    sql.clear;
    sql.add('update "AUFTRAG.DBF" set FERTIG = :FERTIG where AUFTRAGSNR = :AUFTRAGSNR');
    ParamByName('FERTIG').AsString := ''''+trim(S)+'''';
    ParamByName('AUFTRAGSNR').AsInterger := aufnr;
    ExecSQL;
  end;
  Auftragsliste.next;
end;
in Delphi 5 gab es bei den Parameter'n noch AsVariant
Delphi-Quellcode:
if trim(s) > 'then
  ParamByName('FERTIG').AsString := ''''+trim(S)+''''
else
  ParamByName('FERTIG').AsVariant := NULL;
oder gibt es das auch noch in D7 und ich habe vergessen eine Unit einzubinden ?
Gruß Texas
Michael
  Mit Zitat antworten Zitat