Mailinglist Archive: opensuse-programming-de (97 mails)
| < Previous | Next > |
QODBC, query not valid ???
- From: Gerd König <koenig@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 01 Jun 2005 11:13:41 +0200
- Message-id: <429D7C45.4050507@xxxxxxxxxxxxxxxxxx>
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).
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....
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).
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....
| < Previous | Next > |