![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
ScaD |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.1.2013 Репутация: нет Всего: нет |
Привет всем. У меня не очень много опыта программирования на java, поэтому прошу у вас помощи.
Моя цель: 1) Создать форму, на которой находится JTable 2) В эту JTable печатается таблица из БД Apache Derby. Эта JTable редактируема (кроме 0 столбца - там индексы) 4) После редактирования изменения сохраняются в БД по запросу вида:
Все цели, кроме одной (4), были достигнуты. В созданной мной программе выполняется только первое изменение таблицы, а последующие не выполняются. Привожу код:
Пишет ошибку: Набор результатов (ResultSet) не открыт. Убедитесь, что опция автоматического принятия выключена (OFF). Я так понимаю что все переменные в TableModel зануляются, но что с этим сделать(ResultSet не открыт). Может быть этот код вобще неправитьно написан(в TableModel нельзя объявлять никаких переменных, которые содержат данные таблицы). Или ResultSet надо открывать на каждый новый запрос? Если так то что можно сделать? Это сообщение отредактировал(а) ScaD - 5.1.2013, 23:23 Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() |
||||||
|
|||||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
строка 130
запрос должен быть такого вида:
т.е. имя столбца в двойных кавычках |
|||
|
||||
ScaD |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.1.2013 Репутация: нет Всего: нет |
Дело не в запросе. Во первых: он выполняется первый раз (и через ij тоже нормально выполняется).
Сформированный запрос перед исполнением выводится в консоль. Вывод:
Во вторых: Имя столбца в двойных кавычках можно не писать. Я это читал тут:Apache Derby.
dorogoyIV, даже если сделать как Вы сказали, то ничего не изменяется в работе программы. При запуске программы, происходит открытие окна, отрисовка таблицы. После изменения в таблице выполняется запрос, а уже потом если изменять, допустим еще одно значение, то выдает ошибку. Тогда еще вопрос: значение должно быть всегда в кавычках (') или только строковые и дата? Это сообщение отредактировал(а) ScaD - 6.1.2013, 12:52 |
||||
|
|||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
||||
|
||||
ScaD |
|
||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.1.2013 Репутация: нет Всего: нет |
так там надо получать каждый раз ResultSet?
------------------------- а.... хотя.... тамже
там вобще каким боком ResultSet? Можно же поставить в TableModel еще одну переменную
и потом получать ResultSet когда надо. (но надо учесть, что в setDataSource(ResultSet rs) при инициализации основных переменных [ArrayList data, и прочие] нужно инфу вытаскивать из ResultSeta [там же результат выполненого запроса]) ------------------------- А вообще, если по уму, то как правильно сделать такое? ну в смысле: как правильно сохранить внесенные изменения в таблицу (может лучше по кнопке сделать? т.е. сначала редактируем таблицу, а потом делаем большой SQL запрос на обновление. или он будет слишком много перезаписывать(если изменений мало)?) ------------------------- все получилось. сделал так:
и изменил сдесь:
ах да еще добавил getStatement() и setStatement():
вроде все. если кому понадобится, приложу рабочие файлы java Это сообщение отредактировал(а) ScaD - 6.1.2013, 14:52 Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
||||||||||
|
|||||||||||
ScaD |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.1.2013 Репутация: нет Всего: нет |
Еще вопрос:
Надо что то делать с праймори кеем. Сейчас стоит навигация по первому полю(что не есть гуд). Как его можно извлечь его из самой таблицы? (а если он составной?) Это сообщение отредактировал(а) ScaD - 6.1.2013, 14:41 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |