AdoDbServer Class
<< Click to Display Table of Contents >> AdoDbServer Class |
![]() ![]() ![]() |
The sample AdoDbServer class shows how you can use a server class as Tabe callback class.
The class has both Callback methods and methods/accesses/assigns to get/set the advanced workarea properties
CLASS AdoDbServer INHERIT DbServer
PROTECT sColumnList AS USUAL
PROTECT nCursorType AS USUAL
PROTECT nLockType AS USUAL
PROTECT nMaxRecords AS USUAL
PROTECT sOrderBy AS USUAL
PROTECT sStatement AS USUAL
PROTECT sCOlumn AS USUAL
PROTECT sWhere AS USUAL
METHOD ClearRecordset() CLASS AdoDbServer
RETURN SELF:Info(DBI_CLEARRECORDSET)
METHOD ColumnList(sTable, sDefault) CLASS AdoDbServer
RETURN iif(IsString(sColumnList), sCOlumnList, sDefault)
ACCESS ColumnList CLASS AdoDbServer
RETURN sColumnList
ASSIGN ColumnList(sNew) CLASS AdoDbServer
sColumnList := sNew
RETURN sNew
ACCESS Connection() CLASS AdoDbServer
RETURN SELF:Info(DBI_CONNECTIONOBJECT)
ACCESS ConnectionString() CLASS AdoDbServer
RETURN SELF:Info(DBI_CONNECTIONSTRING)
METHOD CursorType(sTable, nDefault) CLASS AdoDbServer
RETURN iif(IsNumeric(nCursorType), nCursorType, nDefault)
ACCESS CursorType CLASS AdoDbServer
RETURN nCursorType
ASSIGN CursorType(nNew) CLASS AdoDbServer
nCursorType := nNew
RETURN nNew
ACCESS HasTransaction() CLASS AdoDbServer
RETURN SELF:Info(DBI_HASTRANS)
METHOD Init(oFile, lShareMode, lROMode, xDriver, aRdd) CLASS AdoDbServer
IF IsString(oFile)
AdoDbSetTableCallBack(oFile, SELF)
ELSEIF IsInstanceOfUsual(oFile, #FileSpec)
AdoDbSetTableCallBack(oFile:FileName, SELF)
ELSE
// What else ?
ENDIF
SUPER:Init(oFile, lShareMode, lROMode, xDriver, aRdd)
METHOD LockType(sTable, nDefault) CLASS AdoDbServer
RETURN iif(IsNumeric(nLockType), nLockType, nDefault)
ACCESS LockType CLASS AdoDbServer
RETURN nLockType
ASSIGN LockType(nNew) CLASS AdoDbServer
nLockType := nNew
RETURN nNew
METHOD MaxRecords(sTable, nDefault) CLASS AdoDbServer
RETURN iif(IsNumeric(nMaxRecords), nMaxRecords, nDefault)
ACCESS MaxRecords CLASS AdoDbServer
RETURN nMaxRecords
ASSIGN MaxRecords(nNew) CLASS AdoDbServer
nMaxRecords := nNew
RETURN nNew
METHOD OrderByClause(sTable, sDefault) CLASS AdoDbServer
RETURN iif(IsString(sOrderBy), sOrderBy, sDefault)
ACCESS OrderByClause CLASS AdoDbServer
RETURN sOrderBy
ASSIGN OrderByClause(sNew) CLASS AdoDbServer
sOrderBy := sNew
RETURN sNew
METHOD PreExecute(sTable, sDefault) CLASS AdoDbServer
RETURN sDefault
METHOD RecnoColumn(sTable, sDefault) CLASS AdoDbServer
RETURN iif(IsString(sColumn), sColumn, sDefault)
ACCESS RecnoColumn CLASS AdoDbServer
RETURN sColumn
ASSIGN RecnoColumn(sNew) CLASS AdoDbServer
sColumn := sNew
RETURN sNew
ACCESS RecordSet() CLASS AdoDbServer
RETURN SELF:Info(DBI_RECORDSET)
METHOD SaveConnection(cFileName ) CLASS AdoDbServer
RETURN SELF:Info(DBI_SAVECONNECTION, cFileName)
METHOD SaveProvider(cFileName ) CLASS AdoDbServer
RETURN SELF:Info(DBI_SAVEPROVIDER, cFileName)
METHOD SaveTableDef(cFileName) CLASS AdoDbServer
RETURN SELF:Info(DBI_SAVETABLEDEF, cFileName)
METHOD Seek(uSearchExpr, lSoftSeek, lLast) CLASS AdoDbServer
LOCAL lOk AS LOGIC
lOk := SUPER:Seek(uSearchExpr, lSoftSeek, lLast)
SELF:Notify(NOTIFYFILECHANGE)
RETURN lOk
ACCESS ServerFilter() CLASS AdoDbServer
RETURN SELF:Info(DBI_SERVERFILTER)
ASSIGN ServerFilter(cFilter ) CLASS AdoDbServer
RETURN SELF:Info(DBI_SERVERFILTER, cFilter)
ACCESS SQLString() CLASS AdoDbServer
RETURN SELF:Info(DBI_SQLSTRING)
METHOD TransactionBegin() CLASS AdoDbServer
RETURN SELF:Info(DBI_BEGINTRANS,NIL)
METHOD TransactionCommit() CLASS AdoDbServer
RETURN SELF:Info(DBI_COMMITTRANS,NIL)
METHOD TransactionRollBack() CLASS AdoDbServer
RETURN SELF:Info(DBI_ROLLBACKTRANS,NIL)
METHOD WarningMessage(sTable, sMessage) CLASS AdoDbServer
RETURN sMessage
METHOD WhereClause(sTable, sDefault) CLASS AdoDbServer
RETURN iif(IsString(sWhere), sWhere, sDefault)
ACCESS WhereClause CLASS AdoDbServer
RETURN sWhere
ASSIGN WhereClause(sNew) CLASS AdoDbServer
sWhere := sNew
RETURN sNew