请教:如何在servlet中向ACCESS数据库插入数据?

wynne 2006-10-07 11:16:24
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 语句的语法错误。
请教大家是什么原因阿?
...全文
201 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wynne 2006-10-08
  • 打赏
  • 举报
回复
谢谢NCpiro,第一种方法可以,第二种方法还是不行,还是提示“INSERT INTO 语句的语法错误。”
NCpiro 2006-10-07
  • 打赏
  • 举报
回复
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();
NCpiro 2006-10-07
  • 打赏
  • 举报
回复
我都是这样加,不用参数。

Statement stmt=conn.createStatement();
stmt.executeUpdate("insert into Users values('"+user.getUserName()+"','"+user.getPassword()+"',"+user.getAge()+")");
yko2008 2006-10-07
  • 打赏
  • 举报
回复
mark

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧