1 (edited by motorolla 2014-12-01 21:47:55)

Topic: автоматическое обновление записей в базе

Здравствуйте еще раз. А вот такой вопрос: два человека работают с одной базой по сети. Как сделать так, чтобы у первого в своей программе в гриде автоматом появлялись новые записи из базы, после того как их в базу забил второй? Приходит только одна мысль - в скрипте имитировать нажатие кнопки поиск с пустым полем через определенное время. Я прав или есть какой-то другой способ?

Re: автоматическое обновление записей в базе

Приветствую,


Сделал для вас пример.
Скрипт каждые две секунды делает SQL запрос на количество записей в таблице базы данных, если оно изменилось, значит запись была добавлена либо удалена, и происходит обновление записей в компоненте TableGrid


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


Скачайте пожалуйста проект с примером:

Post's attachments

Attachment icon AutoUpdate when NewRecord.zip 6.09 kb, 558 downloads since 2014-12-01 

Dmitry.

Re: автоматическое обновление записей в базе

спасибо, это то что надо!

Re: автоматическое обновление записей в базе

такой вопрос, а возможно ли сделать так, чтобы при выборе любой вкладки в элементе pagecontrol, данные в таблице, которая находится в этой вкладке автоматически обновлялись бы?

Re: автоматическое обновление записей в базе

можно, пример

procedure Form1_PageControl1_OnChange (Sender: string);
begin                                                                          
    if Form1.PageControl1.ActivePageIndex = 0 then Form1.TableGrid1.dbUpdate; 
    if Form1.PageControl1.ActivePageIndex = 1 then Form1.TableGrid2.dbUpdate;
    if Form1.PageControl1.ActivePageIndex = 2 then Form1.TableGrid3.dbUpdate;
end; 
Dmitry.

Re: автоматическое обновление записей в базе

Я делал обновление по условию.
При изменении/добавлении/удалении переменная A=random(x) пишется в файл.
Файл перечитывается раз в 2 секунды, если переменная не соответствует A то обновление таблицы и обновление переменной А в памяти.