在外网买的空间,空间提供的数据库是MYSQL4.0
我使用.jsp文件插入数据,插入同时要获取自动生成的ID号
测试的插入代码如下:
String id = "sss";
String sql = "insert into web_test(id) values ('" + id + "')";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery(sql);测试时老是报错,错误代码如下
HTTP Status 500 -
The server encountered an internal error () that prevented it from fulfilling this request.
javax.servlet.ServletException: ResultSet is from UPDATE. No Data
……
java.sql.SQLException: ResultSet is from UPDATE. No Data
……
请过往的高手指点一下,该如何改正
我使用.jsp文件插入数据,插入同时要获取自动生成的ID号
测试的插入代码如下:
String id = "sss";
String sql = "insert into web_test(id) values ('" + id + "')";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery(sql);测试时老是报错,错误代码如下
HTTP Status 500 -
The server encountered an internal error () that prevented it from fulfilling this request.
javax.servlet.ServletException: ResultSet is from UPDATE. No Data
……
java.sql.SQLException: ResultSet is from UPDATE. No Data
……
请过往的高手指点一下,该如何改正
这个应该是executeUpdate吧?
前者为查询,后者为插入。
改成executeUpdate()后,插入成功了,但不能获得数据库自动生成的ID号,请问有什么办法能解决
...//省略中间操作
ResultSet resultSet = smt.getGeneratedKeys();
id = resultSet.getInt("GENERATED_KEY");
Statement smt = conn.getStatement();
...//省略中间操作
ResultSet resultSet = smt.getGeneratedKeys();
if(resultSet.next()){ //这里不能少
id = resultSet.getInt("GENERATED_KEY");
}
我插入的数据不具有唯一性,很可能会重复,有没有能读取最新插入的记录的方法
String sql = "insert into web_test(id) values ('" + id + "')";
Statement st = con.CreateStatement();
int rs = st.executeUpdate(sql);