Вниз
Скачать: CL | DM;

Как обновить значение в DBgrid измененное в другой программе   Найти похожие ветки 

← →
vanatage10   (2009-06-18 15:52) [0]

возможен вариант когда известна запись, которая изменена

запрос аналогичен
http://delphimaster.net/view/3-1243862381/

MSSQL 2005, Delphi 7, ADOQuery


← →
Ega23 ©   (2009-06-18 15:58) [1]

Гарантированно - никак. Можно прикрутить костыли и пользоваться ими.
Вариант 1.
Посылка UDP-сообщения.
Вариант 2.
Запоминать дату последнего изменения, на сервере её апдейтить, а на клиенте по таймеру опрашивать. Если дата поменялась - обновлять информацию.

ИМХО, и то и другое - фигня. Запрос должен идти от пользователя.


← →
Sergey13 ©   (2009-06-18 15:59) [2]

> [0] vanatage10   (18.06.09 15:52)
> запрос аналогичен

Так и ответ аналогичен.


← →
vanatage10   (2009-06-18 16:04) [3]

ADOQuery.Refresh

а что нибудь типа этого?


← →
Ega23 ©   (2009-06-18 16:12) [4]


> а что нибудь типа этого?


ADOQuery.Close;
ADOQuery.Open;


← →
vanatage10   (2009-06-18 16:18) [5]

так не пойдет, т.к. потеряется указатель с записи...

а как тогда программно установить в DBGrid нужное значение?


← →
Sergey13 ©   (2009-06-18 16:21) [6]

> [5] vanatage10   (18.06.09 16:18)

Запомнить старое значение ключевой записи и перейти на него после переоткрытия.


← →
Dennis I. Komarov ©   (2009-06-18 16:22) [7]

А зачем пользователю указатель на запись?


← →
Ega23 ©   (2009-06-18 16:35) [8]


> а как тогда программно установить в 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;


← →
Игорь Шевченко ©   (2009-06-18 17:28) [9]

RTFM: Bookmarks или Locate


← →
Ega23 ©   (2009-06-18 17:35) [10]


> RTFM: Bookmarks или Locate


Bookmarks при переоткрытии использовать нельзя.


← →
Игорь Шевченко ©   (2009-06-18 18:18) [11]

Ega23 ©   (18.06.09 17:35) [10]


> Bookmarks при переоткрытии использовать нельзя.


Это к ADO относится ? Я просто ADO плохо знаю :)


← →
Ega23 ©   (2009-06-18 19:20) [12]


> Это к ADO относится ? Я просто ADO плохо знаю :)


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


← →
vanatge   (2009-06-19 01:59) [13]

а не нельзя при открытой ADO обновить одну запись/поле не закрывая
или просто ее переписать?
_______________________________
главное не закрывать!


← →
Ega23 ©   (2009-06-19 10:09) [14]

Можно. Попробуй TADODataSet.Resync



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.007 c
15-1277095834
И. Павел
2010-06-21 08:50
2010.09.19
Странное переполнение


15-1277670592
Юрий
2010-06-28 00:29
2010.09.19
С днем рождения ! 28 июня 2010 понедельник


15-1277661939
ewd
2010-06-27 22:05
2010.09.19
Посоветуйте, как назвать диплом


15-1277320579
TStas
2010-06-23 23:16
2010.09.19
Можно ли выходить в интернет с двух компов?


11-1216304360
neccasalmor
2008-07-17 18:19
2010.09.19
как в компоненте montcalendar выделить интервал дней?




   Наверх