• 6063阅读
  • 4回复

[提问]急!!!Qt 数据库查询汉字时不显示啊!空的记录!代码如下: [复制链接]

上一主题 下一主题
离线isaacedvr
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-14
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —

QSqlQuery query;              
QString MyQurStr;        MyQurStr = tr("张三");        query.exec(  tr("SELECT * FROM TableQur WHERE name = '%1' ").arg(MyQurStr));
其中说明:"name VARCHAR NOT NULL"

且:QSqlError(-1, "", "") ; 这是QSqlError的输出

路过的给个建议,谢谢各位大侠了!!!!
离线ka1980
只看该作者 1楼 发表于: 2012-04-15
看看中文字符的设置!按钮上的中文字符能正确显示吗?
或者把查询的SQL语句输出看看,是否正确
离线wb19861202
只看该作者 2楼 发表于: 2012-04-15
你可以把sql语句打印出来,看一看参数是否正确!如果sql语句正确就是你数据库字符集设置的问题,如果不正确就是你qt项目汉字显示不正确!
离线isaacedvr
只看该作者 3楼 发表于: 2012-04-15
回 1楼(ka1980) 的帖子
都能正确显示出来。就是查询时,用汉字不行,而用英文可以正确查询
离线淳于半邪

只看该作者 4楼 发表于: 2012-04-16
tr().arg() ? 有这么写的?额
2楼说的方法很好
再者建议楼主这样写
QSqlQuery query;              
QString MyQurStr= QString::fromLocal8Bit("张三");    
QString szSql = QString("SELECT * FROM TableQur WHERE name = '%1' ").arg(MyQurStr));
if(!query.exec(szSql))
   return ;

快速回复
限100 字节
 
上一个 下一个