2013-12-09 42 views
1

我有一個查詢,它返回多個行到結果集。現在我需要將總行返回到調用此函數的應用程序中。這段代碼,我能夠返回只有一個值如何在java中返回結果集中的多行?

final PreparedStatement ps = con.prepareStatement(query); 

     rs = ps.executeQuery(); 

     while (rs.next()) { 
      result = rs.getInt(1); 
     } 

我試着用這個代碼。 現在我想返回多行

回答

0

試試這個代碼希望這有助於你

最終的PreparedStatement PS = con.prepareStatement(查詢);

 ResultSet rs=ps.getResutlSet(); 
     ResultSetMetaData rsmd=rs.getMetaData(); 
     for(int i=1;i<=rsmd.getRowCount();i++){ 

     String resut=rsmd.getString(i); 
    } 
+0

感謝您的答覆.. –

+0

嗨,阿杰但沒有getRowCount ()方法存在於ResultSetMetaData中,其rsmd.getColumnCount() –

0

在這一行result = rs.getInt(1);結果每次都被替換爲一個新值。 一個好的替代是將值存儲在一個列表中,然後返回該列表提供的方法返回類型應該是列表

+0

感謝您的回覆.. –

+0

@SubbaraoGaddam歡迎您,如果您有任何其他疑問,請隨時詢問 – SpringLearner

2

創建的IntegerArrayList並添加result,返回該數組列表。

ArrayList<Integer> resultList = new ArrayList<Integer>(); 
while (rs.next()) { 
     result = rs.getInt(1); 
     resultList.add(result); 
    } 
return resultList; 
+1

感謝您的回覆.. –

+0

@SubbaraoGaddam :歡迎您:) –

0

結果集將包含查詢返回的行數。 使用結果集object.next我們可以輕鬆瀏覽這些數據行。 在上面的代碼中,你只能得到一個值。如果結果集包含多個值,則返回 。 然後使用索引獲取此值。

while(rs. next) 
{ 

result1=rs.getInt(1);//this will get the two value in each row. 
result2=rs.getInt(2); 


} 

如果有一個以上的值,然後使用該多指數rs.getint(1) .... rs.getInt(10) 也爲絃樂rs.getString(2)

+0

感謝您的回覆。 –

+0

allways歡迎 – Lijo

相關問題