Qt-Qt在使用QSqlQuery时提示 QSqlError(
原创
©著作权归作者所有:来自51CTO博客作者疯狂Delphi的原创作品,请联系作者获取转载授权,否则将追究法律责任
问题现象:
之前都是直接使用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指定库
搜索
复制