怎么样在java程序中判断在数据库中一条记录的存在???用exist还是having?? 将返回什么样的ResultSet呢??比如说
select * from table_name where id = '****';
如果符合这个id的记录不存在,那么ResultSet会有什么特征可供判断呢???

解决方案 »

  1.   

    能否解决你问题:
    private static final String validate_user = "select * from operator where operator_id = ? and operator_pwd = ?";
    public boolean validate(String id,String password) throws Exception {
    Connection conn = null;
    DBUtility db = DBUtility.getInstance();
    boolean boo = false;
    try {
    conn = db.getConnection();
    PreparedStatement stmt = conn.prepareStatement(validate_user);
    stmt.setString(1,id);
    stmt.setString(2,password);
    ResultSet rs = stmt.executeQuery();
    if(rs.next()){
    boo = true;
    }
    } catch (Exception e) {
    e.printStackTrace();
    throw e;
    } finally {
    db.closeConnection(conn);
    }
    return boo;
    }
      

  2.   

    while(rs.next()){
      //如果没有符合这个id的记录,结果集中没有数据,也不会执行到这步!
    }
      

  3.   

    SELECT count(*) AS num FROM table_name WHERE id='****';
    boolean exist = rs.next() && (rs.getInt("num") > 0);
      

  4.   

    拿到结果集,再 rs.next() 数据库和 Java 程序间通讯量太大。
      

  5.   

    如果是一张表的话,存在的时候就是你where条件满足的时候,里面会查寻到相关数据...
    exist 是用在多表连接的时候,比如说存在这样一个学生,他选了所有的课程... (相关子查询)
    having 是用在group by进行分组的时候在程序当中可以用ResultSet返回,它返回的是记录的结果集,
    可以用rs.next()进行循环.....