Entwickler-Ecke
Datenbanken - SQL: Update funktioniert nicht
Denny0110 - Fr 20.11.09 12:46
Titel: SQL: Update funktioniert nicht
Hi! :)
Ich möchte ein Adressbuch programmieren. Die Daten werden in einer Accessdatenbank abgespeichert. Um die Daten nach einer Änderung zu speichern, führe ich einen UPDATE-Befehl mit SQL aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TFRMABook.mnuSaveClick(Sender: TObject); begin DM.ADOQuery.SQL.Clear; DM.ADOQuery.SQL.Add('UPDATE AddressBook SET Titel="'</span>+EDTTitel.Text+<span class="codestring">'" and Name="'</span>+EDTName.Text+<span class="codestring">'" and FirstName="'</span>+EDTFName.Text+<span class="codestring">'" and Birthday="'</span>+EDTBDay.Text+<span class="codestring">'" and Street="'</span>+EDTStreet.Text+<span class="codestring">'" and AreaCode="'</span>+EDTACode.Text+<span class="codestring">'" and Town="'</span>+EDTTown.Text+<span class="codestring">'" and Country="'</span>+EDTCountry.Text+<span class="codestring">'" and MapLink="'</span>+EDTLocate.Text+<span class="codestring">'" and RouteLink="'</span>+EDTRoute.Text+<span class="codestring">'" and Phone="'</span>+EDTPhone.Text+<span class="codestring">'" and Mobile="'</span>+EDTMobile.Text+<span class="codestring">'" and Email="'</span>+EDTEmail.Text+<span class="codestring">'" and ICQ="'</span>+EDTICQ.Text+<span class="codestring">'" and MSN="'</span>+EDTMSN.Text+<span class="codestring">'" and Skype="'</span>+EDTSkype.Text+<span class="codestring">'" and Comment="'</span>+MEMComm.Lines.Text+<span class="codestring">'" WHERE ID="'</span>+LBLID.Caption+<span class="codestring">'";'); DM.ADOQuery.ExecSQL; Dm.ADOQuery.Close; end; |
Leider werden die Daten nicht gespeichert. Manchmal speichert er den Titel, aber wenn das passiert, dann auch nur ein einziges Mal. Wenn ich die Update-Anweisung auf 1 Element reduziere, funktionert es. Kann es sein, dass die SQL-Anweisung zu lang ist? Ich sehe es auch nicht ein für jedes Element eine eigene Anweisung zu schreiben. :twisted:
Vielen Dank im Voraus!
Denny
Moderiert von
Narses: Quote- durch Delphi-Tags ersetzt
Nersgatt - Fr 20.11.09 12:55
Müssen die Felder bei Access wirklich mit AND getrennt werden? :gruebel:
Sollte es nicht so aussehen:
SQL-Anweisung
1:
| UPDATE TABELLE SET Feld1 = Wert1, Feld2 = Wert2, Feld3 = Wert3 Where Bedinung |
Denny0110 - Fr 20.11.09 13:04
Oh, danke! Das hat funktioniert. :)
Ich hätte gedacht, in der Schule hätten wir das auch immer mir "and" gemacht. Normalerweise habe ich das immer mit "and" gemacht. Sei es drumm, jetzt geht es eben mit ",".
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!