ich arbeite unter Windows XP (Qt 4.3.X) einer QSqlDatabase, die mit einer MySQL-Datenbank verbunden ist.
Geht auch alles wunderbar ausser den prepared Statements:
Code: Alles auswählen
QSqlQuery
sqlQuery.prepare("SELECT orderNumber FROM JobsCreditSuisse WHERE ID= ? ");
sqlQuery.addBindValue(1);
sqlQuery.exec();
"Using unsupported buffer type: 0 (p
arameter: 1) QMYSQL3: Unable to bind outvalues"
Über lastQuery() und executedQuery() bekomme ich genau das SQL-Statement incl. des "?" zurück. Kein Platzhalter wurde ersetzt.
Ich habe auch schon versucht:
sqlQuery.addBindValue("1");
sqlQuery.addBindValue(QVariant(1));
Ergebnis immer der gleiche Fehler. Was könnte falsch laufen.?
ein driver->hasFeature() liefert im konkreten Fall:
QSqlDriver::PreparedQueries TRUE
QSqlDriver::NamedPlaceholders FALSE
QSqlDriver::PositionalPlaceholders TRUE
Mit MSSQL funktioniert es so einwandfrei.
Danke für Tips, Gérôme