2016-03-07 324 views
0

如何使用ResultSet的getFetchSize()next()方法得不到相同的結果?,因爲您可以看到getFetchSize爲7,但循環內容未打印。ResultSet的getFetchSize()和next()方法

ResultSet resultSet = (ResultSet) callableStatement.getObject(7); 
    System.out.println("resultSet::::::::::::::getFetchSize::>>>>>" + resultSet.getFetchSize()); 
    int i = 1; 
    while (resultSet.next()) 
     { 
       System.out.println("inside while loop:" + i); 
     } 
System.out.println("finished"); 

輸出:

resultSet::::::::::::::getFetchSize::>>>>> 10 
finished 

回答

4

getFetchSize()不會告訴你多大的ResultSet是 - 這種信息通常事先不知道 - 但用於內部緩衝區的大小取得結果。在這種情況下,JDBC驅動程序會一次提取10個結果行,當您撥打next()時,會逐個提供它們。

顯然,這並不意味着真的會有10個結果。