createStatement / executeQuery / next如何工作?

时间:2010-10-06 09:51:16

标签: database

给出以下示例(应该是正确的JDBC,但我是noob):

Connection conn = getConnection();
Statement st = conn.createStatement();

ResultSet rs = st.executeQuery("SELECT NAME FROM USERS");
while(rs.next())
{
     string name = rs.getString("NAME");
     //...
}

NAME信息在什么时候从数据库传输到程序?这是每次调用getString吗?如果是这样,是否也可以在一次I / O操作中收集所有用户的名称?

1 个答案:

答案 0 :(得分:0)

可能是我误解了这个问题,但根据我的想法回答:

执行

时,将从数据库中提取所有信息
ResultSet rs = st.executeQuery("SELECT NAME FROM USERS");

之后在rs上执行的所有操作都将在程序存储器中执行,而不是在数据库上执行。

如果可以在一次I / O操作中收集所有用户的名称,我不确定您的意思。