日期:2014-05-17  浏览次数:20827 次

jdbc执行insert语句总是出错?
                        String sql = "insert into tb_stu(name,sex,age)"+"values(?,?,?);";
pstm = conn.prepareStatement(sql);
pstm.setObject(1, student.getAge());
  pstm.setObject(1, student.getName());
pstm.setObject(2, student.getSex());
pstm.setObject(3, student.getAge());
flag = pstm.executeUpdate(sql) > 0 ?true :false;


总是出错!!
错误信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?)' at line 1
驱动我重新换过还是出错,其他删除,更新语句都可以使用,不知道为什么,各位帮忙看看。
java JDBC SQL MySQL

------解决方案--------------------
引用:
String sql = "insert into tb_stu(name,sex,age)"+"values(?,?,?);";
pstm = conn.prepareStatement(sql);
 pstm.setObject(1, student.getAge());
   pstm.setObject(1, student.getName());
 pstm.setObject(2, student.getSex());
 pstm.setObject(3, student.getAge());
 flag = pstm.executeUpdate(sql) > 0 ?true :false;

你可以看一下红色部分
------解决方案--------------------
第一个参数设置了两次的值啊  而且age和name的数据类型应该不是一样的吧