问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[Err] 42000 - [SQL Server]从数据类型 char 转换为 int 时出错。

发布网友 发布时间:2022-04-28 21:17

我来回答

1个回答

热心网友 时间:2022-04-11 17:28

char*转换

Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换
Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型
在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。
因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’
方法如下:
Qstring str;
char* ch;
QByteArray ba = str.toLatin1();
ch=ba.data();
这样就完成了QString向char*的转化。经测试程序运行时不会出现bug
注意第三行,一定要加上,不可以str.toLatin1().data()这样一部完成,可能会出错。

补充:以上方法当QString里不含中文时,没有问题,但是QString内含有中文时,转换为char*就是乱码,采用如下方法解决:
方法1:
添加GBK编码支持:
#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
然后改变上面的第三行为:QByteArray ba = str.toLoacl8Bit(); toLoacl8Bit支持中文
方法2:
先将QString转为标准库中的string类型,然后将string转为char*,如下:
std::string str = filename.toStdString();
const char* ch = str.c_str();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长沙到西昌。坐火车先从长沙到成都、成都东,再到西昌,哪个方便一些 S先生与P先生谜题的题面 为什么首都设在襄阳 改姓可以不随父母性吗 韩艺瑟怎么改姓? 纸、墨、笔、砚是中国传统的文房四宝,墨的使用最早在 [ ] A.商代后期... 想问下创维光伏E企赢模式有哪些优势,到底值不值得投资啊?有没有合作... 太平洋太享e保百万医疗值得入手吗?每年花多少钱? 爱e满分适合哪些人买?注意哪些问题? 太平洋太享e保百万医疗适合哪些人买?价格多少? 你这个傻子,以为我不会日语似的。用曰语怎么说? Sqlserver的标识列问题 日文的傻子是怎么写的 SQL SERVER从数据类型nvarchar转换为bigint时出错,如何解决。。 你是不是把我当傻子,日语怎么说 sql 将 expression 转换为数据类型 int 时出现算术溢出错误 日文“我认为你是傻子”用罗马音怎么说 sql sever 将 expression 转换为数据类型 int 时出现算术溢出错误。_百 ... 帮忙用日语翻译下(你是傻瓜)(我是笨蛋)(很高兴认识你)(我讨厌你)(我爱你)(我喜欢你)(你是... 傻子在日语中是バカ还是バガ? 傻瓜用日语怎么说 “傻子”用日语怎么说? 湖南农村怎么养老保险费 味道酸脆爽口的腌韭菜,怎样腌制才能有好吃又下饭的效果? 你是傻子用日文怎么说 谐音成中文 城镇居民社会养老保险的养老金领取计算 你是不是傻?有日语怎么说? 湖南农村居民养老保险 日语“你是不是傻”怎么说? 你是傻子用日语怎么说 用日语怎么形容“我是大笨蛋(傻瓜,蠢才)”? ...SQL Server]从数据类型 numeric 转换为 int 时出错 SQL server 出现的问题 数据库错误 溢出 谁能帮忙解决一下 sql server 定义了bigint,但是却返回null 已离职,关于社保,原单位不给办理减员怎么办? SQL server将 varchar 值 &#39;*&#39; 转换成数据类型 int 时失败 公司不给办理社保减员该怎么办 在SQL Server2008中要把ID的数据类型从“text”改为“int”,总是出错... 如何将int转换为bigint 原单位不给减员的后果 SQL Server2008 插入值时报错:在将 varchar 值 &#39;admin0219&#39; 转换成... 离职后公司还没有给退社保怎么办 SQL中bigint类型 为什么存进去的是负数? 社保原单位不减员怎么办 sql server 标识列问题 原单位不给缴纳社保又不减员无法在另一个公司缴纳社保怎么办 ...SQL Server]将数据类型 varchar 转换为 bigint 时出错。 辞职后,为什么公司迟迟五年不办理减员?导致社保大额欠费,该怎么办? SQL SERVER中,对于bigint的负边界值,为什么使用科学计数法时,超过负边界值不报错呢? 离职4年后公司一直未做社保减员应该怎么办