【发布时间】:2014-06-01 20:40:08
【问题描述】:
我写了一个小程序来实际了解上述功能的功能。 函数描述如下,创建一个 Statement 对象,该对象将生成具有给定类型和并发性的 ResultSet 对象。为了测试这一点,我编写了一个小程序,它显示数据库中表的内容。然后我反复显示它,经过一段时间的延迟。同时我修改/或更改数据库中的内容。我实际上希望它会显示在输出屏幕上。但没有发生这样的事情。
有人可以给我一个提示吗?下面是截取的代码和输出..
String sql= "select * from customer";
st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery(sql);
for(int j=1;j<21;j++){
System.out.println("Count is "+j);
while(rs.next()){
System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getInt(4)+"\t"+rs.getInt(5));
for(int i=0;i<1000000000l;i++);
}
while(rs.previous()){
System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getInt(4)+"\t"+rs.getInt(5));
for(int i=0;i<1000000000l;i++);
}
}
输出
计数为 1
101 cust1 cust1@gmail.com 1111 1000
102 cust2 cust2@gmail.com 2222 2000
103 cust3 cust3@gmail.com 3333 3000
104 cust4 cust4@gmail.com 4444 4000
105 cust5 cust5@gmail.com 5555 5000
106 cust6 cust6@gmail.com 6666 6000
107 cust7 cust7@gmail.com 7777 7000
108 cust8 cust8@gmail.com 8888 8000
109 cust9 cust9@gmail.com 9999 9000
110 cust10 cust10@gmail.com 1010 10000
111 cust11 cust11@gmail.com 1011 11000
111 cust11 cust11@gmail.com 1011 11000
110 cust10 cust10@gmail.com 1010 10000
109 cust9 cust9@gmail.com 9999 9000
108 cust8 cust8@gmail.com 8888 8000
107 cust7 cust7@gmail.com 7777 7000
106 cust6 cust6@gmail.com 6666 6000
105 cust5 cust5@gmail.com 5555 5000
104 cust4 cust4@gmail.com 4444 4000
103 cust3 cust3@gmail.com 3333 3000
102 cust2 cust2@gmail.com 2222 2000
101 cust1 cust1@gmail.com 1111 1000
计数为 2
101 cust1 cust1@gmail.com 1111 1000
102 cust2 cust2@gmail.com 2222 2000
103 cust3 cust3@gmail.com 3333 3000
104 cust4 cust4@gmail.com 4444 4000
105 cust5 cust5@gmail.com 5555 5000
106 cust6 cust6@gmail.com 6666 6000
107 cust7 cust7@gmail.com 7777 7000
108 cust8 cust8@gmail.com 8888 8000
109 cust9 cust9@gmail.com 9999 9000
110 cust10 cust10@gmail.com 1010 10000
111 cust11 cust11@gmail.com 1011 11000
111 cust11 cust11@gmail.com 1011 11000
110 cust10 cust10@gmail.com 1010 10000
109 cust9 cust9@gmail.com 9999 9000
108 cust8 cust8@gmail.com 8888 8000
107 cust7 cust7@gmail.com 7777 7000
106 cust6 cust6@gmail.com 6666 6000
105 cust5 cust5@gmail.com 5555 5000
104 cust4 cust4@gmail.com 4444 4000
103 cust3 cust3@gmail.com 3333 3000
102 cust2 cust2@gmail.com 2222 2000
101 cust1 cust1@gmail.com 1111 1000
注意:我在完成打印第一组值之前更改了数据库内容,即 (count->1)
【问题讨论】: