相思资源网 Design By www.200059.com

当前碰到一个问题,在测试编辑信息内容,其中若编辑的内容包含单引号(‘)则写入Mysql数据库时写入失败,使用如下代码进行错误打印:

if (!this->m_sql_query.prepare(update_string))
{
printf(“exec fail—>%s\n”, this->m_sql_query.lastError().text().toStdString().c_str());
}
if (!this->m_sql_query.exec())
{
printf(“exec fail—>%s\n”, this->m_sql_query.lastError().text().toStdString().c_str());
}

打印出的结果为:exec fail—>syntax error unable to execute statement

查阅相关资料如下所示:


SQL中写入包含有英文单引号“ '' ”失败问题深入详解SQL中写入包含有英文单引号“ '' ”失败问题深入详解

经过分析后发现插入的内容中在编辑SQL语句的时候字符串被从单引号处截断,导致语法错误。

解决办法:将包含单引号的字符中的(')换成(''),就可以了。

SQL是用两个单引号来代替一个单引号的

str = str.replace(” ‘“, ”''“);

标签:
SQL英文单引号错误,SQL英文引号写入失败

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“SQL中写入包含有英文单引号“ '' ”失败问题深入详解”

暂无SQL中写入包含有英文单引号“ '' ”失败问题深入详解的评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。