//假设有个表t_1有两个字段分别是f1,f2PreparedStatement ps = conn.prepareStatement("INSERT INTO t_1(f1,f2) VALUES(?,?)");ps.setString(1,"\"你好\"");
ps.setString(2,"'世界'");
ps.executeUpdate();
ps.setString(2,"'世界'");
ps.executeUpdate();
PreparedStatement p = conn.prepareStatement("insert into a (a) values(?)");
p.setString(1,"fdfddfd'ff");
这时它输出的SQL语句成了:insert into a (a) values('fdfddfd\\'ff')
这是驱动的问题吗?
ps.setString(2,"世\'界"); // 这样插入带单引号的
ps.executeUpdate();
System.out.println(p.toString());
变成了:insert into a (a) values('世界\\'好')
accp:这样也不行,这时我输出
System.out.println(p.toString());
变成了:insert into a (a) values('世\\'界')
我可以保证这种绝对能插进出单引号,如果不行,是别的原因
ps.setString(2,"世\'界"); // 这样插入带单引号的
insert into a (a) values ('世\'界')
'替换成''