Re: QT Cursor
Norbert Pilsl <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
hallo
danke für die Antwort.
Die Tabelle hat einen eindeutigen ersten Index.(Name="ID")
Muß auch der cursor.select() auf "ID" eingestellt werden?
>> 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:
>> > [email protected]
>> > Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
>> > Sie eine Mail an: [email protected]
>>
>> --
>> Lothar Behrens | Rapid Prototyping ...
>> Rosmarinstr 3 |
>> 40235 Düsseldorf | www.lollisoft.de
--
Mit freundlichen Grüßen
Norbert Pilsl
München
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]