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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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