簡體   English   中英

多個查詢java jdbc-同時讀取記錄

[英]multiple queries java jdbc - read records simultaneously

我有多個查詢,希望使用與SQL Server的Java JDBC連接同時讀取數據。

在單個查詢中,我知道您可以按以下方式遍歷記錄

while (rs.next()){
  //get record and do stuff
}

但是,如果我有多個記錄集,該如何同時為每個記錄集執行此操作。 每個結果集的長度相同。 我實際上做了一系列結果集,以為可以遍歷結果集,如下所示...

for (int i = 0;i<NUM_RECORDSETS;i++){
 while(rs[i].next()){
    //get stuff from this recordset
  }
}

...但是我不想一次遍歷一個。 我希望能夠使每個結果集的光標位置同步移動。 有沒有一種方法可以手動移動光標,或者最好的方法是什么?

如果我正確理解了您的問題,那么您將遇到以下情況:

Record pos :  0 |  1 |  2 |  3
ResultSet-1: A1 | B1 | C1 | D1
ResultSet-2: A2 | B2 | C2 | D2
ResultSet-3: A3 | B3 | C3 | D3

您想按以下順序遍歷結果:

A1, A2, A3, B1, B2, B3, ...

您最初發布的代碼將按以下順序進行迭代:

A1, B1, C1, D1, A2, ...

只需在for循環內移動for循環即可實現該模式:

while(rs.length > 0 && !rs[0].isAfterLast()){
    for (int i = 0; i < NUM_RECORDSETS; i++){
        rs[i].next();
        //get stuff from this recordset
    }
}

如果我誤解了您的問題,並且您想同時讀取結果集(如在多線程中一樣),則我強烈不建議這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM