• 5091阅读
  • 1回复

QT sqlite 数据语句执行问题 [复制链接]

上一主题 下一主题
离线tt2com
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-12
关键词: QT4Linux数据
我按demo测试了一小段代码在window下面没有问题,但在linux执行一直不行
代码如下
  1. #include <QtCore/QCoreApplication>
  2. #include <QtSql>
  3. int main(int argc, char *argv[])
  4. {
  5.     QCoreApplication a(argc, argv);
  6.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  7.     db.setDatabaseName("zhpy_table.db");
  8.     qDebug() << db.isValid();
  9.     if (db.open())
  10.     {
  11.            bool ss = false;
  12.            QSqlQuery query(db);
  13.             //query.prepare("SELECT * FROM zhcn WHERE py='jiang'");
  14.            ss=query.isActive();
  15.             query.prepare(QString("SELECT * FROM zhcn"));
  16.             if(query.exec())
  17.                     qDebug()<<QObject::tr("query success!\n");
  18.             else
  19.                     qDebug()<<query.lastError().text().toUtf8();
  20.     }
  21.     return a.exec();
  22. }
,pro文件
  1. QT       += core
  2. QT       -= gui
  3. QT       += sql
  4. TARGET = sql_test
  5. CONFIG   += console
  6. CONFIG   -= app_bundle
  7. TEMPLATE = app
  8. SOURCES += main.cpp
出现错误
No query Unable to fetch row


我用qt自带demo在linux下面打开数据文件 是可以打开的,但我将demo上面打开数据文件的代码 复制在上面的测试程序中依然出现
No query Unable to fetch row
的执行错误。我google二天了,发现一些人和我一样的问题,都是可以连接数据库,但无法查询到数据库内的表,能找到的相同错误的帖子没看到最终解决的方法。


我的问题:
1 linux QT的database操作接口 是否需要做一些配置?如何配置?
2 我上述代码是否存在问题?
3 如果可能能否给一个linux下面可以使用 QSqlQuery 的最小demo?


离线tt2com
只看该作者 1楼 发表于: 2012-04-12
放了个SB错误,QT creater 编译好的app 将和code的文件夹是分开的
我的db文件放在code文件夹下面
快速回复
限100 字节
 
上一个 下一个