Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbank Feld über InputBox ändern (https://www.delphipraxis.net/183907-datenbank-feld-ueber-inputbox-aendern.html)

strom 12. Feb 2015 21:43

Datenbank: MySQL • Version: 5.1 • Zugriff über: MyConnection

Datenbank Feld über InputBox ändern
 
Hallo,

bekomme immer eine Fehlermeldung :(

MyTable1: Datenmenge weder im Editier noch im Einfügemodus!

Verstehe ich nicht?

Delphi-Quellcode:
procedure TForm1.BitBtn7Click(Sender: TObject);
var
 s: String;
begin
 MyTable1.Edit;
s := MyTable1.FieldByName('EINSATZNUMMER').Text;
 if InputQuery('InputBox', 'Geben sie einen Text ein!', s) then
 begin
MyTable1.FieldByName('EINSATZNUMMER').Text := s;
MyTable1.Post;
 end
else MyTable1.FieldByName('EINSATZNUMMER').Text := s;
 MyTable1.Post;
end;

himitsu 12. Feb 2015 21:54

AW: Datenbank Feld über InputBox ändern
 
In welcher Code-Zeile kommt die Meldung denn?

Und was ich nicht verstehe: Wenn man auf Abbrechen drückt, dann wird dennoch ein Wert zugewiesen und gespeichert? (in dem Fall hätte ich MyTable.Cancel erwartet)

Manuell lässt sich die Tabelle aber bearbeiten? z.B. über ein Edit oder Grid

Versuch es mal so
Delphi-Quellcode:
procedure TForm1.BitBtn7Click(Sender: TObject);
var
  s: String;
begin
  s := MyTable1.FieldByName('EINSATZNUMMER').Text;
  if InputQuery(Application.Title, 'Bitte die Einsatznummer eingeben.', s) then
  begin
    MyTable1.Edit;
    MyTable1.FieldByName('EINSATZNUMMER').Text := s;
    MyTable1.Post;
  end;
end;

Jumpy 13. Feb 2015 07:42

AW: Datenbank Feld über InputBox ändern
 
Die Fehlermeldung kommt, weil im else Zweig das begin...end fehlt und deswegen das zweite Post immer ausgeführt wird und somit ggf. 2x.


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