Juri Shutenko Personal Homepage. Visual FoxPro.

CursorAdapter. Часть IV. Использование CursorAdapter'а с источником данных типа ADO.

Разбремся теперь с использованием Cursor Adapter (далее по тексту CA), для случая, когда в качестве источника данных используется ActiveX Document Object. Как и в случае двух первых рассмотренных источников данных, воспользуемся построителем VFP.

Создадим новый класс на основе DataEnvironment и сохраним его в библиотеке js_cadapters.vcx.

В открывшемся дизайнере классов, выберем из контекстного меню нового класса пункт "Builder..."

Откроется окно построителя DataEnvironment. На первой закладке выберем из селектора типа источника данных нужный нам тип- ADO.

Окно построителя DataEnvironment изменится к виду, показанному ниже.

Для указанного типа данных будем использовать строку соединения. Вы можете набрать текст строки сами, но воспользуемся пока средствами, предоставляемыми нам VFP. Выберем радио-кнопку Use connection string и нажмем на кнопку Buid...

Откроется окно свойств Data Link, в котором на закладке Provider мы выберем из списка пункт Nicrosoft OLE DB Provider for SQL Server и нажмем на кнопку Next или просто выберем закладку Connection.

Теперь нужно ввести данные для соединения.
 
1. В комбоксе выбора сервера мы должны указать используемый сервер MS SQL. Если вы используете MSDE 2000, установленный с параметрами по умолчанию - убедитесь, что SQL Service Manager запущен и в качестве текущего сервиса выбран SQL Server. Если сервис остановлен, запустите его. (Предполагается, что образцовая база данных Northwind установлена и мы можем обратиться к ней.). В этом случае в комбобоксе, расположенном под меткой 1.Select or enter server name ничего вводить не надо. Если используется MS SQL Server, установленный на файл-сервере, введите его имя. (Для данного теста использовался MS SQL Server 7.0, установленный на сервере с именем Server c параметрами по умолчанию.).
 
2. Log on. В случае MSDE выберите Use Windows NT Integrated Security. В случае MS SQL Server эта установка зависит от установленных полисов для сервера, определенных администратором сервера. Для моего случая это также подходит, так как я являюсь системным администратором.
 
3. Из селектора выбора баз данных выберите традиционно Northwind.

Это может выглядеть так:

Убедитесь, что соединение действительно, для чего нажмите кнопку "Test Connection". Если все в порядке будет выведено окно сообщения:

Оставим прочие установки в окне Data Link Properties без изменений и нажмем кнопку OK. VFP вернет нас в окно построителя DataEnvironment, где edit-box строки соединения будет заполнен сформированной строкой соединения.

Соединение подготовлено и далее переходим на закладку Cursors. Нажмем на кнопку New.

Отметим check-box - Use DataEnvironment data source. Изменим, при желание имя курсора и алиас. Ну, скажем, таким образом:

и перейдем на закладку Data Access построителя. Не мудрствуя лукаво воспользуемся очередным построителем для команды Select.

Откроется окно построителя команды Select, в котором с помощью селектора таблиц мы выберем таблицу Customers, и из списка полей выбранной таблицы выберем поля CustomerID, CompanyName, ContactName, после чего нажмем кнопку OK.

VFP вернет нас в построитель CA, в котором будут отображены содержание команды Select и схема курсора.

Оставив все остальные параметры без изменения нажмем на кнопку OK. VFP вернет нас в дизайнер класса, нам осталось только сохранить созданный класс и протестировать.

Для этого выполним такую последовательность команд:

loCA_ADOTest=Newobject("cad_ADO","C:\CATest\Libs\js_cadapters.vcx")
loCA_ADOTest=Newobject("de_ADO","C:\CATest\Libs\js_cadapters.vcx")
? loCA_ADOTest.OpenTables()
BROWSE

и посмотрим на результат. В общем-то ничего особенного. Мы получили то, что хотели.

Поскольку мы не устанавливали никаких обновлений, просто закроем таблицу и удалим объект из памяти:

? loCA_ADOTest.CloseTables()
RELEASE ALL

Более подробно об использовании ADO поговорим в последующих статьях цикла.

Cелектор для быстрого перехода на сайты, связанные с Visual FoxPro.