* This script handles the ADO Connection and uses a CursorAdapter object * to retrieve data to a cursor. Public oCA As CursorAdapter Local oConn As ADODB.Connection Local oRS As ADODB.Recordset Local oException As Exception Local cConnString * Handle connections - insert connection code cConnString = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;"+; "Data Source=D:\Depomatik.sdf" Try oConn = Createobject('ADODB.Connection') * Ensure that you handle userid and password if not * specified in connection string. * ex. oConn.Open(cConnString, userid, password) oConn.Open(cConnString) oRS = Createobject("ADODB.Recordset") oRS.Datasource.CursorLocation = 3 &&adUseClient oRS.Datasource.LockType = 3 &&adLockOptimistic oRS.ActiveConnection = oConn oCA=Createobject("CursorAdapter") oCA.DataSourceType = "ADO" oCA.Datasource = oRS oCA.MapBinary = .T. oCA.MapVarchar = .T. oCA.Alias = "CARI" oCA.SelectCmd = "SELECT * FROM CARI" oCA.UpdateCmd = "" oCA.InsertCmd = "" oCA.DeleteCmd = "" If !oCA.CursorFill() * Replace with error code here Local laError Dimension laError[1] Aerror(laError) Messagebox(laError[2]) Else * Replace with user code here. Code below allows for * you to edit and send updates to the backend. Local laFlds,lcStr,lnFldCount,i Dimension laFlds[1] lnFldCount=Afields(laFlds) lcStr="" For i = 1 To lnFldCount lcStr = lcStr + laFlds[m.i,1] + "," Endfor oCA.UpdatableFieldList = lcStr BROWSE NORMAL NOWAIT Endif Catch To oException * Replace with exception handling code here Messagebox(oException.Message) Endtry * Add user code here. * Note: cursors created by CursorAdapter object are closed when object is released.