JAVA程序高手来

来源:百度知道 编辑:UC知道 时间:2024/08/20 21:48:07
从别处参考的方法 刚不知道怎么被删贴了 对话框中输入了单引号会报错 老问题了 不过还是没明白 高手请留邮箱或在线谈 马上给分
public String markStringValue(String Str_Src) {
String retvl="";
if("".equals(Str_Src)){ return retvl;}
retvl=Str_Src.replaceAll("'","''").trim();
return retvl;
}
思想我理解 单引号在SQL里比较敏感的 所以我替换了下 不是双引号 是2个单引号 只是那段方法我不知道加在愿程序的哪个位置 还有 方法中的变量在我的代码里是没有声明的

这是防止在SQL语句中多单个'的问题,把单个'换成'',SQL不会出错。
假如你的对话框是要写名字,查别的信息的。
如果你写一个',SQL就是
select XXX,XXX from XXX where name=''';
你看肯定出错的。
要是换成''的话,
就是select XXX,XXX from XXX where name='''';
这是name为空,后面的一对单引号不起作用。什么用没有。

一楼提的问题的确存在,不过不知道你是不是想把 单引号 替换成 双引号

如果是就应该是

retvl=Str_Src.replaceAll("'","\"").trim();

retvl=Str_Src.replaceAll("'","''").trim();

你发现 这句话的问题了么 ("'","''").trim
后面的多了半个引号