Delphi.Datasnap. ServerMethods. Как отобразить множество на клиенте?

В данном посте создадим сервер и клиента с нуля и будем пользоваться не провайдерами, а серверными методами. Согласно книге Д.Осипова Delphi и Базы данных – это относительно новый подход, избавляющий от зависимости от COM. Не могу сказать, что он во всем удобный, но тем не менее рассмотреть его стоит.

Подготовительная работа

Создадим сервер приложений DataSnap

Подключим сервер приложений DataSnap к СУБД

Единственная разница – в модуле методов сервера, набор компонент сделаем таким…

1

 

Сохраним все (File | Save All) с понятными именами в отдельную папку…  (называйте так, чтобы потом самим разобраться в файлах)

2

 

В менеджере проектов добавим новый проект…

3

 

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

В клиентском приложении расположим следующие компоненты…

4

 

SQLConnection1

SqlServerMethod1

DataSetProvider1

ClientDataSet1

DataSource1

DBGrid1

На этом подготовительные работы закончены.

Что нужно сделать на сервере DataSnap?

Пропишем свойства SQLDataSet1 следующим образом…

Commandtype ctQuery

CommandText select*from mytable // здесь запрос к вашей таблице

SqlConnection – SqlConnection1

Выставим в Active True

5

Откроем модуль методов сервера и пропишем там следующую функцию

в секции public…

Ставим курсор на MyDataSet:TDataSet и жмем Ctrl+Shift+C, попадаем в реализацию метода, там пишем…

Что нужно сделать на клиенте?

У SQLConnection выберем драйвер DataSnap (для проверки подключения – сначала запустите сервер DataSnap, вообще Боб Сварт советует это свойство оставлять выключенным, а включать только в FormCreate, потому что при запуске IDE, если сервер не запущен, клиент будет ругаться)

6

У ServerMethod – выставим SQLConnection – SQLConnection1, а также ServerMethodName – TServerMethods1.MyDataSet

7

У DataSetProvider… DataSet – sqlServerMethod1

8

У ClientDatSet…

9

У DataSource… DataSet – ClientDataSet1

10

У DBGrid1… DataSource – DataSource1

11

 

Также в FormCreate клиента нужно написать…

 

 

Итог

Запускаем сервер…

12

Запускаем клиент…

13

 

Как видно – множество корректно отображается…

This entry was posted in DataSnap, Delphi, Без рубрики. Bookmark the permalink.