powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / CachedRowSet .updateDate
19 сообщений из 19, страница 1 из 1
CachedRowSet .updateDate
    #38487056
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Это первая прога на java. В порядке знакомства с java.
Все вроде хорошо и вдруг уперся в тупик. При обновлении RowSet а из формы имеются записи с пустой датой и в этом случае возникает exception.
Код: java
1.
rws.updateDate("DateRe", SqlDate(sd));


Если SqlDate(sd)=null - исключение. Как обойти? Кто подскажет.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487151
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергей,
Проверить перед вызовом..
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487174
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123О.Сергей,
Проверить перед вызовом..
Проверить можно, но что дальше? Если пользователь удалил дату на форме, как ее удалить в RowSet?
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487179
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, ну пустое значение в базе это NULL. Соответствующие JDBC методы
setNull()
updateNull()
wasNull()
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487212
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczБлин, ну пустое значение в базе это NULL. Соответствующие JDBC методы
setNull()
updateNull()
wasNull()
С базой все понятно, вопрос как ввести в CachedRowSet в поле типа Date значение NULL. CachedRowSet не связан с базой, коннект к базе закрыт.
В поле String NULL вводится запросто
Код: java
1.
rws.updateString("N_vhod", null);
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487232
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейС базой все понятно

Почему тогда выше ни слова про NULL?

О.Сергейвопрос как ввести в CachedRowSet в поле типа Date значение NULL.
Попробуйте читать то что вам отвечают до конца, а не только первое прежложение.

О.СергейCachedRowSet не связан с базой, коннект к базе закрыт.
Это радикально меняет JDBC API.

О.СергейВ поле String NULL вводится запросто
Код: java
1.
rws.updateString("N_vhod", null);


JDBC драйвер старается как может. Но справляется не везде.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487234
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот сам себе и ответил. После проверки на NULL использовать
Код: java
1.
rws.updateString("DateRe", null);

для поля типа Date. Как-то кривовато, но работает!
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487236
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейВот сам себе и ответил. После проверки на NULL использовать
Код: java
1.
rws.updateString("DateRe", null);

для поля типа Date. Как-то кривовато, но работает!
facepalm
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487249
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, JDBC драйвер зесь ни при чем. CachedRowSet - берет данные из ResultSet, который работает с драйвером.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487261
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейJDBC драйвер зесь ни при чем.
Да, ну? А кто же выкидывает исключение при updateDate(null)? Давайте что ли stacktrace посмотрим чтобы не быть голословными.
А за одно и поищем кто же обрабатывает null значение при updateString.

О.СергейCachedRowSet - берет данные из ResultSet, который работает с драйвером.
CachedRowSet - это интерфейс. Вопрос ведь не в том откуда он берет данные, а в том где он их потом хранит.
Реализацией может быть как CachedRowSetImpl из JDK, так и аналогичные классы драйвера. В которые нужно смотреть.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487270
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, я извиняюсь, что не указал, у меня используется CachedRowSetImpl из библиотеки sun.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487281
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергейу меня используется CachedRowSetImpl
Ага. Теперь вижу. updateString() сохраняет значение как оно есть. В то время как updateDate пытается сначала конвертировать значение в необходимый тип на чем, вероятно, и обрыгивается.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487292
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем недоделанный какой-то CachedRowSet получается.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487297
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейВобщем недоделанный какой-то CachedRowSet получается.
Нет. Это просто чьё-то упорное игнорирование методов для работы с NULL значениями. Обратите внимание, что ваш код теперь зависит от реализации CachedRowSet, при том что использует методы ResultSet и имеет ненулевые шансы выкинуть ещё одни исключние, если вдруг кто-то захочет использовать его вместо с ResultSet.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487323
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНет. Это просто чьё-то упорное игнорирование методов для работы с NULL значениями. Обратите внимание, что ваш код теперь зависит от реализации CachedRowSet, при том что использует методы ResultSet и имеет ненулевые шансы выкинуть ещё одни исключние, если вдруг кто-то захочет использовать его вместо с ResultSet.
Почему нет? Одно то что updateString() обрабатывает NULL, а другие udateXXX() нет, уже не логично, и следовательно не додумано, не доделано.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487329
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейПочему нет? Одно то что updateString() обрабатывает NULL, а другие udateXXX() нет, уже не логично, и следовательно не додумано, не доделано.
Не верно. Там никто не обрабатывает null вообще. Потому что в JDBC никто null значениями не увлекается, так как есть явные методы работы с NULL.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487345
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю кто чем увлекается, я просил совета, как обойти эту ситуацию с пустой датой - ответа не получил.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487361
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейНе знаю кто чем увлекается, я просил совета, как обойти эту ситуацию с пустой датой - ответа не получил.
А это я для кого писал 15230876 ? Используйте updateNull() для null значений и не важно какой там тип.
...
Рейтинг: 0 / 0
CachedRowSet .updateDate
    #38487418
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, извиняюсь, не понял, думал Вы это про обновление базы писали.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / CachedRowSet .updateDate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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