подключение Visual Fox Pro к базе данных MySql - PullRequest
0 голосов
/ 04 мая 2011

Я преобразовал Visual FoxPro DBF в MySQL, и мне нужно подключить код VFP непосредственно к базе данных MySQL. Пожалуйста, помогите. Спасибо

1 Ответ

1 голос
/ 07 мая 2011

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

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

Три основных подхода:

1) Удаленные виды - при таком подходе,Вы храните SQL-запросы в базе данных.Чтобы выполнить запрос и получить данные с сервера, вы ИСПОЛЬЗУЕТЕ удаленное представление.2) SQL Pass-Through (SPT) - при таком подходе вы используете команду SQLEXEC () для отправки команд SQL на сервер и получения результатов.3) Класс CursorAdapter - при таком подходе вы устанавливаете класс, который описывает, как вы хотите получать данные с сервера, и когда вы вызываете метод CursorFill (), вы получаете курсор, полный данных.

Вы должны выбрать один из этих подходов и использовать его во всем приложении.У каждого из них есть свои плюсы и минусы.

Для начала, так как вы, вероятно, захотите использовать SPT для целей тестирования (как, например, в окне командной строки), вот основы этого подхода:

Во-первых, вы должныподключиться к базе данных.Это делается с помощью функции SQLConnect () или SQLStringConnect ().Например:

  • Вам нужно будет указать свой идентификатор пользователя и пароль, где это указано.nHandle = SQLStringConnect ("драйвер = {MySQL ODBC 5.1 Driver}; SERVER = localhost; UID =; pwd =")

Положительное значение для nHandle указывает на успех.Когда у вас есть дескриптор, вы используете его для отправки дополнительных команд.Например:

nSuccess = SQLEXEC (m.nHandle, «ВЫБЕРИТЕ сначала, последний из клиентов, ГДЕ состояние =« PA »», «csrPACustomers»)

, который говорит MySQL выполнить ваш запроспередать и положить результаты в csrPACustomers.nSuccess указывает на успех или неудачу.

Когда вы закончите, используйте SQLDisconnect (), чтобы закрыть ваше соединение:

SQLDisconnect (m.nHandle)

Вы можете прочитать обо всех трех подходах к удаленным данным вфайл справки VFP и вики VFP (http://fox.wikis.com). Как только вы решите, какой подход вы хотите использовать, вы можете задать конкретные вопросы.

...