Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Update auf ein Date Feld mit nichts(leer) DBIsam (https://www.delphipraxis.net/80397-update-auf-ein-date-feld-mit-nichts-leer-dbisam.html)

Bob68 8. Nov 2006 13:56

Datenbank: DBISAM • Version: 4.0 • Zugriff über: SQL

Update auf ein Date Feld mit nichts(leer) DBIsam
 
Hallo zusammen,
im Moment renne ich gegen eine Wand, und zwar benutze ich folgenden Code

Delphi-Quellcode:
close;
      sql.Clear;
      sql.Add('update datum1 set '
        + 'lie_datum1 = :lie_datum1 where id = 1');

  if Length(Trim(e_datum1.Text)) <> 0 then
        ParamByName('lie_datum1').AsDate := StrToDate(e_datum1.Text) // datum vorhanden
      else
        ParamByName('lie_preisbindung_bis').AsDate := ??????? ; // Feld leer

u.s.w.
Ich mache ein Üpdate auf das Feld lie_datum1 wenn das Editfeld nicht ller ist.(klappt)

Ok wenn das Feld nun leer ist oder ich kein Datum mehr haben möchte also leer was übergebe ich dann ??.

Danke Bodo

raiguen 8. Nov 2006 16:09

Re: Update auf ein Date Feld mit nichts(leer) DBIsam
 
Moin :-)
Check mal, ob's bei DBISAM die Param.Clear-Methode gibt...
Delphi-Quellcode:
ParamByName('lie_preisbindung_bis').Clear; // Feld leer bzw NULL zuweisen
ggf muss vorher evtl. noch der ParameterTyp expliziet gesetzt werden :gruebel:
Wie gesagt, nur eine Vermutung... (erstaunlicherweise gibt's die o.a. Methode bei der BDE-TQuery*wunder&staun*)

Bob68 8. Nov 2006 17:43

Re: Update auf ein Date Feld mit nichts(leer) DBIsam
 
Hallo raiguen,
danke für dein Antwort.

Delphi-Quellcode:
ParamByName('lie_preisbindung_bis').Clear;
Gibt es bei DBISAM klappt aber nicht.

Wenn ich die SQL von Hand eingebe
SQL-Code:
Update datum1 set lie_datum1 = null where id = 1
dann klappt es.

Die Frage ist wir übergebe ich ein null per Parameter auf ein Date Field.?
:wall:
Gruß
Bodo

marabu 8. Nov 2006 19:57

Re: Update auf ein Date Feld mit nichts(leer) DBIsam
 
Hallo Bodo,

so sollte es funktionieren:

Delphi-Quellcode:
with ParamByName('lie_preisbindung_bis') do
begin
  Clear;
  Bound := True;
end;
Grüße vom marabu

Bob68 8. Nov 2006 20:03

Re: Update auf ein Date Feld mit nichts(leer) DBIsam
 
Hallo marabu,
danke für deine Antwort aber es klappt leider immer noch nicht.

:wall:

marabu 8. Nov 2006 20:30

Re: Update auf ein Date Feld mit nichts(leer) DBIsam
 
Es ist die korrekte Vorgehensweise laut Dokumentation:

DBISAMParam : Properties : Bound
If the Clear method is used to bind the parameter to a NULL value, the Bound property must be separately set to True.

Vielleicht liegt der Fehler woanders?

Freundliche Grüße

Bob68 8. Nov 2006 21:30

Re: Update auf ein Date Feld mit nichts(leer) DBIsam
 
Danke marabu,
es fehlte noch

Delphi-Quellcode:
 ParamByName('lie_preisbindung_bis').DataType:=ftDate;
Gruß
Bodo


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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