下面一样的代码在WINDOS上面没问题但linux下查表操作一只是错的
- C/C++ code
db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("zhpy_table.db"); bool dd = false; QString key_value; QString display[200]; QString text; int num=0; int i=0; int j=0; int k=0; int index_text=0; int del; if (db.open()) { QSqlQuery query(db); query.prepare("SELECT * FROM zhcn WHERE py='jiang'"); [color=#FF0000] if(query.exec()) { qDebug()<<QObject::tr("query success!\n");//windows 下面没有问题 } else qDebug()<<QObject::tr("query failed!\n"); //linux 下面一直无法正常操作 [/color] QString tmp; while(query.next()) { tmp = query.value(2).toString(); display[num]=tmp; num++;//总的汉字个数 qDebug() << tmp; } }
如上述的 这段测试代码在windows下面可以顺利查表
但linux 下面可以了解 数据库,但执行查询语句 不能成功。
问题在那边?
------解决方案--------------------
setQuery("SELECT * FROM zhcn WHERE py='jiang'");
行么?
------解决方案--------------------
看一下 error Message 阿。query.lastError().text().toUtf8()