u014251961
BGXM
采纳率100%
2015-03-08 03:48 阅读 2.2k

x64的系统上为什么QT 5.4.1可以打开32位的sqlite3 但是不能进行插入读出操作?

我用的是Qt 5.4.1 for Windows 32-bit (MinGW 4.9.1, 856 MB).sqlite3 32位的.

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("haha");
label->show();
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
bool ok = db.open();
if(ok)
{
QSqlQuery query;
bool aa = query.exec("insert into user values('xiaomei','actaction')");
query.exec("insert into user values('xiao','act')");
qDebug()<<aa;
QSqlQuery queryResult;
queryResult.exec("select name from user");
while(queryResult.next())
{
qDebug()<<"first "<<queryResult.value(0).toString();
}
}

return app.exec();

}

然后运行的时候输出false.就是可以打开数据库.但是都无法操作.不知道这是什么原因?之前在32位系统上都能正常运行.难道是我的这个系统是64位的原因吗? 如果不用sqlite3.sqlite好像也不行.同样的问题.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    u012216727 大河行脚 2015-03-08 05:29

    64位系统是向下兼容32位的,也就是支持32位的64位的都能运行的,所以和系统没有关系的;
    我想要不是读写权限问题;要不就是你数据库路径问题了

    点赞 评论 复制链接分享
  • u014251961 BGXM 2015-03-08 06:15

    是的.是我的数据库的路径问题..我的实际数据路的路径在A..我一直改B地方的数据库..所以表什么的不对.程序就没发读..我是用sqlite还不知道这个权限问题应该怎么处理.

    点赞 评论 复制链接分享

相关推荐