虽然抛掷了异常,但数据是成功插入了的,因此异常可能发生在执行插入操作时(后),经检查代码,应改成如下: PreparedStatement insert_stm=con.prepareStatement("insert into userinfo(username,password) values(?,?)"); //这里最好指出插入的列,方便移植及维护 insert_stm.setString(1,username); insert_stm.setString(2,password); try{ insert_stm.executeUpdate(); //此处不是executeQuery }catch(Exception e){ out.println(e); return; } No ResultSet was produced是没有生成记录集,通常在executeQuery(sql)的时候如果是sql为更新、删除或者插入的时候,就不能用 ResultSet rs=aq.executeQuery(sql);而直接用executeQuery;因为没有生成记录集 executeQuery(sql)是返回一个ResultSet类型,而ResultSet 又是A table of data representing a database result set ,该异常是修改了数据库但是没有得到返回对象的错误,而executeUpdate是int类型的,
没有返回resultset的直接用executeUpdate(sql)就好.