怎样才能把带单引号的值插进去~~?

来源:百度知道 编辑:UC知道 时间:2024/04/29 10:04:25
public void insert(N个参数)
Connection con;
PreparedStatement ps;
String sql="insert into 表(字段A,字段B)values(?,?)";
ps.con.prepareSataement(sql);
ps.setString(1,值);
ps.setString(2,值);
ps.setString(n,值);

ps.executeUpdate();

有几个参数是带单引号的 例如 jian'ping abc'd

我试过
ps.setString(2,"abc'asda");

这样插没问题

但实际这些值都是参数传近来,传前传后都是String型 没理由啊 = =

需要转义,在java中\'代表一个单引号

呵呵,在sql语句用使用'',表示字段的值为varchar型,上面的操作,ps.setString()只是将实际值替换sql语句中的?,ps.executeUpdate()才是真正执行sql语句,
所以,你想让insert into 表(字段A,字段B)values(aa,abc'asda),这样一句语能执行的话,那是不可能的,我们一般是将'用其他字符代替,从数据库读出来后,再替换成'来显示,替换的方法使用replace()