| Newsgroups |
gmane.linux.suse.programming |
| Message-ID |
<429DADB5.18451.11C2CF@localhost> |
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]
>
>
--
Lothar Behrens | Rapid Prototyping ...
Rosmarinstr 3 |
40235 Düsseldorf | www.lollisoft.de
--
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]