一个SQL语句, 比如insert,update等,如何处理单引号?
一个SQL语句, 比如insert,update等,如何处理单引号?
例如:
update table set field1 = 'value's id';
insert into table(field1,field2) values('sssss',33) where field3='user's name' and no=33;
问题点数:20、回复次数:6Top
1 楼muiz(用户中文昵称)回复于 2005-05-27 10:06:24 得分 0
用'' 代替'
不知道还有没有其他的特殊字符?
怎么分析这个句子,哪个需要替换,哪个不需要替换?Top
2 楼mypwhl()回复于 2005-05-27 11:33:52 得分 5
update table set field1 = 'value's id'
改为
update table set field1 = 'value''s id'
即可Top
3 楼ORARichard(没钱的日子......)回复于 2005-05-27 12:14:12 得分 5
在insert into ...后面怎么能加上where...呢
update中按楼上改即可。Top
4 楼muiz(用户中文昵称)回复于 2005-05-27 12:27:51 得分 0
insert into table(field1,field2) values('sssss',33) where field3='user's
+++++++
上面是我错了:(
还有什么其他特殊字符需要替换的?Top
5 楼iihero(iihero)回复于 2005-05-27 17:55:14 得分 5
想避免此问题的出现,最好使用参数化sql查询,形如:
update table set field1 = ?;
prepare....
set...
再提交。ado和jdbc都支持这种查询。ado中稍微麻烦一些而已。
Top
6 楼liuyi8903(不让疑问伴随)回复于 2005-05-27 18:55:55 得分 5
:)jdbc还是比较方便的.呵呵!Top




