ich bin neu hier, schwöre aber, das ich die Sufu und google schon bemüht habe. Vielleicht liegts an den falschen Suchbegriffen, oder es hat wirklich noch keiner damit rumexperimentiert.
Vorab, ich bin in english leider nicht so bewandert und daher hilft mir die doch ziemlich umfangreiche Doku von Trolltech nicht wirklich weiter :/
zum Problem :
ich verbinde per
Code: Alles auswählen
QSqlDatabase db_mdb = QSqlDatabase::addDatabase( "QODBC", "MSAccess");
bool ok = db_mdb.open();
Code: Alles auswählen
QSqlQuery queryMysql( db_mdb);
Code: Alles auswählen
queryMysql.exec( "SELECT * FROM adressen");
Code: Alles auswählen
queryMysql.size(); -> -1
queryMysql.numRowsAffected(); -> 0
QSqlRecord record = queryMysql.record();
record.count(); -> 178
Code: Alles auswählen
QODBCDriver::checkHasSQLFetchScroll: Warning - Driver doesn't support scrollable result sets, use forward only mode for queries
Es wäre nett, wenn mir einer helfen kann, da ich die MS Access daten in einer MySQL DB weiterhin transparenter verwenden möchte und mir diese MS Datenbanken mit ihrer unflexibilität eh stinken.
vielleicht noch was zum abfragen der ergebnisse :
wenn ich die Zeilen so versuche auszulesen :
Code: Alles auswählen
for( i = 0; i < record.count(); i++)
{
qDebug() << QObject::trUtf8( "Zeile : %1").arg( i) << queryMysql.value( record.indexOf( record.fieldName( i))).toString();
}
Code: Alles auswählen
QSqlQuery::value: not positioned on a valid record
"Zeile : 0" ""
QSqlQuery::value: not positioned on a valid record
"Zeile : 1" ""
...
QSqlQuery::value: not positioned on a valid record
"Zeile : 178" ""
Code: Alles auswählen
while( queryMysql.nextResult())
{
qDebug() << QObject::trUtf8( "Zeile : %1").arg( i) << queryMysql.value( record.indexOf( record.fieldName( i))).toString();
i++;
}
Danke schonma für die Hilfe und das geduldige durchlesen meines Posts
CAD