powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP6+ADO
9 сообщений из 9, страница 1 из 1
VFP6+ADO
    #32581649
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПРИВЕТ ВСЕМ!
ТЕМА - ДОСТУЧАТЬСЯ ДО СОБЫТИЙ ADO ИЗ FOXPRO!!!
СЛЫШАЛ,ЧТО В FOXTALK БЫЛА СТАТЬЯ ПАРУ ЛЕТ НАЗАД, НО НЕ НАШЕЛ.
ВОЗМОЖНО ЛИ ЭТО ИЛИ НАШ УДЕЛ - ON ERROR?
БУДУ БЛАГОДАРЕН ВСЕМ ЗА ИНФОРМАЦИЮ.
...
Рейтинг: 0 / 0
VFP6+ADO
    #32582213
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просмотрите HELP, который идет в комплекте с VFP OLE DB Provider for VFP 8.0.
Там есть неплохие примеры ...
...
Рейтинг: 0 / 0
VFP6+ADO
    #32588686
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО ЗА ИНФОРМАЦИЮ,НО ПРИМЕРЫ ТО КАК РАЗ НЕ ПРО VFP!!!
...
Рейтинг: 0 / 0
VFP6+ADO
    #32588921
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, может быть у Вас OLE DB не той системы?

Вот маленький кусочек из dv_FoxProProvider:

To update Visual FoxPro data through the Visual FoxPro OLE DB Provider using ADO
Call an update, insert, or delete command directly.
To call an update command directly, use the ADO Execute method. For example:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 
CLEAR
LOCAL oConn as "adodb.connection"
LOCAL oRS as "adodb.recordset"
oConn = CREATEOBJECT('adodb.connection')
oRS = CREATEOBJECT('adodb.recordset')
cConnStrng = ;
   "Provider=vfpoledb;Data Source="+HOME( 2 )+"northwind\northwind.dbc"
oConn.Open(cConnStrng)
oConn.BeginTrans()
oConn.Execute("UPDATE Customers SET contactname = 'Patricio X. Simpson';
   WHERE customerid='CACTU'")
oRS = oConn.Execute("SELECT * FROM customers WHERE customerid = 'CACTU'")
?oRS.Fields("contactname").Value
oConn.RollbackTrans()
oRS.Requery()
?oRS.Fields('contactname').Value
oRS.Close()
oConn.Close()
...
Рейтинг: 0 / 0
VFP6+ADO
    #32588925
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и там далее по тексту много еще чего интересного есть...
...
Рейтинг: 0 / 0
VFP6+ADO
    #32589026
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДОБРЫЙ ДЕНЬ! ДЕЙСТВИТЕЛЬНО ЭТОТ ФАЙЛ У МЕНЯ ЕСТЬ, ЭТИ
ЭЛЕМЕНТАРНЫЕ ПРИМЕРЫ ЧИТАЛ И ПИСАЛ НА VFP6+ADO
ПРОГРАММЫ(ГДЕ ON ERROR , RESYNC(), B REQUERY() - ИНСТРУМЕНТ
РАЗРЕЩЕНИЯ КОНФЛИКТОВ ПРИ СОВМЕСТНОЙ РАБОТЕ)
ВОПРОС НЕМНОГО В ДРУГОМ:
ВОЗМОЖНА ЛИ В VFP РАБОТА С СОБЫТИЯМИ ADO.
НАПРИМЕР ОБЪЕКТ CONNECTION ИМЕЕТ ТРИ СОБЫТИЯ:
- WILLCONNECT
- CONNECTCOMPLETE
- DISCONNECT
(ВЗЯТО ИЗ КНИГИ АДО И АДО.NET ПОЛНОЕ РУКОВОДСТВО МАЙКЛ ГАНДЕРЛОЙ
...НУ И В MSDN НАЙТИ МОЖНО!!!)
ОБЪЕКТ RECORDSET ТАКЖЕ ИМЕЕТ КУЧУ СОБЫТИЙ,
ПЕРЕХВАТЫВАЯ КОТОРЫЕ МОЖНО ЭФФЕКТИВНО УПРАВЛЯТЬ
ОБНОВЛЕНИЕМ ДАННЫХ НА СЕРВЕРЕ.
КАК ПЕРЕХВАТИТЬ ЭТИ СОБЫТИЯ В VB6 - ЭТО ИЗВЕСТНО ИЗ ЛИТЕРАТУРЫ
(ХОТЯ Я НЕ СПЕЦИАЛИСТ ПО VB6)
А КАК В VFP6-7-8 ?
ЕСЛИ НЕЛЬЗЯ ИХ ПЕРЕХВАТЫВАТЬ , ТО МОЖНО ЛИ ВЗАМЕН
ИСПОЛЬЗОВАТЬ СОБЫТИЯ ОБЪЕКТА CURSORADAPTER В VFP8?
...
Рейтинг: 0 / 0
VFP6+ADO
    #32589095
Pavel_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
VFP6+ADO
    #32589140
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО ЗА ССЫЛКУ!!! ЕСТЬ ЧТО ПОЧИТЕТЬ НА РУССКОМ.
Я ТАК ПОНЯЛ , ЧТО В VFP6 СОБЫТИЯМ НАДО СКАЗАТЬ ПОКА!
...
Рейтинг: 0 / 0
VFP6+ADO
    #32614983
vfpcom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sar99...
Я ТАК ПОНЯЛ , ЧТО В VFP6 СОБЫТИЯМ НАДО СКАЗАТЬ ПОКА!

Не обязательно, есть такая штука, называется VFPCOM (под таким именем и ищите на сайте Microsoft или в MSDN).
Это СОМ-компонент, который позволяет сгенерить своего рода "прокси"-класс VFP с "заглушками" для вызова событий других COM-компонентов (ADO и иже с ними, лишь бы ProgID был доступен в системе).
После того, как в программе на VFP будут созданы экземпляры COM-класса (того же " ADODB.Connection "), "прокси"-класса (в котором на месте "заглушек" надо написать реальные обработчики событий) и самого VFPCOM-компонента (" VFPCOM.COMUTIL ") - нужно всего лишь "связать" события COM-компонента и методы-обработчики "прокси"-класса вызовом метода BindEvents .

Что-то типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#DEFINE C_VFPCOMCLASS  'vfpcom.comutil'
oVFPCOM = CreateObject(C_VFPCOMCLASS)
oRecordSet = CreateObject('ADODB.RECORDSET')
oRecordSet.CursorType =  3  && adOpenStatic
oRecordSet.LockType =  1  && adLockReadOnly
oRecordSet.Open('SELECT * FROM AUTHORS', + ;
   'Provider=sqloledb;Server=MYSQL1;' + ;
   'Initial Catalog= pubs;UId=sa;PWD=; ')
oEvents = CreateObject('adoevents')
nError = oVFPCOM.BindEvents(oRecordSet, oEvents)
oRecordSet.MoveNext

DEFINE CLASS adoevents AS Session

      PROCEDURE WillMove(adReason, adStatus, pRecordset)
            WAIT WINDOW 'Moving one record...' NOWAIT
      ENDPROC

ENDDEFINE
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP6+ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]