mysql出现No value specified for parameter1?
就是在jsp中页面中把从上个页面获得的数据写入mysql数据库,数据能写入数据库,但tomcat却给出错误信息:No value specified for parameter1。有哪位高手遇见过,给解释下,最好给出解决方法,谢谢啦。我的代码如下:
String ac = request.getParameter("account");
String pa = request.getParameter("password");
int dataID=0;
boolean regstate=false;
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/userdata?user=root&password=429300";
conn = DriverManager.getConnection(url);
String sqlString = "insert into users (id,account,password) values (?,?,?)";
ps = conn.prepareStatement(sqlString);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from chart");
while(rs.next()){dataID++;}
out.println(dataID);
stmt.executeUpdate("insert into chart values('"+(dataID+1)+"','"+ac+"',"+pa+");");
if (ps.executeUpdate() > 0)
regstate=true;
} catch (Exception e) {
// TODO: handle exception
System.out.println("插入失败");
e.printStackTrace();
} finally {
try {
if (ps != null) {
ps.close();
ps = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
------解决方案--------------------数据库表未与程序对应,仔细检查。
------解决方案--------------------String sqlString = "insert into users (id,account,password) values (?,?,?)";
ps = conn.prepareStatement(sqlString);
Statement stmt = conn.createStatement();
把问号里的值设置进去
利用ps.setString(1,"");等
------解决方案--------------------