下面的查询抛出错误。请帮帮我&告诉我错误是什么。
此查询返回以下结果:
string sqlcmd = "UPDATE branch SET brac_subj = " + query_data + " WHERE (braid = "+dd_branch+")";
UPDATE branch SET brac_subj = "'11' , '12' , '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21'" WHERE (braid = 1) 如何以以下格式存储字符串:
'11' , '12' , '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21' 发布于 2012-05-08 03:21:20
您遇到的问题称为Enigma转义。由于单引号是一个受限制的字符,并在SQL中定义了字符串的开头,因此不能在同一字符串中按原样使用它。
除此之外,您似乎认为SQL Server使用双引号来定义字符串,但事实并非如此。
此语法将不起作用:
UPDATE branch SET brac_subj = "'11' , '12' , '13'"此语法将起作用:
UPDATE branch SET brac_subj = '''11'' , ''12'' , ''13'''诀窍是使用您的编程代码在值周围添加那些额外的撇号,从而得到其他所有人都建议的答案。
此外,测试此语法的一种简单方法是使用简短的select语句:
SELECT "'11' , '12' , '13'"vs
SELECT '''11'' , ''12'' , ''13'''发布于 2012-05-07 19:05:20
如果您想将其作为字符串。这应该是可行的:
query_data="'"+query_data.Replace("'","''")+"'";如果您希望它们作为此"11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21"。然后像这样做:
query_data="'"+query_data.Replace("'","")+"'";发布于 2012-05-07 19:03:28
将每个撇号替换为两个,如果您想要"duncan o'toole“,那么在sql查询中使用'duncan o''toole‘应该可以
https://stackoverflow.com/questions/10480746
复制相似问题