Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Что бы как-то сгладить сумбур предыдущего поста, я, как и обещал, опишу все последовательность действий по созданию простого приложения DataSnap с нативным клиентом и .Net клиентом.

Инструментарий.

Для работы мы будем использовать БД MS Access (предположим, что она уже создана), Delphi 2010 Architect, а так же Delphi Prism 2010 и MS Visual Studio 2010. В принципе, версия .Net средств разработки не так уж и важна.

В качестве компонентов доступа к БД – AnyDAC.

В качестве путеводителя по возможностям DataSnap - руководство от Боба Сварта, откуда я иногда и буду дергать цитаты.Сервер.

Шаг 1.1. Создание приложения.

Бесплатный хостинг для размещения графических файловБесплатный хостинг для размещения изображений

  1. Выбираем в главном меню Delphi: File | New – Other; DataSnap Server; DataSnapServer; (см. рис.)
  2. В диалоге New DataSnap Module для простоты отладки оставляем все как есть (см. рис.). Жмем “ОК”.
  3. Переименовываем полученные формы:
    • ServerMethods1 – ServerMethods_Delphi2010_ru;
    • ServerContainer1 – ServerContainer_Delphi2010_ru;
    • Form1 – fDataSnapServer_Delphi2010_ru.
  4. Сохраняем порект.
  5. В процессе компиляции исправляем ошибки. связанные  с переименованием форм:

Шаг 1.2 Подключение сервера к источнику данных

  1. Открываем форму ServerMethods_Delphi2010_ru;
  2. Помещаем на форму компонент TADConnection и настраиваем его подключение к БД
    • Свойство LoginPrompt - False;
    • Двойной щелчок на компоненте;
    • Driver ID – MSAcc;
    • Нажимаем кнопку Wizard;
    • Указываем путь к БД; Жмем “ОК”;
    • Еще раз жмем “Ok”;
  3. Помещаем на форму компонент TADPhysMSAccessDriverLink (На самом деле, я не до конца разобрался с нюансами работы AnyDAC, но надеюсь это поправимо);
  4. Проверяем подключение;
  5. Двойной щелчок на компоненте;
  6. Кнопка “Test”. (Если нажать “Test” сразу по закрытию Wizard – подключение не пройдет. Почему? – не знаю).
  7. Размещаем на форме компонент TADTable; свойство Connection задается автоматически;
  8. Привязываем нужную таблицу (свойство TableName);
  9. Проверяем подключение к таблице (свойство Active:=true);
  10. После проверки деактивируем соединение.

Шаг 1.3. Создание методов

  1. Проверяем, что бы соединение с БД было неактивно;
  2. В секцию public описания класса TServerMethods_Delphi2010_ru добавляем функцию  function GetTable(): TDataSet;
  3. В implementation помещаем следующий код:

function TServerMethods_Delphi2010_ru.GetTable: TDataSet;
begin
ADTable1.Open();
Result:= ADTable1;
end;

Клиент Delphi

Шаг 2.1. Создание приложения.

  1. Запускаем сервер в режиме Run Without Debuging;
  2. Добавляем новый проект (VCL Form Application) в открытую группу проектов;
  3. Сохраняем проект и главную форму (DSClient.dpr и fClientMain, соответственно);
  4. Переименовываем главную форму (fClientMain);

Шаг 2.2 Подключение клиента к серверу

  1. Размещаем на форме компонент TSQLConnection;
  2. Свойство Driver устанавливаем Datasnap;
  3. Свойство LoginPrompt := False;
  4. Проверяем подключение (сервер должен быт запущен);
  5. Из контекстного меню TSQLConnection вызываем команду Generate DataSnap client classes;
  6. Сохраняем полученный модуль под именем ServerMethodsClient.pas;

Шаг 2.3 Вывод данных

  1. Размещаем на форме компонент TSqlServerMethod;
  2. Свойство SQLConnection устанавливаем SQLConnection1;
  3. Свойство ServerMethodName устанавливаем TServerMethods_Delphi2010_ru.GetTable (именно созданный нами на сервере метод);
  4. Размещаем на форме компонент TDataSetProvider;
  5. Свойству DataSet присваиваем значение SqlServerMethod1;
  6. Размещаем на форме компонент TClientDataSet;
  7. Свойству ProviderName присваиваем значение DataSetProvider1;
  8. Размещаем на форме компонент TDataSource;
  9. Свойству DataSet присваиваем значение ClientDataSet1;
  10. Размещаем на форме компонент TDBGrid;
  11. Свойству DataSource присваиваем значение DataSource1;
  12. СвойствуActive компонента ClientDataSet1 присваиваем значение True; Наблюдаем данные в гриде;
  13. Запускаем приложение на выполнение.

На этом этапе мы создали однонаправленный нативный DataSnap клиент.

Продолжим завтра.


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика