Qt-Qt在使用QSqlQuery时提示 QSqlError("", "Unable to fetch row", "No query")?
问题现象:
之前都是直接使用QSqlQuery的,如下代码:
QSqlDatabase db; if(QSqlDatabase::contains("qt_sql_default_connection")) db = QSqlDatabase::database("qt_sql_default_connection"); else db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("d:\XXXXX.db"); if(!db.open()) throw db.lastError().text(); else { QSqlQuery query; query.prepare("select * from XXX"); if(!query.exec()) qDebug() << query.lastError().text(); else return query; }
但是有一天,突然同样的代码转到另一个工程后,发现会提示“QSqlError("", "Unable to fetch row", "No query")”。
问题原因:
我的理解是可能是没有指定联接库,可能这个库有作用范围。
如果有大神知道原因的,请联系作者,十分感谢!
问题处理:
QSqlDatabase db;
if(QSqlDatabase::contains("qt_sql_default_connection"))
db = QSqlDatabase::database("qt_sql_default_connection");
else
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("d:\XXXXX.db");
if(!db.open())
throw db.lastError().text();
else
{
QSqlQuery query(db);// 给query指定库
query.prepare("select * from XXX");
if(!query.exec())
qDebug() << query.lastError().text();
else
return query;
}
作者:疯狂Delphi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
欢迎关注我,一起进步!扫描下方二维码即可加我