Juri Shutenko Personal Homepage. Visual FoxPro.

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

Итак, с использованием CursorAdaptera с "родными" курсорами VFP построенным через построители разобрались.
 
Теперь сделаем тоже самое для ODBC и, в качестве примера, будем использовать MySQL Server.

Для работы нам нужно создать DSN ресурс. Надо отметить, что построитель использует пользовательский ресурс, а не файловый!

Как и в преддыдущем примере откройте класс-дизайнер либо через меню File->New->Class или в мэнеджере проектов, в уже существующем проекте, на закладке "Classes" нажмите кнопку "New". В открывшемся диалоговом окне введите название для класса - у меня это "cad_Mysql", в селекторе типов "Based on" выберите DataEnvironment и укажите библиотеку в селекторе "Store in", в котором будет храниться описание этого класса. На экране это может выглядеть так:

Ну и нажмите OK. Откроется основное окно дизайнера классов. Из контекстного меню (щелкните по правой клавише мыши по иконке DataEnvironment) выберите "Builder":

Откроется окно "DataEnvironment Builder":
 
В селекторе "Source Type" выберите пункт "ODBC" и в качестве Data source выберите тот источник данных, который вы предварительно создали. При необходимости укажите признак пользователя и пароль.Это может выглядеть примерно так:

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

Checking connection

то можно перейти к закладке "Cursors". Как и в ранее, воспользуемся родным построителем VFP, для чего нажмем на кнопку "New"

Now click kn 'New' button for creating cursor

Откроется новое окно. Как и в случае примера с "родными" курсорами VFP поменяйте наименования по умолчанию, на свои собственные и установите метку в чек-боксе "Use DataEnvironment data source", так как мы уже выбрали источник данных на закладке Data Source построителя:

Теперь переходим на закладку "Data Access". И вновь доверимся построителю VFP, для чего нажмем на кнопку "Build" над полем "Select command"

Как и в предыдущем примере, выберите таблицу, все поля или те, которые считаете необходимыми, с условием, что вы включите в список ключевое поле и возвращайтесь назад в построитель CursorAdapter'a. Примерно это выглядит так:

Надо отметить, что в данном случае схема курсора, сгенерированного построителем идеально совпадает со структуров таблицы в базе MySQL, что далеко не всегда справедливо. Правда в девятой версии VFP разметка типов полей несколько улучшена.

Далее перейдем на закладку 3.Auto-Update.Установим метки в чек-боксах "Auto-update","Update all fields" и установим метку в чек-боксе "Primary key" для поля ID (у вас оно может быть другим). Остальное оставим по умолчанию. Примерно это выглядит так:

Теперь нажимаем OK и возвращаемся в окно построителя для DataEnvironment,

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

loCA_Test=Newobject("cad_Mysql","C:\Hwadmin\Libs\js_cadapters.vcx")
? loCA_Test.OpenTables()
BROWSE

В следующей части разберем детали сделанного и построим все ручками, без помощи построителей Visual FoxPro.

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