sqlite 如何传入中文参数**********************************

god_sun 2010-03-26 05:23:26

int CChooseCommWnd::ShowQueryComm()
{
int RowNum = m_model.rowCount();
m_model.removeRows(0,RowNum);

QString Commdir = m_pCbComDir->currentText(); //这里从下拉表中获得当值,这里是中文
char sql[300];
sprintf(sql,"select aa from t_b_commodity_dir where dir_name='%s'",Commdir.toLatin1().data());
m_query->setQuery(sql); //总是没有结果,如果条件改成英文就是没问题
.....
.....
return 0;
}
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
god_sun 2010-04-01
  • 打赏
  • 举报
回复
谢谢,各位回答,我用 QString::apend 中文就可以了
tingsking18 2010-03-26
  • 打赏
  • 举报
回复
    QByteArray  sql = "select * from data where city ='上海'";
QString string = QTextCodec::codecForName("GBK")->toUnicode(sql);
tingsking18 2010-03-26
  • 打赏
  • 举报
回复
toStdString是不行的,因为他采用的是系统的字符集。
sqlite传中文要用unicode
encode一下转换成unicode就可以了
MicroSky2813 2010-03-26
  • 打赏
  • 举报
回复
Commdir.toStdString()

考虑下这么做。
  • 打赏
  • 举报
回复
应该是编码问题,虽然感觉Qt程序里面中文问题很麻烦
bsr2009 2010-03-26
  • 打赏
  • 举报
回复
原来的中文是什么编码的? 这种错误很可能跟编码有关系.

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧