Re: QODBC, query not valid ???
Gerd König <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
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-- [email protected] 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: >> [email protected] >>Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken >>Sie eine Mail an: [email protected] >> >> > > > -- 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]