Entwickler-Ecke
Datenbanken - Fehler bei der Datenabfrage
rob87 - Di 16.12.08 16:48
Titel: Fehler bei der Datenabfrage
Ich will ein Delete-Query ausführen und anschließnd wieder in diese Tabelle Daten hineinschreiben.
Die Fehlermeldung die ich bekomme ist folgende:
Die zum Aktualisieren angegebene Zeile wurde nicht gefunden. EInige Werte wurden seit dem letzten Lesen ggf. geändert.
Ich vermute mal, dass irgendwo eine Transaktionsbestätigung fehlt:
Delphi-Quelltext
1: 2: 3: 4:
| bspquery.sql.text = 'delete from tabelle 1 where wert5 = 'xyz''; bspquery.execsql;
|
diese sache macht er aber immer nur wenn ich die tabelle nach dem programmstart ein zweites oder drittes mal füllen will. Beim ersten Mal hat er kein Problem???
Delete - Di 16.12.08 16:48
Zitat: |
Ich vermute mal, dass irgendwo eine Transaktionsbestätigung fehlt |
Ich auch *g*
rob87 - Di 16.12.08 16:53
DeddyH hat folgendes geschrieben : |
Zitat: | Ich vermute mal, dass irgendwo eine Transaktionsbestätigung fehlt |
Ich auch *g* |
Nur hab ich des bei der ADOQuery-Komponente ned. Hab kein "Qry.Transaction.Commit" oder "Qry.CommitRetaining". ??
Delete - Di 16.12.08 16:57
Ich habe heute kein Delphi zur Verfügung, ADO ist auch nicht meine Welt, aber schau mal bei der ADOConnection nach, ich könnte mir denken, dass es da so etwas wie StartTransaction und Commit gibt.
rob87 - Di 16.12.08 17:06
DeddyH hat folgendes geschrieben : |
Ich habe heute kein Delphi zur Verfügung, ADO ist auch nicht meine Welt, aber schau mal bei der ADOConnection nach, ich könnte mir denken, dass es da so etwas wie StartTransaction und Commit gibt. |
Ich hatte nun folgendes:
Delphi-Quelltext
1: 2: 3: 4:
| ADOConnection1.BeginTrans; QryLoeschen.ExecSQL; ADOConnection1.CommitTrans; |
Aber der Fehler bleibt nach wie vor :(
Delete - Di 16.12.08 17:11
Hältst Du evtl. im Updatequery noch Daten bereit, die Du gerade gelöscht hast?
rob87 - Di 16.12.08 17:33
DeddyH hat folgendes geschrieben : |
Hältst Du evtl. im Updatequery noch Daten bereit, die Du gerade gelöscht hast? |
Ach ich weiß bald gar ix mehr. Kann mich heut überhaupt nimma gscheid konzentrieren. Sorry..
Die Sache funktioniert so. Es gibt eine temporäre Tabelle. Diese wird zu Beginn teilweise gelöscht. Mit eben obigem Query. Beim Befüllen wird nun anhand gewisser Attribute geguckt, mach ich nen Insert oder nen Edit. Dann wird das ganze Gedönse wieder ausgelesen ;-)
Und bei dem Insert, bzw Edit hab ich halt nach jedem Datensatz ein Post; Aber auch kein Transaction.Commit... Ich kenn mich nimma aus. Ich geh jetzt dann heim... :lol:
MSCH - Di 23.12.08 12:43
schau mal nach Query.Refresh()
:-)Msch
rob87 - Di 23.12.08 13:59
MSCH hat folgendes geschrieben : |
schau mal nach Query.Refresh()
:-)Msch |
Hmmm.. Nun ja, ginge vermutlich auch. Aber des is die sicherste Variante. Und des bissal Performance, des dabei drauf geht is auch ned tragisch... Also dann frohe Weihnachten noch!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!