• 8247阅读
  • 6回复

QSqlQuery的exec总是返回false [复制链接]

上一主题 下一主题
离线tangooricha
 

只看楼主 正序阅读 楼主  发表于: 2012-07-31
我写了如下代码:

QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE");
QSqlQuery query;
db.setDatabaseName("testdb.sqlite");
db.open();
query.setForwardOnly(true);
if(!query.exec("SELECT name FROM sqlite_master WHERE name='mytable'"))
{
    exit(1);
}

结果程序退出时总是返回1,debug后发现是query.exec()总是返回false。所用数据文件SQLite Database Browser可以打开,以上的SQL语句也验证过可以正确执行。请教高手,我哪里写得有问题
离线cti0000
只看该作者 6楼 发表于: 2012-08-03
数据库版本过高。你可以手动建表。我也碰到过这种情况。
离线tangooricha

只看该作者 5楼 发表于: 2012-08-01
输出是"out of memory Unable to execute statement"
离线XChinux

只看该作者 4楼 发表于: 2012-08-01
看看query.lastError().text()
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线bingege

只看该作者 3楼 发表于: 2012-08-01
QSqlQuery query(db)
离线tangooricha

只看该作者 2楼 发表于: 2012-07-31
我加上了
if(!db.isOpen())
{
    exit(1);
}
确认数据库已经打开了,但是问题依旧!
离线XChinux

只看该作者 1楼 发表于: 2012-07-31
你确认数据库打开了吗?db.isOpen()
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个