![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как по TCP\IP подключиться к RecordSet Другого приложения?
d@vinchi © (2009-09-22 13:59:00)Первое приложение - служба, создает, открывает, пишет данные в БД (mdf) средствами DAO, второе приложение - консоль управления для этой службы... Возможно ли из консоли (второе приложение) подцепить DBGrid к открытому RecordSet в первом приложении (т.е. службе)? Нужно хотябы направление как это сделать или что-то подобное. Это необходимо, т.к. обновлять рекордсет по уведомлению от службы получается, но не очень корректно, уведомления приходят а в результатах ADOQuery.Requery нет последних записанных данных, т.е. обновление происходит слишком медленно... И еще минус - второму приложению нужен прямой доступ к x.mdf файлу от чего тоже хотелось бы избавиться...
d@vinchi (2009-09-23 12:31:00) [21]
> то данные от этого станут записываться быстрее)
не записываться, а передаваться клиенту на отображение без задерки, т.е. сначала отобразились а потом записались, это мое предположение и вот почему...
если из второго приложения которое подключено к БД через ADOConnection и выводит данные в DBGrid которые формирует ADOQuery выполнить следующий код:
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I:=0 to 9 do
begin
ADOQuery1.Append;
ADOQuery1.FieldByName('FieldName').AsString:='Test '+IntToStr(I);
ADOQuery1.Post;
end;
end;
... то данные в DbGrid отображаются мгновенно, из чего я и предположил что новые данные первом делом поступают в DataSource откуда уже в DbGrid и далее уже пишутся непосредственно в БД на диск что занимает некоторое время.
Сергей М. (2009-09-22 14:11:00) [22]
> уведомления приходят а в результатах ADOQuery.Requery нет
> последних записанных данных
Можно подумать, что если ты таки умудришься "по TCP\IP подключиться к RecordSet Другого приложения", то данные от этого станут записываться быстрее)