今天往数据库插入新数据,没多想就用了字符串拼接插入额
sql_insert = "insert into Table(name,sex,resum) values('"+name+"','"+sex+"','"+resum+"')";
statement.executeUpdate(sql_insert );
resum是一个字符串变量,resum部分数据中含有' 就因为“'”中的一个'就把数据给分开了,导致抛出异常:com.microsoft.sqlserver.jdbc.SQLServerException: 's' 附近有语法错误。所以为了防止插入的数据中含有特殊的字符而导致抛异常,选用prepareStatement处理比较好。
//prepareStatement
sql_insert = "insert into Table(name,sex,resum) values(?,?,?)";
prepareStatement pst = conn.prepareStatement(sql_insert);
pst.setString(1,name);
pst.setString(2,sex);
pst.setString(3,resum;
pst.executeUpdate();
这种方法就不用担心上述情况的发生了。