Hi Lothar, danke für die Antwort. Leider ist es nicht die Lösung des Problems, denn nach dem .first()-Aufruf ist der Status nach wie vor invalid und .at() liefert "-1". so what ?? --GERD-- lothar.behrens@lollisoft.de schrieb:
Am 1 Jun 2005 um 11:13 hat Gerd König geschrieben:
Hallo,
ich versuche mich gerade an einem ersten QT-Datenbank-Programm. Ich verbinde mich über ODBC an die DB und versuche ein einfaches select abzusetzen und mir die Daten anzeigen zu lassen.
Soweit so gut, aber nach Ausführen des Select's bekomme ich keine Daten, obwohl angeblich über 5000 Datensätze "affected" sind. query.at() liefert mir stets "-1", auch nach einem query.first().
Warum sagt mir query.isValid() "false", bzw. was genau sagt das aus ?
Die Datenbank ist ordnungsgemäß geöffnet und die Query wurde problemlos ausgeführt (query.isActive() = true).
Ich denke, die Daten werden auch angezeigt...
Wenn ja, denke ich, dass isValid erst true zurück gibt, wenn auch zu einem Datensatz gegangen wird (next/first/last/...)
Setze die erste qDebug Zeile hinter query.first().
Lothar
PS. Bin kein QT Programmierer :-)
code: .... if ( defaultDB->open() ) { QSqlQuery query = defaultDB->exec( "SELECT id, name FROM company"); qDebug("no. of affected rows: %d, isValid ? %d, isActive ? %d", query.numRowsAffected(), query.isValid(), query.isActive()); if ( query.isActive() ) { query.first(); qDebug("query is active, at: %d", query.at()); while ( query.next() ) { qDebug("ID:%d, name:%s",query.value(0), query.value(1) );
} } QMessageBox::about( this, tr("id, name"),qstr); } ....
für jede Hilfe dankbar.....GERD....
-- 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