SOLVED / SQL Update funktioniert nicht

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

SOLVED / SQL Update funktioniert nicht

Beitragvon Bernie110 » 10. Feb 2020, 18:03 SOLVED / SQL Update funktioniert nicht

Hallo Zusammen,

ich bin neu hier und habe sehr wenig Erfahrung im Umgang mit Lazerus und Pascal. Jedoch kann ich auf 10 Jahre MS Access zurückgreifen. :D
Habe leider niemanden, der mir das so von Grund auf beibringt. Muss mir alles via Google und Youtube irgendwie selbst bei bringen.
Nun bin ich an einen Punkt gelangt, an welchem mir die Suche im Netz so gar nicht weiterhilft.
Vorab, bitte verzeiht mir dumme und für euch selbstverständliche Fragen ;-) Ich hoffe so Neulinge wie ich sind hier willkommen. Wenn nicht bitte gleich sagen ;-) Danke.

So nun zu meinem Problem.

Ich habe ein kleines Projekt in Lazerus begonnen und gleich mal an eine MySQL DB angeschlossen.
Daten kann ich mir auch anzeigen lassen. Filtern kein Problem.... nur mit dem Update will und will es nicht funktionieren.
Er scheint aus welchen Gründen auch immer den SQL String nicht zu übergeben. Der Code läuft ohne Fehler durch. Im Ausgeführten Zustand, ändert er in Lazerus auch die Daten..nur auf dem SQl Server ändert sich nix.

Hier mal die Prozedur : Vll hat jemand nen Tip. Hab schon alles versucht.. mit Parametern ohne Parameter... Die SQL_ID.text lese ich aus dem Grid aus. Die wird auch richtig angezeigt.
Der SQL String sollte eigentlich so aussehen : update bestellungen set AB_bestaetigt_von = ''May Mustermann''' WHERE ID= 3; ..tut er auch ... hab es mit Showmessage überprüft. aber er scheint ihn nicht zuübergeben oder die Connection ist nicht vorhanden.. Keine Ahnung... wie gesagt.. ich bekomme keine Fehlermeldung... Vorab herzlichen Dank für eure Hilffe ! Lg Bernie

Code: Alles auswählen
procedure TFrmBestellung.BtSaveClick(Sender: TObject);
  var
    SQL: String;
   XID : String;
   XUser: String;
begin
 
 
  XUser:= SQL_AB_USER.text ;
  XID := SQL_ID.text)
 
  FrmSQLConnection.SQLQuery3.Close;
  FrmSQLConnection.SQLQuery3.SQL.Clear;
 
  SQL := ('update bestellungen set AB_bestaetigt_von = '''+XUser+''' WHERE ID= '''+XID+''';');
  FrmSQLConnection.SQLQuery3.SQL.ADD (SQL);
  FrmSQLConnection.SQLQuery3.ExecSQL;
 
 
  BitBtn1.setfocus;
  BtSave.enabled :=False;
 
  FrmSQLConnection.SQLQuery3.Close;
  FrmSQLConnection.SQLQuery3.SQL.Clear;
 
 
 
Zuletzt geändert von Bernie110 am 10. Feb 2020, 19:36, insgesamt 1-mal geändert.
Bernie110
 
Beiträge: 14
Registriert: 10. Feb 2020, 17:43

Beitragvon af0815 » 10. Feb 2020, 18:29 Re: SQL Update funktioniert nicht

Grundlagen u.a. hier https://github.com/afriess/LazInfos/blo ... zInfos.pdf

Was dir fehlt, findest du in Kapitel 5.1.1. unter 'wie kommen die geänderten Daten in die Datenbank' -> ApplyUpdates und Transaktionsmanagment. Ein Server ist keine DesktopDB.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3879
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon Bernie110 » 10. Feb 2020, 19:35 Re: SQL Update funktioniert nicht

af0815 hat geschrieben:Grundlagen u.a. hier https://github.com/afriess/LazInfos/blo ... zInfos.pdf

Was dir fehlt, findest du in Kapitel 5.1.1. unter 'wie kommen die geänderten Daten in die Datenbank' -> ApplyUpdates und Transaktionsmanagment. Ein Server ist keine DesktopDB.


Hi danke für deine Antwort. Das war es nicht.. Aber du hast mich auf den richtigen Gedanken gebracht ;-) also danke.. habs hinbekommen.
Lg Benrie
Bernie110
 
Beiträge: 14
Registriert: 10. Feb 2020, 17:43

Beitragvon relocate » 11. Feb 2020, 07:23 Re: SQL Update funktioniert nicht

Bernie110 hat geschrieben:Hi danke für deine Antwort. Das war es nicht.. Aber du hast mich auf den richtigen Gedanken gebracht ;-) also danke.. habs hinbekommen.
Lg Benrie


Könnte man der Nachwelt auch hinterlassen wo das Problem lag und wie die Lösung aussieht.
relocate
 
Beiträge: 50
Registriert: 24. Jan 2012, 11:47
OS, Lazarus, FPC: Win (L- FPC 2.4.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon Bernie110 » 19. Feb 2020, 06:47 Re: SQL Update funktioniert nicht

relocate hat geschrieben:
Bernie110 hat geschrieben:Hi danke für deine Antwort. Das war es nicht.. Aber du hast mich auf den richtigen Gedanken gebracht ;-) also danke.. habs hinbekommen.
Lg Benrie


Könnte man der Nachwelt auch hinterlassen wo das Problem lag und wie die Lösung aussieht.


Klar ;)

Das war mein ursprünglicher Code

FrmSQLConnection.SQLQuery3.Close;
FrmSQLConnection.SQLQuery3.SQL.Clear;

SQL := ('update bestellungen set AB_bestaetigt_von = '''+XUser+''' WHERE ID= '''+XID+''';');
FrmSQLConnection.SQLQuery3.SQL.ADD (SQL);
FrmSQLConnection.SQLQuery3.ExecSQL;


und das fehlte zum Schluss:
FrmSQLConnection.SQLTTransaction1.Commit;


Lg Bernie
Bernie110
 
Beiträge: 14
Registriert: 10. Feb 2020, 17:43

Beitragvon relocate » 19. Feb 2020, 08:20 Re: SOLVED / SQL Update funktioniert nicht

Danke.

Wie so oft.
Kleine Ursache, große Wirkung.
relocate
 
Beiträge: 50
Registriert: 24. Jan 2012, 11:47
OS, Lazarus, FPC: Win (L- FPC 2.4.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon af0815 » 20. Feb 2020, 06:48 Re: SOLVED / SQL Update funktioniert nicht

Wenn man das AutoCommit verwendet benötigt man das manuelle Commit nicht und funktioniert recht gut, wenn man kein Transaktionsmanagement benötigt.

AutoCommit wird je nach DB-Komponente (Connection) anders genannt/angesteuert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3879
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried