ВУЗ:
Составители:
19
лось  пустым, это   значит, что   сервер   приложений   не  найден (т.е. он  либо   не  за-
регистрирован   в   реестре, либо   к   компьютеру   нет   доступа). Окончательно  убе-
диться  в   доступности  сервера  клиенту   можно, установив   свойство Connected 
компонента  связи: сервер   приложений   при этом   должен  запуститься  и  показать 
наличие  у   себя   одного  присоединенного   клиента (в данном  случае   этим   клиен-
том  является  среда разработки). 
Далее  согласно   общей   схеме, необходимо  компоненту   TClientDataSet 
указать  компонент  связи,  который он  будет  использовать (свойство Remote-
Server), после чего   появиться  возможность  задать  имя удаленного  провайдера, 
экспортируемого  запущенным сервером  приложений  (свойство ProviderName 
мы   устанавливаем ,  выбирая   из   выпадающего   списка  значение  DataSet-
Provider1). Связь  между клиентским   и  удаленным наборами  данных обеспе-
чена.  Теперь  компонент  TDataSource  свяжем   с  набором   данных (свойство 
DataSet),  а  все  визуальные  компоненты  (в нашем   приложении  их   два: 
TDBGrid  и  TDBNavigator),  в  свою   очередь,  с  компонентом  TDataSource 
(свойства DataSource визуальных компонентов ). 
Помимо  средств   отображения  данных на  форме разрабатываемый  клиент 
будет  генерировать SQL-запрос  на  выборку  этих   данных, и передавать  этот  за-
прос  в   виде команды на  выполнение  серверу   приложений . В  простейшем   слу-
чае   код ,  исполняющий   эти  действия,  можно  поместить  в   обработчик   события 
нажатия  кнопки на  форме: 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  with ClientDataSet1 do begin 
 CommandText := 'SELECT * FROM COUNTRY'; 
 Open 
  end 
end; 
Здесь  COUNTRY  –  одна  из   таблиц   демонстрационной   базы  данных 
DBDEMOS, на  доступ к которой   мы   настроили наш   сервер   приложений . В  среде 
C++Builder этот  фрагмент  выглядит  следующим   образом: 
void __fastcall TForm1::Button1Click(TObject *Sender) 
{   ClientDataSet1->CommandText = "SELECT * FROM COUNTRY"; 
    ClientDataSet1->Open(); 
} 
Теперь можно  запустить  и   протестировать  клиентское  приложение. Обра-
тите  внимание: показания  счетчика соединений   на  форме  сервера  приложений  
должны   измениться, так   как   теперь  у   сервера  приложений   два клиента  –  среда 
разработки и запущенное клиентское  приложение (см . рисунок   ниже). 
                                     19
лось пустым, это значит, что сервер приложений не найден (т.е. он либо не за-
регистрирован в реестре, либо к компьютеру нет доступа). Окончательно убе-
диться в доступности сервера клиенту можно, установив свойство Connected
компонента связи: сервер приложений при этом должен запуститься и показать
наличие у себя одного присоединенного клиента (в данном случае этим клиен-
том является среда разработки).
      Далее согласно общей схеме, необходимо компоненту TClientDataSet
указать компонент связи, который он будет использовать (свойство Remote-
Server ), после чего появиться возможность задать имя удаленного провайдера,
экспортируемого запущенным сервером приложений (свойство ProviderName
мы устанавливаем, выбирая из выпадающего списка значение DataSet-
Provider1 ). Связь между клиентским и удаленным наборами данных обеспе-
чена. Теперь компонент TDataSource свяжем с набором данных (свойство
DataSet ), а все визуальные компоненты (в нашем приложении их два:
TDBGrid и TDBNavigator ), в свою очередь, с компонентом TDataSource
(свойства DataSource визуальных компонентов).
      Помимо средств отображения данных на форме разрабатываемый клиент
будет генерировать SQL-запрос на выборку этих данных, и передавать этот за-
прос в виде команды на выполнение серверу приложений. В простейшем слу-
чае код, исполняющий эти действия, можно поместить в обработчик события
нажатия кнопки на форме:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with ClientDataSet1 do begin
     CommandText := 'SELECT * FROM COUNTRY';
     Open
  end
end;
     Здесь COUNTRY – одна из таблиц демонстрационной базы данных
DBDEMOS, на доступ к которой мы настроили наш сервер приложений. В среде
C++Builder этот фрагмент выглядит следующим образом:
void __fastcall TForm1::Button1Click(TObject *Sender)
{   ClientDataSet1->CommandText = "SELECT * FROM COUNTRY";
    ClientDataSet1->Open();
}
      Теперь можно запустить и протестировать клиентское приложение. Обра-
тите внимание: показания счетчика соединений на форме сервера приложений
должны измениться, так как теперь у сервера приложений два клиента – среда
разработки и запущенное клиентское приложение (см. рисунок ниже).
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 17
 - 18
 - 19
 - 20
 - 21
 - …
 - следующая ›
 - последняя »
 
