Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по apache poi и обработке результатов из БД / 6 сообщений из 6, страница 1 из 1
30.10.2007, 11:27:48
    #34903971
Vetic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по apache poi и обработке результатов из БД
помогоите правильно решить проблему.
Вот в чем задача: необходимо значениям из таблички которая имеется в *.xls подставить значения соответствующие выборке из БД.

Наскорую написал такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
 private   static   void  readingAndRewriting()  throws  IOException, SQLException{
		Connection conn = getConnection();
		 try  {
			Statement stat = conn.createStatement();
			
			POIFSFileSystem fs =  new  POIFSFileSystem( new  FileInputStream("KRD.xls"));
			HSSFWorkbook wb =  new  HSSFWorkbook(fs);
			HSSFSheet sheet = wb.getSheetAt( 0 );
			 for  ( int  i =  2 ; i <  3048 ; i++) {
				HSSFRow row = sheet.getRow(i);
				HSSFCell getCell = row.getCell(( short ) 2 );
				String valString = getCell.toString();
				ResultSet result = stat.executeQuery("SELECT SEGM FROM www..CLNVRM WHERE CLN_IDC ='"+valString+"'");
				String strRslt = result.getString( 1 );
				HSSFCell setCell = row.getCell(( short ) 8 );
				 if  (setCell ==  null )
			        setCell = row.createCell(( short ) 3 );
				setCell.setCellType(HSSFCell.CELL_TYPE_STRING);
				setCell.setCellValue(strRslt);
				FileOutputStream fileOut =  new  FileOutputStream("KRD.xls");
				 try {
					wb.write(fileOut);
				} finally {
					fileOut.close();
				}
			}
		} finally {
			conn.close();
		}
	}

вываливается в строке
Код: plaintext
				String strRslt = result.getString( 1 );

Помогите разобраться в чем дело?
...
Рейтинг: 0 / 0
30.10.2007, 11:29:40
    #34903983
kest_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по apache poi и обработке результатов из БД
А когда вываливается, ошибку какую-то пишет?
...
Рейтинг: 0 / 0
30.10.2007, 11:47:20
    #34904064
Vetic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по apache poi и обработке результатов из БД
работаю в еклипсе, при отладке в указанной строке вываливается в указанной строке в finally. При попытке запуска выдает ошибку

Exception in thread "main" java.sql.SQLException: No current row in the ResultSet.
at net.sourceforge.jtds.jdbc.JtdsResultSet.getColumn(JtdsResultSet.java:282)
at net.sourceforge.jtds.jdbc.JtdsResultSet.getString(JtdsResultSet.java:930)
at bin.EDRPOUFind.readingAndRewriting(EDRPOUFind.java:77)
at bin.EDRPOUFind.main(EDRPOUFind.java:23)

пропустил сразу result.next();
после добавления ничего не изменилось
...
Рейтинг: 0 / 0
30.10.2007, 11:54:47
    #34904098
kest_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по apache poi и обработке результатов из БД
нужно делать так:
Код: plaintext
 if  (result.next()) String strRslt = result.getString( 1 );

Внутренний итератор у ResultSet устанавливается на первый элемент только после вызова result.next().
...
Рейтинг: 0 / 0
30.10.2007, 12:11:55
    #34904152
Vetic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по apache poi и обработке результатов из БД
теперь result.next() не проходит, пропускает. это может быть если запрос вернул результат null? оно так и сесть(по первому значению возвращает null). Как правильно его обработать? и как правильно написать данный код.
не судите, новичек в программировании, а структуру данную прийдется использовать часто.
...
Рейтинг: 0 / 0
30.10.2007, 12:35:08
    #34904260
kest_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по apache poi и обработке результатов из БД
Так и обрабатывайте.
Код: plaintext
1.
2.
3.
4.
 if  (result.next()) {
  // действия, если что-то найдено
}  else  {
  // действия, если ничего не найдено
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по apache poi и обработке результатов из БД / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]