Qt QSQlite数据库插入字符串中存在单个双引号或单个单引号解决方案

1. 前言

当进行数据库写入或更新时,有时会遇到存在字符串中包含单个双引号或者单引号。

2. 单引号''和双引号""作用

在数据库中,字符串常量时需要用一对英文单引号''或英文双引号""将字符串常量括起来。

比如:

cpp 复制代码
select * from xxx where info = `hello world`;

cpp 复制代码
select * from xxx where info = "ni hao";

一般是使用单引号,如果是数值,则不加单引号或双引号。

但如果字符串中包含单引号,除了使用转义外,还可以用一对双引号来包括字符串,这样字符串内的单引号被视作普通字符,无需特殊处理。

如:

cpp 复制代码
"hello'world"

存入到数据库中,就是:hello'world

反之,如果字符串中包含双引号,可以用一对单引号来包括字符串。

如:

cpp 复制代码
'hello"world'

存入到数据库中,就是:hello"world

3. 如果字段为关键字

当出现SQL语句中,包含的字段为关键字时,如下:

cpp 复制代码
select select from xxx;

会报错,这时,需要用````````符号将字段给括起来,如下:

cpp 复制代码
select `select` from xxx;

4. 字符串中,既包含双引号又包含单引号

当字符串常量中,既包含双引号,同时又包含单引号,可将单个单引号改为成对的单引号,如下:

5. 结论

玄之又玄,众妙之门

相关推荐
不剪发的Tony老师几秒前
DbPaw:一款AI驱动的现代化数据库开发工具
数据库
森G5 分钟前
12、编译QT Opencv项目----------Opencv移植Arm
qt
2301_767902647 分钟前
mysql备份
数据库·mysql·adb
剩下了什么7 分钟前
Redis 密码设置
数据库·redis·缓存
娇娇yyyyyy7 分钟前
QT编程(2):模态对话框和非模态对话框
qt
NineData12 分钟前
NineData 社区版 V4.10.0 正式发布
数据库·mysql·代码规范
heze0912 分钟前
sqli-labs-Less-46
数据库·mysql·网络安全
Y0011123612 分钟前
Day1-MySQL概述+SQL-1
数据库·mysql
菩提小狗21 分钟前
第22天:安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引_笔记|小迪安全2023-2024|web安全|渗透测试|
数据库·安全·php
阿迷不想上班24 分钟前
千万级别数据表更新操作记录
数据库