Einzelnen Beitrag anzeigen

Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#1

Update zeigt keine Funktion

  Alt 1. Apr 2010, 11:04
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos
Hi Dp

ich hab mal wieder ein Problem mit meinem Firebird, und zwar versuch ich ein Update auszuführen, aber in der Datenbank nichts gespeichert wird, aber es taucht auch keine Fehlermeldung auf. Hier mal mein Code:

Delphi-Quellcode:
TheStream := TMemoryStream.Create;
if changed then
  if Application.MessageBox('Wollen sie die Änderungen speichern?', 'Änderungen', MB_YesNoCancel or MB_IconQuestion) = IDYes then
    begin
      ZConnection1.Connected := true;
      with ZQuery1 do
        begin
          SQL.Clear;
          Showmessage(inttostr(kid));
          Params.CreateParam(ftSmallint, 'id', ptInput);
          Params.ParamByName('id').Asinteger := kid;
          Params.CreateParam(ftWideString, 'sex', ptInput);
          Params.ParamByName('sex').AsString := cb_anrede.Items.Strings[cb_anrede.ItemIndex];
          Params.CreateParam(ftWideString, 'nn', ptInput);
          Params.ParamByName('nn').AsString := cb_nachname.Items.Strings[cb_vorname.ItemIndex];
          Params.CreateParam(ftWideString, 'vn', ptInput);
          Params.ParamByName('vn').AsString := cb_vorname.Items.Strings[cb_nachname.ItemIndex];
          Params.CreateParam(ftWideString, 'str', ptInput);
          Params.ParamByName('str').AsString := ed_strasse.Text;
          Params.CreateParam(ftWideString, 'plz', ptInput);
          Params.ParamByName('plz').AsString := ed_plz.Text;
          Params.CreateParam(ftWideString, 'ort', ptInput);
          Params.ParamByName('ort').AsString := ed_wohnort.Text;
          Params.CreateParam(ftWideString, 'ph', ptInput);
          Params.ParamByName('ph').AsString := ed_telefonr.Text;
          if ed_geburtsdatum.Text <> 'then
            begin
              Params.CreateParam(ftDate, 'geb', ptInput);
              Params.ParamByName('geb').Value := ed_geburtsdatum.Text;
            end
          else
            begin
              Params.CreateParam(ftString, 'geb', ptInput);
              Params.ParamByName('geb').Value := ed_geburtsdatum.Text;
            end;
          me_bemerkung.Lines.SaveToStream(TheStream);
          Params.CreateParam(ftBlob, 'mem', ptInput);
          Params.ParamByName('mem').LoadFromStream(TheStream, ftBlob);
          SQL.Add('UPDATE Kunden SET Name = :nn, Vorname = :vn, Strasse = :str, PLZ = 92431, ort = :ort, Phone =:ph, Geburtsdatum = :geb, Memo = :mem WHERE ID_KDNR = :kid;');
          ExecSQL;

        end;
    end;
Autocommit ist auf true gesetzt.
Wahrscheinlich ist der Fehler wieder ganz banal nur leider find ich ihn nicht, vllt seht ihr ja was.
Edit: Ich hab auch schon versucht einen festen Wert einzutragen, auch ohne Erfolg
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat