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());
好了,再来看看执行结果!
最后看了下数据库,确实插入进去了。不知为什么这张图片无法上传,我就不上传了。
就这样了,有问题在互相交流吧!
不积跬步无以至千里,不积小流无以成江河。