[gelöst] QSqlQuery liefer keine Daten.

Alles rund um die Programmierung mit Qt
Antworten
BigBiber89
Beiträge: 10
Registriert: 19. Oktober 2010 18:59

[gelöst] QSqlQuery liefer keine Daten.

Beitrag 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
Zuletzt geändert von BigBiber89 am 23. November 2010 19:34, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ein exec() liefert noch keine Daten. Siehe http://doc.trolltech.com/4.7/qsqlquery.html#details
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Re: QSqlQuery liefer keine Daten.

Beitrag 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
BigBiber89
Beiträge: 10
Registriert: 19. Oktober 2010 18:59

Beitrag von BigBiber89 »

Danke ist nun gelöst und habe meinen Fehler erkannt :)
Antworten