代码如下
<%
String ID = new String(request.getParameter("dId").getBytes("ISO8859_1"),"UTF-8");
String AIS = new String(request.getParameter("AIS").getBytes("ISO8859_1"),"UTF-8");
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "XXXXXXXXX";
String username = "XXXXXXX";
String password = "XXXXXXX";
Connection conn = DriverManager.getConnection(url,username,password);
String isExist = "select * from newshipinfo where newshipinfo.AIS = '"+AIS+"'";
PreparedStatement pstmt = conn.prepareStatement(isExist);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
out.print("该数据已存在,请不要重复添加!");
}else{
String sql = "insert into newshipinfo(AIS) values (?) where ID = '"+ID+"'";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,AIS);
int row = ps.executeUpdate();
if(row >0){
out.print("数据添加成功");
}
ps.close();
conn.close();
}
}catch(Exception e){
out.print("数据添加失败!");
e.printStackTrace();
}
%>
这个页面的目的是将前一个页面所提交的数据(ID号与AIS的值)填写到数据库里进行数据更新,数据库里AIS的初始值均为0,现在把页面的值传进去变成1或者2。传之前会判断数据库里AIS的值是不是1或者2,若是则提示不要重复输入。
现在值可以传到这个页面没有问题,就是无法传入数据库,老是报这个错
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 'where ID = '12259'' at line 1
是sql语句的错误吗,想请教下怎么修改代码。