![]() |
|
|
![]()
|
|
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Недавно выпустили новую версию компонентов FibPlus - FibPlus 7.
Прочитал там одну замечательную новость:
Раньше, чтобы обновить данные в гриде, нужно было полностью переоткрыть набор данных. На сколько я понял, то в фибах седьмой версии для этого не нужно будет полностью переоткрывать запрос. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Akella, я как название топика прочитал, подумал, что ты спрашиваешь, как это сделать. Зачем же так пугать. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Akella, а как оно работает? по времени изменения записи как то ориентируется?
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Я без понятия. Скачайте и посмотрите примеры, справку почитайте.
Я утром заказал себе 7ю версию, но у фибов сейчас на столько медленная техподдержка... что ужас просто. Добавлено через 47 секунд
сам вызывай этот метод хоть по времени хоть по событию ;) |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Имелось ввиду - откуда RefreshFromDataSet знает какие записи изменились и их надо обновить.
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
1. Сравнить текущие значения на клиенте со значениями на сервере. 2. Дополнительный признак в БД, который идентифицирует изменения. Это может быть поле/поля в таблице или какие-то другие признаки. По первому все понятно, а вот по второму есть несколько мыслей, но ... будет время/желание посмотрю исходники -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Да собственно, чем этот вариант лучше переоткрытия датасета. Что бы сравнить надо вытащить все данные сюда, или затащить туда... Разве, что не фетчить записи лишний раз. Сомнительное преимущество. Это сообщение отредактировал(а) superVad - 8.12.2010, 18:11 |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
а я и не говорил что он плох.
Просто для меня вариант с переоткрытием датасета более предпочтительный. Если примерно представить кол-во действий по первому варианту, то выигрыш весьма сомнителен (если не таскать на клиента млн записей по очень тонкому каналу) -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Мне кажется этот компонент просто хранит id всех измененных записей, а потом только их и обновляет с сервера.
+ будет огромный, даже если показывается пользователю 25 записей, а он обновил только 2. Во-первых, не тянуть все 25, а это уже выигрыш. Во вторых, по уникальному ключу выборка быстрее происходит, чем по условиям разным. PS А как это разработчики фибов реализовали хз. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| Deniz |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
Давайте например так: Таблица ID name type 1 Name1 0 2 Name2 0 3 Name3 1 В программе сделали изменение
Сколько записей изменилось на сервере? А если в другой программе в тоже время сделали
А теперь сколько записей изменилось? Чтобы это узнать нужно ... я уже говорил про это немного выше. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
||||||
|
|||||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
||||
|
||||
| Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Deniz, с одной стороны ты прав, с другой стороны компонент как они пишут интеллектуально обновляет данные, не факт что обновит все, а то может просто обновит строку которую сам пользователь изменил, чтобы например в гриде она по путю отображалась, а хочешь посмотреть изменения произведенные другими пользователями, переоткрывай датасет.
С другой стороны под вопросом умеет ли он работать с составными запросами. И может он интеллектуально использует события БД и на их основании обновляет записи. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |