0

我正在使用 Access 和 Prepared Statement,下面的代码是我的 insertData 方法:

public static Bean insertData(String name, int age, String date, boolean hero, boolean villian) {
....
sql = "insert into hv(name, age, firstApperance, hero, villian) values (?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, age);
ps.setString(3, date);
ps.setBoolean(4, hero);
ps.setBoolean(5, villian);          
ps.executeUpdate (sql);         
......

前几个错误行是:

Driver does not support this function
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(Unknown Source)
at org.enterprise.Bean.insertData(Bean.java:59)
at org.enterprise.InsertData.doPost(InsertData.java:49)

我只是对问题所在感到困惑,因为我已经检查了它们是否是变量名称、年龄、日期、英雄、恶棍中的数据;他们是在我的 servlet 中请求并转发给这个 bean。

String name = request.getParameter("nameIn");
String ageInState = request.getParameter("ageIn");
....

并使用以下命令发送到 bean 类:

bean = Bean.insertData(name, age, date, hero, villian);
4

1 回答 1

1

当您已经将 SQL 放入顶部的准备好的语句中时,为什么还要调用 ps.executeUpdate(sql) ?

ps.executeUpdate() 可能会起作用。

查看http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html以供参考。

于 2012-04-27T16:33:43.470 回答