关于用insert向数据库中添加数据,如果字符型字段里有双引号或者单引号,该如何处理.

时间:2023-01-28 20:10:22
比如要求在字段b中插入

今天是个特殊的"日子",你知道吗?




要求在显示的时候能够完全正常显示.

5 个解决方案

#1


--双引号不必处理,单引号用两个单引号表示就可以了.

--例如,插入上面的语句就是:
insert into 表(字段b) values('今天是个特殊的"日子",你知道吗?')

#2


--示例:
declare @表 table(id int identity(1,1),字段b varchar(30))

insert into @表(字段b) values('今天是个特殊的"日子",你知道吗?')
insert into @表(字段b) values('今天有个''的问题解决不了')  --字符串中,两个单引号表示一个

select * from @表

/*--测试结果
id          字段b                            
----------- ------------------------------ 
1           今天是个特殊的"日子",你知道吗?
2           今天有个'的问题解决不了

(所影响的行数为 2 行)
--*/

#3


单引号用两个单引号表示就可以了?

那可以相当于打一个双引号吗?


insert into 表(字段b) values('今天是个特殊的"日子",你知道吗?')


如果我是把它用语asp 于中的sql字符串,如何避免其中的双引号与asp中的字符串的双引号相冲突.

#4


info 是 text类型的
INSERT INTO [dfg].[dbo].[dlg]( [name], [info])
VALUES('dlg','今天是个"好日子"')

#5


在asp中

rs.excute ("INSERT INTO [dfg].[dbo].[dlg]( [name], [info])
VALUES('dlg','今天是个"好日子"')
")

字段中的双引号不是与asp中表示字符的双引号相冲突了吗?

#1


--双引号不必处理,单引号用两个单引号表示就可以了.

--例如,插入上面的语句就是:
insert into 表(字段b) values('今天是个特殊的"日子",你知道吗?')

#2


--示例:
declare @表 table(id int identity(1,1),字段b varchar(30))

insert into @表(字段b) values('今天是个特殊的"日子",你知道吗?')
insert into @表(字段b) values('今天有个''的问题解决不了')  --字符串中,两个单引号表示一个

select * from @表

/*--测试结果
id          字段b                            
----------- ------------------------------ 
1           今天是个特殊的"日子",你知道吗?
2           今天有个'的问题解决不了

(所影响的行数为 2 行)
--*/

#3


单引号用两个单引号表示就可以了?

那可以相当于打一个双引号吗?


insert into 表(字段b) values('今天是个特殊的"日子",你知道吗?')


如果我是把它用语asp 于中的sql字符串,如何避免其中的双引号与asp中的字符串的双引号相冲突.

#4


info 是 text类型的
INSERT INTO [dfg].[dbo].[dlg]( [name], [info])
VALUES('dlg','今天是个"好日子"')

#5


在asp中

rs.excute ("INSERT INTO [dfg].[dbo].[dlg]( [name], [info])
VALUES('dlg','今天是个"好日子"')
")

字段中的双引号不是与asp中表示字符的双引号相冲突了吗?