2013-12-09 2 views
1

У меня есть запрос, который возвращает несколько строк в набор результатов. теперь мне нужно вернуть полные строки в приложение, которое вызывает эту функцию.Как вернуть несколько строк из набора результатов в java?

Я пытался с этим кодом:

final PreparedStatement ps = con.prepareStatement(query); 

     rs = ps.executeQuery(); 

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

этим кодом, я могу вернуть только одно значение. Теперь я хочу, чтобы вернуть несколько строк

ответ

0

Попробуйте этот код Надеюсь, что это помогает вам

окончательное PreparedStatement пс = 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

Создать ArrayList из Integer и добавить 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

приветствует вас – Lijo

Смежные вопросы