powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как работать с ADO OLE DB в VFP?
3 сообщений из 3, страница 1 из 1
Как работать с ADO OLE DB в VFP?
    #32518410
Mountain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я новичок в VFP. Прошу помочь
Как работать с ADO OLE DB в VFP?

Заранее благодарен.
...
Рейтинг: 0 / 0
Как работать с ADO OLE DB в VFP?
    #32518411
Mountain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я новичок в VFP. Прошу помочь
Как работать с ADO OLE DB в VFP?

Заранее благодарен.
...
Рейтинг: 0 / 0
Как работать с ADO OLE DB в VFP?
    #32518493
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
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()
-or-
Use a client cursor.
For example:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
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.CursorLocation=  3             && adUseClient
oConn.Open(cConnStrng)

*!* Open RecordSet using keyset cursor and optimistic locking.
oRS.Open(;
   "SELECT * FROM customers WHERE customerid = 'CACTU'",oConn, 1 , 3 , 1 )
? 'Current value:',oRS.Fields("contactname").Value
oRS.Fields("contactname").Value = "Patricio X. Simpson"
oRS.Update()
oRS.Requery()
? 'New value:',oRS.Fields("contactname").Value
oRS.Close()
oConn.Close()
-or-
Use a server cursor.
For example:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
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)

*!* Updatable server cursors must use the USE <table name> command to 
*!* open the table, not a SELECT statement. Server cursor is updatable,
*!* opened keyset, and lock optimistic.
oRS.Open("USE customers",oconn, 1 , 3 , 1 )
? 'CursorLocation:',IIF(oRS.CursorLocation2,"adUseServer","adUseClient")

* Find CACTU.
? oRS.Find("customerid='CACTU'")
? 'Current value:',oRS.Fields("contactname").Value
oRS.Fields("contactname").Value = "Patricio Simpson"
oRS.Update()
oRS.Requery()
oRS.Find("customerid='CACTU'")
? 'New value:',oRS.Fields("contactname").Value 
oRs.Close()
oRS =''
oConn.Close()oConn=''

(С) Microsoft - руководство идет в комплекте с OLE DB
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как работать с ADO OLE DB в VFP?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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