Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шнырев Базы данных 2011

.pdf
Скачиваний:
113
Добавлен:
16.08.2013
Размер:
26.46 Mб
Скачать

правильно, то окно дерева объектов должно иметь такой вид, как на рис. п.32.

Далее в окно Server поместим ком-

понент DataSetProvider с вкладки DataAccess. В его свойстве DataSet со-

шлемся на таблицу Table1. Нужно сохранить созданный проект под именем MyServer в новой папке с таким же названием. На последнем шаге запустим проект на исполнение на 1-2 секунды для того, чтобы вновь созданный сервер был зарегистрирован в системном рее-

стре Windows.

Рис. п.32. Окно дерева объектов

Создание клиента

Для создания клиента необходимо создать новый проект в Delphi и поместить на главную форму компоненты SocketConnection с вкладки DataSnap, ClientDataSet с вкладки DataAccess, а также компоненты DataSource, DBGrid и Button.

Компонент SocketConnection предназначен для осуществления связи между клиентом и сервером приложений со стороны клиента и использует для этого специальные функции Windows, которые называются сокетами. Для работы с сокетами Delphi имеет утилиту scktsrvr.exe, которая находится в папке Bin каталога Delphi. Нужно запустить эту утилиту на исполнение, после чего в правом углу панели инструментов рабочего стола появится значок

Borland Socket Server.

Компонент SocketConnection имеет свойство host, в котором указывается имя компьютера, на котором размещен сервер приложений. Поскольку в данном случае как клиент, так и сервер приложений располагаются на одном и том же компьютере, в это свойство следует установить значение localhost.

В свойстве ServerName следует сослаться на созданный сервер MyServer.Server, а в свойстве Connected установить значение true. В этот момент на экране появится новое окно с названием

221

Рис. п.33. Окно программы клиента

Form1 – это автоматически запустился созданный сервер приложений. Его можно свернуть, но не завершить работу – иначе клиент не сможет установить связь с сервером приложений.

Теперь нужно связать компонент ClientDataSet с компонентом

SocketConnection, сославшись на него в свойстве RemoteServer, а

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

Далее свяжем сетку DBGrid с компонентом

DataSource, а компонент DataSource – с компонентом ClientDataSet. После этого в окне DBGrid должно отобразиться содержимое полей таблицы Otdel (рис. п.33). Если этого не произошло, то прежде всего необходимо проверить

значение свойства Active компонента ClientDataSet.

Клиентский проект можно сохранить в новую папку MyClient под тем же названием.

Теперь перейдем к программированию кнопки Button1. Она создана для того, чтобы клиент мог вносить изменения в таблицу Otdel и таким образом менять содержимое БД. Для этого следует обработчик события OnClick запрограммировать следующим образом:

procedure TForm1.Button1Click(Sender: TObject); begin

with ClientDataSet1 do ApplyUpdates(0); end;

Если теперь запустить проект на исполнение и, изменив содержание какой-либо записи, нажать на эту кнопку, то вызов метода ApplyUpdates приведет к тому, что сделанное изменение перепишется в БД. Если добавить в проект компонент DBNavigator, то с его помощью можно будет также удалять и добавлять записи в БД.

222

Сергей Львович Шнырев

БАЗЫ ДАННЫХ

Учебное пособие

Редактор Т.В. Волвенкова

Подписано в печать 15.12.2010. Формат 60 84 1/16. Печ. л. 14. Уч.-изд. л. 14. Тираж 100 экз.

Изд. № 1/4/9. Заказ № 21

Национальный исследовательский ядерный университет «МИФИ» 115409, Москва, Каширское ш., д. 31

ООО «Полиграфический комплекс «Курчатовский». 144000, Московская область, г. Электросталь, ул. Красная, д. 42