5.3. 发出查询和处理结果

在任何你想向数据库运行一个SQL语句的时候, 你都需要一个StatementPreparedStatement 实例. 一旦你拥有了一个StatementPreparedStatement,你就可以 发出一个查询. 这样将返回一个ResultSet 实例, 在其内部包含整个结果. Example 5-1 演示了这个过程.

Example 5-1. 在 JDBC 里处理一个简单的查询

这个例子将发出一个简单的查询然后用一个 Statement打印出每行的第一个字段.

Statement st = db.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM mytable where columnfoo = 500");
while(rs.next()) {
    System.out.print("Column 1 returned ");
    System.out.println(rs.getString(1));
}
rs.close();
st.close();

这个例子将使用 PreparedStatement 发出和前面一样的查询,并且在查询中制作数值.

int foovalue = 500;
PreparedStatement st = db.prepareStatement("SELECT * FROM mytable where columnfoo = ?");
st.setInt(1, foovalue);
ResultSet rs = st.executeQuery();
while(rs.next()) {
    System.out.print("Column 1 returned ");
    System.out.println(rs.getString(1));
}
rs.close();
st.close();

5.3.1. 使用 StatementPreparedStatement 接口

在使用StatementPreparedStatement接口时必须考虑下面的问题:

5.3.2. 使用ResultSet(结果集)接口

使用ResultSet接口时必须考虑下面的问题: