![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обновить значение в DBgrid измененное в другой программе [D7, MSSQL]
vanatage10 © (2009-06-18 15:52:00)возможен вариант когда известна запись, которая изменена
запрос аналогичен
http://delphimaster.ru/cgi-bin/forum.pl?id=1243862381&n=1
MSSQL 2005, Delphi 7, ADOQuery
Ega23 (2009-06-19 10:09:00) [1]Можно. Попробуй TADODataSet.Resync
vanatge (2009-06-19 01:59:00) [2]а не нельзя при открытой ADO обновить одну запись/поле не закрывая
или просто ее переписать?
_______________________________
главное не закрывать!
Ega23 (2009-06-18 19:20:00) [3]
> Это к ADO относится ? Я просто ADO плохо знаю :)
Нет гарантии, что после открытия букмарки будут валидными.
Игорь Шевченко (2009-06-18 18:18:00) [4]Ega23 © (18.06.09 17:35) [10]
> Bookmarks при переоткрытии использовать нельзя.
Это к ADO относится ? Я просто ADO плохо знаю :)
Ega23 (2009-06-18 17:35:00) [5]
> RTFM: Bookmarks или Locate
Bookmarks при переоткрытии использовать нельзя.
Игорь Шевченко (2009-06-18 17:28:00) [6]RTFM: Bookmarks или Locate
Ega23 (2009-06-18 16:35:00) [7]
> а как тогда программно установить в DBGrid нужное значение?
procedure DSRefresh;
var
value : Integer;
begin
value := -1;
if (DS.Active) and (not DS.IsEmpty) then
value := DS.FieldByName('Ключевое поле').AsInteger;
DS.Close;
try
DS.Open;
DS.Locate('Ключевое поле', value, []);
except
......
end;
end;
Dennis I. Komarov (2009-06-18 16:22:00) [8]А зачем пользователю указатель на запись?
Sergey13 (2009-06-18 16:21:00) [9]> [5] vanatage10 (18.06.09 16:18)
Запомнить старое значение ключевой записи и перейти на него после переоткрытия.
vanatage10 (2009-06-18 16:18:00) [10]так не пойдет, т.к. потеряется указатель с записи...
а как тогда программно установить в DBGrid нужное значение?
Ega23 (2009-06-18 16:12:00) [11]
> а что нибудь типа этого?
ADOQuery.Close;
ADOQuery.Open;
vanatage10 (2009-06-18 16:04:00) [12]ADOQuery.Refresh
а что нибудь типа этого?
Sergey13 (2009-06-18 15:59:00) [13]> [0] vanatage10 (18.06.09 15:52)
> запрос аналогичен
Так и ответ аналогичен.
Ega23 (2009-06-18 15:58:00) [14]Гарантированно - никак. Можно прикрутить костыли и пользоваться ими.
Вариант 1.
Посылка UDP-сообщения.
Вариант 2.
Запоминать дату последнего изменения, на сервере её апдейтить, а на клиенте по таймеру опрашивать. Если дата поменялась - обновлять информацию.
ИМХО, и то и другое - фигня. Запрос должен идти от пользователя.