executequery方法出错

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:01:57
package bean;

import java.sql.*;

public class PersonDAOImpl implements PersonDAO
{

public boolean isLogin(PersonVo pv) throws Exception
{

boolean flag = false;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "SELECT name FROM user WHERE id=? AND pass=?";
DataBaseConnection dbc = null;
try
{
dbc= new DataBaseConnection();
pstmt = dbc.getConnection().prepareStatement(sql);
pstmt.setString(1,pv.getId());
pstmt.setString(2,pv.getPass());
rs = pstmt.executeQuery();
if(rs.next())
{
flag=true;
}
rs.close();
pstmt.close();

executeQuery() 返回的是ResultSet();
记录已被delete,当然就没有结果返回
delete时不用它,用execute()就可以.

还有
其实不需要用executeQuery()方法,用execute()就可以了啊

如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法,如果用的是statement的executeQuery()就会出现上诉问题,原因:<br />executeQuery<br />ResultSet executeQuery(String sql)<br /> throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 <br /><br />参数:<br />sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句 <br />返回:<br />包含给定查询所生成数据的 ResultSet 对象;永远不能为 null <br />抛出: <br />SQLException - 如果发生数据库访问错误或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容<br /><br />简单说查询语句用executeQuery(sql), 更新语句用execute()。所以你只要将executeQuery(update_sql)这些代码改成execute(update_sql)就可以了。<br />希望能对你有帮助。

好像有点复杂了
你可以给我发信息(在百度上)
我明天也会上百度的
我们可以讨论一下

package vote;
import java.sql.*;

public class DBConnect {
  //设