Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten überschreiben (https://www.delphipraxis.net/11809-daten-ueberschreiben.html)

Micha 14. Nov 2003 09:26


Daten überschreiben
 
Mal wieder ein Problem, dass für die meisten von euch ganz einfach ist, aber ich komm einfach nicht drauf.

Ich einem Edit-Feld wir eine Zahl reingeschrieben, durch einen Button wird diese in einer Paradox-Tabelle gespeichert und das Formular geschlossen.
Wenn ich das Formular nun wieder aufrufe, wird der Wert aus der Datenbank wieder ausgelesen und ins Edit reingeschrieben.
Möchte ich jetzt gerne die Zahl abändern und dann eben durch den Buttonklick wieder speichern, so legt er mir einen zweiten Datensatz an.
Ich möchte aber, dass der alte überschrieben wird.

Sollte zwar eigentlich recht simple sein, aber ich hab echt keine Ahnung, wie ich das anstellen soll.

Kann es sein, dass ich vorher irgendwie mit FindKey([id]) oder so arbeiten muss?
Oder vorher vielleicht die ganze Tabelle leeren?

Kann mir bitte wer helfen?

Minz 14. Nov 2003 09:44

Re: Daten überschreiben
 
Hallo,

also du must dir im klaren sein, welcher Datensatz gerade aktiv ist.

Welchen Code bentutzt du wenn du auf den Button klickst?

Gruß Minz

Micha 14. Nov 2003 09:46

Re: Daten überschreiben
 
Das ist mein Code für das Eintragen:

Delphi-Quellcode:
procedure Tdm_userverw.StdEintragen;
begin
// Dialogfenster: Sicherheitsabfrage vor dem Speichern
 if MessageDlg('Möchten Sie die Daten wirklich speichern?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
  Try
    With tbl_std_aendern do
    begin
      Open;
      FieldByName('schulek').AsString := dlg_std_aendern.edt_std_schulek.Text;
     Post;
// Fehlerausgabe
    end;
  Except
    on e:Exception do
    begin
      ShowMessage(e.Message);
    end;
  end;

end;
// schließt das Formular nach OK-Klick
   dlg_std_aendern.Close;
end;

Minz 14. Nov 2003 10:39

Re: Daten überschreiben
 
Hast du denn immer nur einen Eintrag in der Tabelle?

Oder welcher soll beim Öffnen deines Programms aktiv sein?
Der letzte? Dann probier mal Table.Last aus.

Gruß Minz

Achso: vielleicht würde dir auch eine TDBEdit-Komponente helfen.

Micha 14. Nov 2003 10:41

Re: Daten überschreiben
 
Ja, in dieser Tabelle steht nur der eine Eintrag.

Minz 14. Nov 2003 11:11

Re: Daten überschreiben
 
Naja dann kannst ja alles benutzen:

entweder Table.first
oder
Table.last
oder Table:=RecNo:=0; (glaub das fängt bei 0 an)

dann

Table.edit;
Table.FieldByName('Schulek').AsString:=Text;
Table.post;

einen neuen Datensatz sollte er da eigentlich nicht anlegen.

Gruß Minz


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz