在jsp中,含有单引号(也就是')的该怎么提交到数据库啊(假设:不能使用替换单引号的方法)?
在jsp中,含有单引号(也就是')的该怎么提交到数据库啊(假设:不能使用替换单引号的方法)?
有没有像在asp.net中那样的通过使用参数来提交的方法呢?
问题点数:20、回复次数:8Top
1 楼thurm(Rolling Your Imagination)回复于 2005-09-24 17:50:21 得分 1
转义符不行吗?
把'替换成\'Top
2 楼czhmx(含笑)回复于 2005-09-24 19:07:44 得分 0
如果不能采用替换的方法呢?
有没有别的方法了?Top
3 楼thurm(Rolling Your Imagination)回复于 2005-09-24 19:45:59 得分 1
转换成ascii,不过我没试过 =]Top
4 楼xplzj(浪子)回复于 2005-09-24 21:39:06 得分 1
替换成中文'Top
5 楼czhmx(含笑)回复于 2005-09-24 22:36:31 得分 0
晕,难道就没有不需要转换(或替换)之外的方法了吗?Top
6 楼unrealwalker(QQ95634620)回复于 2005-09-25 00:59:54 得分 10
用PreparedStatement:
PreparedStatement ps=con.prepareStatement("UPDATE student SET name=?");
ps.setString(1,"!@#$%^'''''23232随便放什么字符");Top
7 楼doway(john)回复于 2005-09-25 01:10:46 得分 7
楼上是对的。
关键在于不要自己使用字符串连接来构造整个 SQL 语句,因为会导致安全问题。另一个避免这类安全问题的手段是所有数据访问代码全部使用存储过程,连接数据库使用的用户根本就没有除了执行存储过程以外的任何权限。
Top
8 楼czhmx(含笑)回复于 2005-09-25 11:57:02 得分 0
谢谢各位了Top




