2016-04-08 11 views
0

私は単純なJava 6のコードを持っている:ResultSetが

Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/db?user=u&password=p"); 
Statement statement = conn.createStatement(); 
ResultSet rs = statement.executeQuery("SELECT * FROM "+tabela); 

while(res.next()){ 
    byte[] fileBytes = res.getBytes(fileColumnIndex); 
    fos.write(fileBytes); 
} 

だから私の質問です - 一度にいくつかのローカルメモリへのResultSet負荷にすべてのデータを行い、または、それがすべての解像度でのチャンクでそれを読み込むん。次()?あなたは

(インデックスまたは列名で)列によって行、列によって実行されるSQLクエリ、行からあなたの結果を通じて移動する

https://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html

答えて

0

だけのJavadocをチェック(結果セットを完了したら、リソースを解放することを忘れないでください)。

あなたの質問については、ストリームと同じコンセプトのResultSetをプログラマとして考える:「過去について何もできない、未来を知らない、現在しか処理できない」