SET PROCEDURE TO clsRapi ADDITIVE
SET PROCEDURE TO clsRapiDb ADDITIVE
PRIVATE oRapi As TrapiDb
oRapi = CREATEOBJECT("TrapiDb")
IF NOT oRapi.Connected
= MESSAGEBOX("Mobile device is unavailable. ", 48, "Error")
RETURN
ENDIF
LOCAL cDbname, dbsrc As RapiDatabase, dbdst As RapiDatabase,;
nIndex, oProp As RecProperty, nRecordOid
cDbname="dbContactsCopy"
WITH oRapi.databases
* re-creates empty database
.DeleteDatabase(m.cDbname)
.CreateDatabase(m.cDbname)
dbsrc = .GetDatabase("Contacts Database")
dbdst = .GetDatabase(m.cDbname)
ENDWITH
IF NOT dbsrc.OpenDatabase()
= MESSAGEBOX("Error code:" +;
TRANSFORM(dbsrc.errorcode) + ". " + CHR(13) +;
"Could not open source database. ", 48, "Error")
RETURN
ENDIF
IF NOT dbdst.OpenDatabase()
= MESSAGEBOX("Error code:" +;
TRANSFORM(dbsrc.errorcode) + ". " + CHR(13) +;
"Could not open target database. ", 48, "Error")
RETURN
ENDIF
* copying each property of each record in the source database
* to the target database
FOR nIndex=0 TO dbsrc.dbreccount-1
dbsrc.goto(nIndex)
* initial zero value of the record oid
* causes the system to create new record
nRecordOid=0
FOR EACH oProp IN dbsrc.props
= dbdst.WriteProp(@nRecordOid, oProp)
NEXT
NEXT
dbsrc.CloseDatabase
dbdst.CloseDatabase
|