Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизКак обновить данные в таблице Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c