>>* 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 oComm As ADODB.Command >>Local oException As Exception >>Local cConnString >> >>* Handle connections - insert connection code >>*-cConnString = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;"+; >>"Data Source=D:\Depomatik.sdf" >> >> >>cConnString = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;"+; >> "Data Source=D:\SOYKAN\MYSOFTWARE\DEPOMATIK_MOBILE_NET\DepomatikNet\DepomatikNet\bin\Debug\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) >> oComm = Createobject("ADODB.Command") >> oComm.ActiveConnection = oConn >> >> >> 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.SendUpdates = .T. >> oCA.KeyFieldList = "MyGuid" && Put the Key Field list here >> oCA.WhereType = 1 && Key Fields >> >> oCA.Alias = "CARI" >> oCA.SelectCmd = "SELECT * FROM CARI" >> oCA.InsertCmdDataSourceType = "ADO" >> oCA.UpdateCmdDataSourceType = "ADO" >> oCA.DeleteCmdDataSourceType = "ADO" >> oCA.RefreshCmdDataSourceType = "ADO" >> >> oCA.InsertCmdDataSource = oComm >> oCA.UpdateCmdDataSource = oComm >> oCA.DeleteCmdDataSource = oComm >> oCA.RefreshCmdDataSource = oComm >> >> >> If !oCA.CursorFill(.F.,.F.,-1,oComm) >> * 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="" >> lcStr2 = "" >> For i = 1 To lnFldCount >> lcStr = lcStr + laFlds[m.i,1] + "," >> lcStr2 = lcStr2 + laFlds[m.i,1] + " CARI."+laFlds[m.i,1]+"," && There should be SPACE before CARI >> Endfor >> oCA.UpdatableFieldList = Left(lcStr , Len(lcStr )-1) && To remove last comma >> oCA.UpdateNameList = Left(lcStr2, Len(lcStr2)-1) && To remove last comma >> >> *-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. >> >> >>oConn.Close() >> >>>>
>>cSQL = [ insert into oCa.Alias(ckodu,cadi) values('XXX','ATA') ] >> >>oComm.Execute(m.cSQL) >>Tableupdate(2,.T.,oCA.Alias) >>oCA.CursorRefresh() >>Browse Normal &&Nowait >> >>cSQL = [ update oCa.Alias set cadi='Dila Hatem' where ckodu='XXX' ] >>oComm.Execute(m.cSQL) >>Tableupdate(2,.T.,oCA.Alias) >>oCA.CursorRefresh() >>Browse Normal &&Nowait >> >>cSQL = [ delete from oCa.Alias where ckodu='XXX' ] >>oComm.Execute(m.cSQL) >>Tableupdate(2,.T.,oCA.Alias) >>oCA.CursorRefresh() >>Browse Normal &&Nowait >> >>>