ich möchte mit Qt (4.2) ein kleines MySql frontend bauen. Das ganze recht simpel, 2 QTextEdit Felder, das eine für die SQL Befehle, das andere in dem das Ergebnis steht (read-only).
Select queries schreibe ich dann in Feld2, in einen QTextTable. Drunter kommt noch die Info, wieviel Rows gefunden wurden - per query.numRowsAffected().
Klappt so weit gut, allerdings klappts nicht mehr bei z.b. update Queries. Da sagt mir numRowsAffected 0, und query.size() -1. Tatsächlich wurde aber z.b. eine Row aktualisiert (was ein nachfolgendes select zeigt).
Hat jemand nen Hinweis, wie man das ordentlich löst? Hatte erst die Idee QSqlResult zu verwenden, weil ich mir vorgestellt hatte dass dort in irgendeiner Form die Sql Rückgabemeldung drin steht. Aber so wies aussieht, ists auch nur der QSqlQuery Vorgänger.
Gibt es denn ne Möglichkeit, direkt auf die Meldungen von MySql zuzugreifen? Also bei "use [database];" oder "show tables;" kommt z.b. beim MySql Tool ne entsprechende Meldung ("Database changed" o.ä.). Müsste ich die selber bauen, oder sind die irgendwo als Auswertung enthalten?
Dann hätte ich noch eine 2. Frage. Wie oben schon beschrieben, kommen die Queryresults/records in ein 2. QTextEdit. Sofern es Records sind, kommen diese in eine Tabelle. Diese leg ich mit
cursor = textEdit.textCursor();
table = cursor.insert...
an. Klappt so weit auch, allerdings werden die Tabellen zum Teil an falschen Positionen eingefügt, wenn man z.b. im QTextEdit ein bisschen nach oben scrollt, und somit nicht ganz am Ende des Dokuments ist. Das liegt vermutlich daran, dass sich der cursor von textEdit.textCursor() nicht am Ende des Dokuments befindet, wenn man hochscrollt, und somit die Tabelle irgendwo in der Mitte eingefügt wird.
Damit das QTextEdit Feld nach dem füllen mit Queries automatisch nach ganz unten scrollt, setze ich den Cursor manuell ans Ende vom Dokument. Das würde mir vermutlich auch bei dem Problem der Tabellen mitten im Dokument helfen, indem ich den Cursor ans Ende schiebe bevor ich die Tabellen einfüge?
Ist das der korrekte weg, oder gibt es eine bessere Möglichkeit, im QTextEdit ans ende zu scrollen?
Danke im Voraus