Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не передается ResultSet в JasperReport / 14 сообщений из 14, страница 1 из 1
14.08.2007, 10:13:11
    #34725494
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Проблема вот в чем: ResultSet в моем случае храниться в переменной класса, т.к. я планирую его использовать несколько раз, в целях не нагружать сервак. При передаче этого ResultSet JasperRunManager`у менеджер не заполняет отчет данными резултсета. Если кто-то сталкивался с этой проблемой или знает как это лечиться, помогите, пожалуйста.
Вот кусок программы:
Код: plaintext
1.
2.
resultSet = phonesResults.getResultSet(); // здесь я получаю ResultSet из переменной класса phonesResults
JRResultSetDataSource resultSetDataSource =  new  JRResultSetDataSource(resultSet);
JasperRunManager.runReportToPdfFile("c:\\Temp\\classic.jasper", c:\\Temp\\classic.pdf",  new  HashMap(), resultSetDataSource);
...
Рейтинг: 0 / 0
14.08.2007, 11:09:32
    #34725700
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Kha-Ruslan...в целях не нагружать сервак.
не делай глупости - не будет проблем.
...
Рейтинг: 0 / 0
14.08.2007, 11:48:11
    #34725880
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
В любом случае кто нить сталкивался с такой проблемой и как ее решить?
...
Рейтинг: 0 / 0
14.08.2007, 12:35:17
    #34726140
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Kha-RuslanВ любом случае кто нить сталкивался с такой проблемой и как ее решить?
RTFM
...
Рейтинг: 0 / 0
14.08.2007, 13:12:46
    #34726297
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Timm RTFM
Спасибо за полный и ясный ответ!

из RTFMХотя простой ответ RTFM бывает оправдан, когда дается просто лентяю, ссылка на документацию (даже если это набор ключевых слов для поиска в Google) все же лучше.
Бюдь так любезен дай ссылку на документацию.

Далее извиняюсь за неполный вопрос. Постараюсь заполнить пробел.
Известно что при той раскладке, которую приводят в туторах, как например представленном ниже все работает
Код: plaintext
1.
2.
3.
4.
5.
6.
 Class .forName("net.sourceforge.jtds.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:jtds:sqlserver://"serverName":
"serverPort"/"datebase", "login", "password");
Statement statement = connection.createStatement();
resultSet = statement.executeQuery("some query text");
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
JasperRunManager.runReportToPdfFile("c:\\Temp\\classic.jasper","c:\\Temp\\classic.pdf", new  HashMap), resultSetDataSource);

Но когда я подменяю resultSet вот такой конструкцией
Код: plaintext
1.
2.
resultSet = phonesResults.getResultSet(); // здесь я получаю ResultSet из переменной класса phonesResults. 
//phonesResults - это класс в котором храниться resultSet и мне бы не хотелось делать дополнительный 
//запрос к базе данных чтобы этот резултсет вывести в отчет
отчет получается пустым. Я подумал обратиться на форум может кто нить сталкивался с этим и знает в чем проблема.
...
Рейтинг: 0 / 0
14.08.2007, 13:36:02
    #34726440
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
ResultSet или сonnection ужо закрыт?
...
Рейтинг: 0 / 0
14.08.2007, 13:40:07
    #34726457
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
exppResultSet или сonnection ужо закрыт?
Ни resultSet, ни connection, ни statement не закрыт, т.е. все открыто.
...
Рейтинг: 0 / 0
14.08.2007, 13:43:59
    #34726484
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Складывается впечатление что гдето туплю, но не могу найти где и что не так. В дебагере прошуршал что мог, не нашел.
...
Рейтинг: 0 / 0
14.08.2007, 13:47:37
    #34726500
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Не верю (с).
resultSet.hasNext()
...
Рейтинг: 0 / 0
14.08.2007, 13:53:31
    #34726521
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
TimmНе верю (с).
resultSet.hasNext()
debuger>There is no method "hasNext" in class "net.sourceforge.jtds.jdbc.JtdsResultSet"<
...
Рейтинг: 0 / 0
14.08.2007, 14:00:02
    #34726549
Не передается ResultSet в JasperReport
авторНо когда я подменяю resultSet вот такой конструкцией
Код: plaintext
1.
2.
resultSet = phonesResults.getResultSet(); // здесь я получаю ResultSet из переменной класса phonesResults. 
//phonesResults - это класс в котором храниться resultSet и мне бы не хотелось делать дополнительный 
//запрос к базе данных чтобы этот резултсет вывести в отчет
отчет получается пустым. Я подумал обратиться на форум может кто нить сталкивался с этим и знает в чем проблема.
естественно отчет будет пустым - метод phonesResults.getResultSet() - не возвращает никаких результатов - посмотри внимательно - может быть он просто создает новый resultSet, продебаг свою программу от момента выборки данных до момента передачи их в репорт, если они есть (данные) - проследи где они пропадают
...
Рейтинг: 0 / 0
14.08.2007, 14:02:08
    #34726556
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Думаю что знаю в каком направлении работать! По всей вероятности текущая строка является последней и поэтому в отчет не попадают данные. Но это только пока догадка.
Пытался выставить курсор на первую запись компилятор ругнулся авторjava.sql.SQLException: ResultSet may only be accessed in a forward direction.
at net.sourceforge.jtds.jdbc.JtdsResultSet.checkScrollable(JtdsResultSet.java:316)
at net.sourceforge.jtds.jdbc.JtdsResultSet.first(JtdsResultSet.java:528)
at ServletUtilities.NewMain.generateReport(NewMain.java:63)
at ServletUtilities.NewMain.main(NewMain.java:89)
так что мне кажется я в правильном напавлении.
Большое спасибо Timm за это направление, это как раз то над чем я не задумывался.
...
Рейтинг: 0 / 0
14.08.2007, 14:05:49
    #34726576
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
изучающий Javaестественно отчет будет пустым - метод phonesResults.getResultSet() - не возвращает никаких результатов - посмотри внимательно - может быть он просто создает новый resultSet, продебаг свою программу от момента выборки данных до момента передачи их в репорт, если они есть (данные) - проследи где они пропадают
Извини, но метод phonesResults.getResultSet() я писал сам и он не возвращает значение null!!!
...
Рейтинг: 0 / 0
14.08.2007, 17:33:59
    #34727521
Kha-Ruslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передается ResultSet в JasperReport
Всем спасибо за проявленное внимание и помощь в решении проблемы раскрытой в данном топике.
Да, как и предполагалось в процессе решения проблемы, подводный камень оказался тем, что курсор в resultSet находился в конце и resultSet и имел тип
Код: plaintext
ResultSet.TYPE_FORWARD_ONLY
.
После установки resultSet в тип
Код: plaintext
ResultSet.TYPE_SCROLL_SENSITIVE
(есть еще TYPE_SCROLL_INSENSITIVE, но не пробовал) и установки курсора в начало resultSet`а методом resultSet.first() все пошло как положено.

Всем удачи!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Не передается ResultSet в JasperReport / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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