powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Связь JTable и JdbcRowSet
23 сообщений из 23, страница 1 из 1
Связь JTable и JdbcRowSet
    #37620456
LedFly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1)Собственно интересует данный вопрос.
Нужно реализовать редактирование данных прямо в таблице. JdbcRowSet для этого подходит как нельзя лучше, но туториалов по нему кот наплакал.
Пробовал пример JTableBinding из netBeans - скорость работы никакая.

2)Подскажите, может есть более совершенный способ организовать редактирование данных прямо в таблице?
Пока наиболее быстродейственным и простым вариантом мне представляется изменение RowSet по команде пользователя (напр. Добавить, Изменить)
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620498
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RowSet это просто альтернатива ResultSet, с приведенным к стандарту именованием. Разницы в работе с ResultSet нет никакой.
А в чем именно возникли сложности? Реализуете AbstractTableModel и ListSelectionModel в виде обертки над ResultSet.
Выполняете запрос, держите открытый ResultSet. Апдейты сохраняеете туда же.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620503
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже туториал на эту тему есть!
http://docs.oracle.com/javase/tutorial/jdbc/basics/jdbcswing.html
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620504
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LedFly,
нету.Тебе в delphi или Net.
Ну ил SmartGWT попробуй
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620520
LedFly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, как раз так как вы написали я и собирался реализовать, но потом "засмотрелся" в сторону data binding, думал там совершеннее можно реализовать редактирование данных в таблице. Значит похоже data binding для моей задачи не желательно использовать?
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620526
LedFly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, как-раз с delphi и ADO я и пришел)
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620528
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123нету.Тебе в delphi или Net.

Для открытого курсора делается на коленке за пару часов. Нет именно отвязанного DataSet, который может синхронизироваться с базой, когда нужно.

Petro123Ну ил SmartGWT попробуй
Web. Принципиальной разницы в фичах, по сравнению с JTable - нет.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620544
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczДля открытого курсора делается на коленке за пару часов. Нет именно отвязанного DataSet, который может синхронизироваться с базой, когда нужно.
- там вроде кэша нету в коробке
- вместе с биндингом и редактированием наверно подольше?
Просто инфы очень мало :)
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620551
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LedFlyBlazkowicz, как раз так как вы написали я и собирался реализовать, но потом "засмотрелся" в сторону data binding, думал там совершеннее можно реализовать редактирование данных в таблице. Значит похоже data binding для моей задачи не желательно использовать?
Под data binding обычно подразумевается связь с JavaBeans - объектами. Т.е. классы типа Teacher, Student. Таблица (JTable) автоматически связывается со списоком таких объектов.
А вот синхронизировать списки этих объектов с базой будет отдельным увлекательным занятием.

Поэтому если нужно просто редактировать открытый курсор, то проще написать свою реализацию. Взять любой пример, который нормально читает из скроллируемого ResultSet и добавить сохранение изменений.

Хотя, возможно, какой-то кэш ещё понадобится, чтобы постоянно не дергать курсор при рендеринге. Но, это уже нюансы.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620552
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отвязанный (ClientDataset) и в Delphi редко.
Вот подкачка-кэш при ,больших таблах - часто
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620558
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LedFlyPetro123, как-раз с delphi и ADO я и пришел)
тогда сразу на ОРМ.
Это тебе не пригодится IMHO
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620562
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- там вроде кэша нету в коробке
- вместе с биндингом и редактированием наверно подольше?

С редактированием и без кэша. Под биндингом что именно подразумевается? Если биндинг колонок UI на колонки DВ, то это через ResultSetMetaData делается на раз.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620571
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Вот подкачка-кэш при, больших таблах - часто
Кэш на чтение это ещё пол дня работы. :)
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620575
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
даааа. Ради красоты Модели, пол-дня то, полдня то, ...
А прогеры ведь студенты :)
....
Биндинг (мож неправильно) - DataSourse\DataSet c SQL маппингом. Присоединил, автогенерация колонок в табле и ВСЁ.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620632
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123даааа. Ради красоты Модели, пол-дня то, полдня то, ...
А прогеры ведь студенты :)
Ну, студенту - неделя на всё про всё.

Petro123Биндинг (мож неправильно) - DataSourse\DataSet c SQL маппингом. Присоединил, автогенерация колонок в табле и ВСЁ.
Из TableModel читаем ResultSetMetaData напрямую - получаем имена колонок, тип и количество.
Editor/Renderer под все основные типы в JTable уже есть. Что ещё биндить?

Нужен ли кэш - вопрос открытый. У клиента на проекте несколько лет грид работал, привязаный на 300К записей. Без всякого кэша скролируется\редактируется.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620646
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123даааа. Ради красоты Модели, пол-дня то, полдня то, ...
А прогеры ведь студенты :)
Ну, студенту - неделя на всё про всё.

======== офигеть. Верю :)

Petro123Биндинг (мож неправильно) - DataSourse\DataSet c SQL маппингом. Присоединил, автогенерация колонок в табле и ВСЁ.
Из TableModel читаем ResultSetMetaData напрямую - получаем имена колонок, тип и количество.
Editor/Renderer под все основные типы в JTable уже есть. Что ещё биндить?

Нужен ли кэш - вопрос открытый. У клиента на проекте несколько лет грид работал, привязаный на 300К записей. Без всякого кэша скролируется\редактируется.

===== от канала зависит. У меня 10K на 0,5 мегабите 15 сек табла открыв.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620651
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123от канала зависит. У меня 10K на 0,5 мегабите 15 сек табла открыв.

Открытый курсор за пределами LAN?
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620657
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
да, ADSL в подмосковье и оракл наружу портом :)
Тесты делал.
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620669
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда нафиг открытый курсор? Просто ленивую постраничную загрузку сделать. Вроде такого:
http://rubenlaguna.com/wp/2010/01/13/jtable-bound-to-a-database-with-lazy-loading/index.html
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620674
LedFly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не подскажите, почему данный фокус проходит?
Код: java
1.
2.
3.
 JdbcRowSet jrs = null;
           //**** стандартные действия с JdbcRowSet ****
            jTable1.setModel((TableModel) jrs);
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620683
LedFly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть данные в таблице конечно не появляются, но и компилятор ошибку не выдает
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620692
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczТогда нафиг открытый курсор? Просто ленивую постраничную загрузку сделать. Вроде такого:
http://rubenlaguna.com/wp/2010/01/13/jtable-bound-to-a-database-with-lazy-loading/index.html
ну, я только для теста, из дома загружал.
Технически, я давал ссылки на DevExpress там достаточно сменить флаг DataMode на ленивую. И всё. Он уже переключает ПРИБИНДЕННЫй DataSet сам. Ничего писать не надо.

НО! Пользователи не хотят, т.к. сортировка становится не клиентская (на букву), а серверная.
(У них канала потолще).
...
Рейтинг: 0 / 0
Связь JTable и JdbcRowSet
    #37620698
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LedFlyто есть данные в таблице конечно не появляются, но и компилятор ошибку не выдает
А почему должен компилятор ругаться? У вас может быть экземляр объекта, который реализует оба интерфейса. Учите язык.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Связь JTable и JdbcRowSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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