关于JSP+mysql的几点问题

  今天用Jsp+mysql做个东西,出现了如下的错误:java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

我的本意是执行如下语句

stmt=conn.createStatement();
stmt.executeQuery(sql);

来插入数据,于是乎遇到如上问题,后来终于找到原因:

如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法,如果用的是statement的executeQuery()就会出现上诉问题,原因:

ResultSet executeQuery(String sql); throws SQLException

执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 参数:sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句 返回:包含给定查询所生成数据的 ResultSet 对象;永远不能为 null 抛出:SQLException - 如果发生数据库访问错误或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容,简单说查询语句用executeQuery(sql), 更新语句用execute()。所以你只要将executeQuery(update_sql)这些代码改成execute(update_sql)就可以了。


你可能感兴趣的:(sql,jsp,mysql,数据库,String,insert)