2015-04-11 4 views
0

Могу ли я использовать rs.next() для извлечения данных, хранящихся в любой строке, которую я хочу? Точнее, я знаю, что rs.next() будет проходить через все строки и извлекать данные. Но предположим, что мне нужны данные, например, имя и номер рулона, хранящиеся в строке 10. Есть ли какой-либо возможный способ достичь этого ? Общее количество строк составляет 30, напримерИспользование rs.next() для извлечения данных из указанной строки

ОК, что я пытаюсь сделать это:

while(rs.next()) 
{ 
Blob b=rs.get blob("imagename"); 

byte barr[]=new byte(3,(int)  

b.length());//create an array to store 
data from blob 

Image 
IMG=jpane.getToolKit.default  
tool kit.drawImage(barr); 
//jpane is the frame on which I want to draw the image 

ImageIcon icon=new 

ImageIcon(IMG); 

JLabel label=new JLabel(icon); 
//passing generated icon to label 

label.revalidate(); 

label.repaint(); 

Jpane.add(label);//adding label to my  frame 

Jpane.repaint(); 

Jpane.revalidate(); 
    } 

Что это делает только раскрасит изображение сначала row.So как я могу нарисовать изображение настоящего при любом заданном индексе?

+1

Как правило, если вам нужно только небольшое количество строк из результата, лучше всего ограничить в самом запросе, чем создать большой набор результатов, а затем переместить курсор. – RealSkeptic

ответ

1

Попробуйте ResultSet.absolute(int):

rs.absolute(10);// moves the cursor to the 10th row of rs 
+0

:) Я думаю, что могу это использовать. Спасибо arvind – user4678940

+0

@ user4678940: не все драйверы СУБД и JDBC поддерживают это. –

+0

Хм ... да, это может быть правдой, учитывая, что у меня возникли проблемы, такие как «абстрактная ошибка метода», несмотря на то, что мой код полностью функциональный :) – user4678940

0

Если вам нужно только 10-й ряд, почему бы вам не изменяет ваш запрос, чтобы вернуть только конкретную запись?

+0

Я действительно хочу извлечь данные blob к varchar data.bit он дает только результат первой строки (см. код). – user4678940