当前位置: 技术问答>java相关
录入的字符串包含'这样的字符,拼装的sql也用到',提交失败。
来源: 互联网 发布时间:2015-09-18
本文导语: 如: 前台输入name:your's。 SQL拼装为"insert into A(name) values('" + name + "')"。 则插入错误。 各位前辈能否提供一个解决办法。 | 我做过的项目也遇到过你的问题,我用过的最简单的方法就是...
如:
前台输入name:your's。
SQL拼装为"insert into A(name) values('" + name + "')"。
则插入错误。
各位前辈能否提供一个解决办法。
前台输入name:your's。
SQL拼装为"insert into A(name) values('" + name + "')"。
则插入错误。
各位前辈能否提供一个解决办法。
|
我做过的项目也遇到过你的问题,我用过的最简单的方法就是在所有页面中包含诸如以下javascript语句:
document.onkeypress = kj;
function kj(){
if (event.keyCode==39)
return false;
}
直接在客户端限制输入单引号,该语句被我用htc封装了,所有页面的body全具有该限制了。哈哈简单吧?一分钟搞定!
对于文本框粘贴也可编一个onbeforepast的函数来禁止粘贴单引号。
document.onkeypress = kj;
function kj(){
if (event.keyCode==39)
return false;
}
直接在客户端限制输入单引号,该语句被我用htc封装了,所有页面的body全具有该限制了。哈哈简单吧?一分钟搞定!
对于文本框粘贴也可编一个onbeforepast的函数来禁止粘贴单引号。
|
添加对应的sql语句转义符号吧
这得先对name进行处理,
比如在oracle中,须将name字串中所有的“'”符号全部转换成“''”,即添加一个转义符号“'”,比如
String name = "your's";
处理……具体处理可以使用repalceAll方法等
name = "your''s"
再执行处理即可
这得先对name进行处理,
比如在oracle中,须将name字串中所有的“'”符号全部转换成“''”,即添加一个转义符号“'”,比如
String name = "your's";
处理……具体处理可以使用repalceAll方法等
name = "your''s"
再执行处理即可
|
需要对name的值进行处理,在每个“'”的前面都加上“”。
|
将SQL语句按字符分析,将' 转化为 '
|
用PreparedStatement应该没这个问题吧
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。