servlet代码:
//从JSP页面获取参数
String name=theRequest.getParameter("codeName");
String code=theRequest.getParameter("gcode");
String note=theRequest.getParameter("codeNote");try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\db1.mdb";
    Connection conn = DriverManager.getConnection(strurl);
    String sql= "INSERT INTO gCode(name,code,note) VALUES(?,?,?)";
    PreparedStatement stat=conn.prepareStatement(sql);       
    stat.setString(1,name);
    stat.setString(2,code);
    stat.setString(3,note);
    stat.executeUpdate();
    stat.close();
    conn.close();
}catch(Exception e){
    System.out.println(e.getMessage());
         }运行错误:[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。
请教大家是什么原因阿?

解决方案 »

  1.   

    我都是这样加,不用参数。Statement stmt=conn.createStatement();
    stmt.executeUpdate("insert into Users values('"+user.getUserName()+"','"+user.getPassword()+"',"+user.getAge()+")");
      

  2.   

    stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values ('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
    perstmt.setString(1,var1);
    perstmt.setString(2,var2);
    perstmt.setString(3,var3);
    perstmt.setString(4,var4);
    perstmt.executeUpdate();
      

  3.   

    谢谢NCpiro,第一种方法可以,第二种方法还是不行,还是提示“INSERT INTO 语句的语法错误。”