• 4897阅读
  • 3回复

[提问]QT数据库操作的问题 [复制链接]

上一主题 下一主题
离线lovemely
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-29
QSqlQuery query;
query.exec("select * from LOGINHISTORY where USERNAME like '%j%';");
if(!query.isActive())
{
   QMessageBox::about(this, mainWindowName, QString("查找错误\n出错原因:") + query.lastError().text());
}
就会报错:输入无效字符
但是我把select * from LOGINHISTORY where USERNAME like '%j%';语句单独拿到oracle就可以顺利执行
请问这是什么问题呢?该怎么处理?多谢!
离线wxj120bw

只看该作者 1楼 发表于: 2011-08-29
回 楼主(lovemely) 的帖子
将sql语句的分号去掉 尝试下
离线lovemely
只看该作者 2楼 发表于: 2011-09-02
回 1楼(wxj120bw) 的帖子
试了,还是不行。最后发现问题了,%在QT里会进行转换,比如如果引号内的字符串有%f,QT就会处理成0.0000
离线wxj120bw

只看该作者 3楼 发表于: 2011-09-02
回 2楼(lovemely) 的帖子
尝试下这样 query.exec(QString("select * from LOGINHISTORY where USERNAME like '%1j%2'").arg("%"),arg("%");
快速回复
限100 字节
 
上一个 下一个