Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Как обновить данные в таблице   Найти похожие ветки 

 
SamProf ©   (2006-07-19 18:41) [0]

Здравствуйте, Мастера, у меня вопрос может не совсем корректно задан... Суть в следующем:
Работаю через ADO
1) есть Table - отображения данных таблицы "Абоненты"
2) есть Query - запрос к таблице "Абоненты"

например я исменяю данные в Table и хочу, чтобы эти данные изменились и в Query.
Я пользуюсь:
Query.Active:=false;
Query.active:=true

Но это мне не совсем нравится... может есть другой вариант?


 
Val (from Kiev)   (2006-07-19 18:47) [1]

если на сервере изменились данные - что должен сделать клиент чтобы "увидеть" изменения?


 
SamProf ©   (2006-07-19 18:54) [2]

да


 
Ega23 ©   (2006-07-19 19:43) [3]

Ничего он не сделает. Не, ну можно теоретически рассылку сообщений делать, но это изврат. Клиент (а точнее - пользователь, сидящий за клиентским приложением) должен САМ решить - обновлять ему данные, или нет.


 
SamProf ©   (2006-07-19 19:48) [4]

Это  я понял, меня интересует, чем можно заменить 2 строчки может на 1:
Query.Active:=false;
Query.active:=true
Может есть более коректный способ обновить данные?


 
Ega23 ©   (2006-07-19 19:53) [5]

Напиши чё-нить типа

function RefreshDataSet(DataSet:TCustomADODataSet):Boolean;
begin
Result:=True;
try
  DataSet.Close;
  DataSet.Open;
except
 Result:=False;
end;
end;


 
Fay ©   (2006-07-20 07:46) [6]

2 Ega23 ©   (19.07.06 19:53) [5]
> function RefreshDataSet(DataSet:TCustomADODataSet):Boolean;

Тогда уж DataSet:TDataSet


 
Slym ©   (2006-07-20 08:15) [7]

Query.Active:=false;
Query.active:=true

Долго...
Query.Requery;
быстрее


 
Ega23 ©   (2006-07-20 09:59) [8]


> Тогда уж DataSet:TDataSet


Пожалуй да. Чё-то сразу не сообразил.


 
paul_k ©   (2006-07-20 10:35) [9]

> Не, ну можно теоретически рассылку сообщений делать, но
> это изврат.

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


 
Ega23 ©   (2006-07-20 10:39) [10]


> а можно и таймер прикрутить. Не меньший изврат.


Согласен. Особенно если выборка > 1000 записей.


 
Val (from Kiev)   (2006-07-20 11:03) [11]

коллеги, мне кажется, автор не спрашивает об автоматическом обновлении данных на клиенте.


 
ЮЮ ©   (2006-07-20 11:45) [12]

Работаю через ADO
1) есть Table - отображения данных таблицы "Абоненты"
2) есть Query - запрос к таблице "Абоненты"

например я исменяю данные в Table и хочу, чтобы эти данные изменились и в Query.


Избавиться от 1). Изменять данные в том же наборе, что и отображаются, т.е. 2)
Тогда Переоткрывать запрос потребуется лишь для того, чтобы получить изменения, внесенные другими клиентами



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
15-1156787243
Некто
2006-08-28 21:47
2006.09.24
IP-адрес виндового роутера по умолчанию.


15-1157617434
AzovSky
2006-09-07 12:23
2006.09.24
Программа для резервирования исходников и сборки версий


11-1132368516
-=Mike=-
2005-11-19 05:48
2006.09.24
Главная форма не точно отображает иконку программы


8-1141387986
Shtorm
2006-03-03 15:13
2006.09.24
Проблема в MediaPlayer


2-1157228727
redlord
2006-09-03 00:25
2006.09.24
копирование изображения с маштабированием без потерь качества