QT学习笔记之QT与MySql的交互

写在前面

临近毕业,最近闲的开始做毕设了。昨天玩了一天的登陆页面,好嘛!今天又让我玩了一天的注册页面,还让不让人愉快的看片了!额,扯多了,开始正文。

问题描述

注册嘛?输入账号,密码后,还要输入自己的姓名嘛!(万一要是妹子,说不定还可以愉快的玩耍,对吧!)咳咳,正经了。Sql语句也写了,用的QSqlQuery执行的插入操作。妈的,测试后就彻底疯了,你晓得吧!输入中文直接就不让注册,输入英文倒是可以。最后调用了QSqlQuery的lastError()函数一看,卧槽,这啥玩意!!
这里写图片描述
好嘛!这啥,我明明在开头写了这句啊!而且数据库也是UTF8的编码啊!完美无缺啊!

#pragma execution_character_set("UTF-8")

让后开始了几个小时的百度,(唉!不得不再次吐槽一区的百度)终于找到了线索,我插入时如果是进入到了数据库。那么我存入的事什么应该不会出错,毕竟都是char。也就是我的sql语句根本没有进入到数据库就爆了这个错误,也就是我程序的问题。
好了,我们再看看这个错误,这不就是被UTF8编码以后的中文么(/抠鼻),行,你既然自行转换出错,那我把中文自己转换一下吧!
好了,加入下面的代码:
这里写图片描述

//将出现中文的地方,强行执行toUtf8()的方法
query.bindValue(2, name.toUtf8());
query.bindValue(3, sex.toUtf8());

好了,再来看看执行结果!

这里写图片描述

最后看了下数据库,确实插入进去了。不知为什么这张图片无法上传,我就不上传了。

就这样了,有问题在互相交流吧!

posted @ 2017-02-11 19:46  $逝水无痕$  阅读(308)  评论(0编辑  收藏  举报