Am 24 Sep 2005 um 18:26 hat Norbert Pilsl geschrieben: Hi, ist's das ?: If the cursor does not have a unique primary index, update and deletes cannot be performed. Lothar
hallo
Könnte mir bitte jemand sagen warum das nicht funktioniert:
QSqlCursor cursor("tabelle"); cursor.select("MR='"+s+"'"); QSqlRecord *record = cursor.primeUpdate(); QMessageBox::information( this, "Achtung","vorher: " + record->value("Bemerkung").toString()); record->setValue("Bemerkung",b); cursor.update(); QMessageBox::information( this, "Achtung","nachher: " + record->value("Bemerkung").toString());
Das Teil soll eine neue Bemerkung in die Tabelle schreiben. Der Code wird nur angesprungen wenn der Datensatz existiert. Die Feldnamen sind richtig geschrieben. Die Message Box gibt die Werte so aus wie man es erwartet. (Vorher den alten Wert, nachher den neuen) Nach diesen Code wird nicht mehr auf die Tabelle zugegriffen. Der Code steht am Ende einer Funktion, also cursor und record werden gelöscht. Wenn ich die Ãnderung mit einer normalen Abfrage (UPDATE ....) schreibe funktioniert es. Nur mit QSqlCursor nicht.
ich sitze nun schon den ganzen tag an diesen zeilen. Vielen dank im voraus mfg
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
-- Lothar Behrens | Rapid Prototyping ... Rosmarinstr 3 | 40235 Düsseldorf | www.lollisoft.de