Seite 1 von 1

[gelöst] QSqlQuery liefer keine Daten.

Verfasst: 22. November 2010 23:10
von BigBiber89
Hier ist mein Code:

database = QSqlDatabase::addDatabase("QODBC");
database.setDatabaseName("D:\\myaccounts.dsn");
database.setUserName("...");
database.setPassword("...");

bool ok = database.open();

if(ok){
qDebug() << database.exec("SELECT * FROM accounts").boundValues().values();

QSqlQuery query(database);
query.exec("SELECT vorname FROM accounts");
qDebug() << query.record().value(1);
qDebug() << query.lastError();
}
Das Problem ist es werden keine Daten durch die Select Befehle geliefert es sind definitiv Daten in der Tabelle und einfügen mit INSERT INTO ist auch ohne probleme möglich nur mit SELECT geht es nicht ich kriege immer leere Werte zurück woran könnte das liegen?

Danke im Vorraus

Verfasst: 23. November 2010 06:32
von Christian81
Ein exec() liefert noch keine Daten. Siehe http://doc.trolltech.com/4.7/qsqlquery.html#details

Re: QSqlQuery liefer keine Daten.

Verfasst: 23. November 2010 17:01
von MichaelS
BigBiber89 hat geschrieben:Hier ist mein Code:


QSqlQuery query(database);
query.exec("SELECT vorname FROM accounts");
qDebug() << query.record().value(1);
qDebug() << query.lastError();
1. Solltest Du Deine Abfrage auf eine gültige Position setzen (next(), first()).

2. Fragst Du in Deinem SQL-Statement ein Feld ab, übergibst der Methode value() aber den Index 1 (also das zweite - nicht vorhandene - Feld).

Gruß Michael

Verfasst: 23. November 2010 19:33
von BigBiber89
Danke ist nun gelöst und habe meinen Fehler erkannt :)