mobile databases, mobile forms, and mobile synchronization … where you need to work
Providing Pocket Access, Mobile Database, Windows CE Database, and Windows CE Development Solutions

Dr. DeeBee® ODBC Driver Kit

User Implemented Functions

The Dr. DeeBee® ODBC Driver Kit contains the complete source code for a fully functional ODBC driver that you can modify and distribute royalty-free. All you have to do is implement an ISAM Access Method (calls like OpenTable, NextRecord, GetData, and PutData) and re-compile.

At the lowest level of the source code is a module called ISAM.C. This module contains the functions you have to reimplement (initially they are implemented to read and write dBase files).
(calls/parameters only needed by the Network, Gold, and Silver Editions are in boldface):

Below are the just the prototypes for thses calls, for more detail, download the complete definition of these functions.

SWORD ISAMOpen(
LPSTR lpszDatabase,
LPSTR lpszDSN,
LPSTR lpszUsername,
LPSTR lpszPassword,
LPISAM FAR *lplpISAM,
LPSTR lpszErrorMessage);
SWORD ISAMGetTableList(
LPISAM lpISAM,
LPSTR lpPattern,
SWORD cbPattern,
LPISAMTABLELIST FAR *lplpISAMTableList);
SWORD ISAMGetNextTableName(
LPISAMTABLELIST lpISAMTableList,
LPSTR lpTableName);
SWORD ISAMFreeTableList(
LPISAMTABLELIST lpISAMTableList);
SWORD ISAMForeignKey(
LPISAM lpISAM,
LPSTR lpszPrimaryKeyTableName,
LPSTR lpszForeignKeyTableName,
LPSTR lpPrimaryKeyName,
LPSTR lpForeignKeyName,
SWORD FAR *lpfUpdateRule,
SWORD FAR *lpfDeleteRule,
UWORD FAR *lpcISAMKeyColumnList,
LPISAMKEYCOLUMNNAME ISAMPrimaryKeyColumnList,
LPISAMKEYCOLUMNNAME ISAMForiegnKeyColumnList,
SWORD FAR *lpfDeferrability);
SWORD ISAMCreateTable(
LPISAM lpISAM,
LPSTR lpszTableName,
LPISAMTABLEDEF FAR *lplpISAMTableDef);
SWORD ISAMAddColumn(
LPISAMTABLEDEF lpISAMTableDef,
LPSTR lpszColumnName,
UWORD iSqlType,
UDWORD udParam1,
UDWORD udParam2);
SWORD ISAMCreateIndex(
LPISAMTABLEDEF lpISAMTableDef,
LPSTR lpszIndexName,
BOOL fUnique,
UWORD count,
UWORD FAR *icol,
BOOL FAR *fDescending);
SWORD ISAMDeleteIndex(
LPISAM lpISAM,
LPSTR lpszIndexName);
SWORD ISAMOpenTable(
LPISAM lpISAM,
LPSTR lpszTableName,
BOOL fReadOnly,
LPISAMTABLEDEF FAR *lplpISAMTableDef);
SWORD ISAMRewind(
LPISAMTABLEDEF lpISAMTableDef);
SWORD ISAMSort(
LPISAMTABLEDEF lpISAMTableDef,
UWORD count,
UWORD FAR *icol,
BOOL FAR *fDescending);
SWORD ISAMRestrict(
LPISAMTABLEDEF lpISAMTableDef,
UWORD count,
UWORD FAR *icol,
UWORD FAR *fOperator,
SWORD FAR *fCType,
PTR FAR *rgbValue,
SDWORD FAR *cbValue);
SWORD ISAMNextRecord(
LPISAMTABLEDEF lpISAMTableDef);
SWORD ISAMGetData(
LPISAMTABLEDEF lpISAMTableDef,
UWORD icol,
SDWORD cbOffset,
SWORD fCType,
PTR rgbValue,
SDWORD cbValueMax,
SDWORD FAR *pcbValue);
SWORD ISAMPutData(
LPISAMTABLEDEF lpISAMTableDef,
UWORD icol,
SWORD fCType,
PTR rgbValue,
SDWORD cbValue);
SWORD ISAMInsertRecord(
LPISAMTABLEDEF lpISAMTableDef);
SWORD ISAMUpdateRecord(
LPISAMTABLEDEF lpISAMTableDef);
SWORD ISAMDeleteRecord(
LPISAMTABLEDEF lpISAMTableDef);
SWORD ISAMGetBookmark(
LPISAMTABLEDEF lpISAMTableDef,
ISAMBOOKMARK FAR *lpISAMBookmark);
SWORD ISAMPosition(
LPISAMTABLEDEF lpISAMTableDef,
ISAMBOOKMARK ISAMBookmark);
SWORD ISAMCloseTable(
LPISAMTABLEDEF lpISAMTableDef);
SWORD ISAMDeleteTable(
LPISAM lpISAM,
LPSTR lpszTableName);
SWORD ISAMPrepare(
LPISAM lpISAM,
UCHAR FAR *szSqlStr,
SDWORD cbSqlStr,
LPISAMSTATEMENT FAR *lplpISAMStatement,
LPSTR lpszTablename,
UWORD FAR *lpParamCount);
SWORD ISAMParameter(
LPISAMSTATEMENT lpISAMStatement,
UWORD ipar,
SWORD fCType,
PTR rgbValue,
SDWORD cbValue);
SWORD ISAMExecute(
LPISAMSTATEMENT lpISAMStatement,
SDWORD FAR *lpRowCount,
SDWORD FAR *lpfFunctionCode);
SWORD ISAMFreeStatement(
LPISAMSTATEMENT lpISAMStatement);
SWORD ISAMSetTxnIsolation(
LPISAM lpISAM,
UDWORD fTxnIsolationLevel);
SWORD ISAMCommitTxn(
LPISAM lpISAM);
SWORD ISAMRollbackTxn(
LPISAM lpISAM);
SWORD ISAMClose(
LPISAM lpISAM);
SWORD ISAMErrorMessage(
LPISAM lpISAM,
LPSTR lpszErrorMessage);
LPSQLTYPE ISAMGetColumnType(
LPISAMTABLEDEF lpISAMTableDef,
UWORD icol);
BOOL ISAMCaseSensitive(
LPISAM lpISAM);
LPCSTR ISAMName(
LPISAM lpISAM);
LPCSTR ISAMVersion(
LPISAM lpISAM);
LPCSTR ISAMDriver(
LPISAM lpISAM);
SWORD ISAMMaxTableNameLength(
LPISAM lpISAM);
SWORD ISAMMaxColumnNameLength(
LPISAM lpISAM);
LPSTR ISAMUser(
LPISAM lpISAM);
LPSTR ISAMDatabase(
LPISAM lpISAM);

 

 

 

 

 


Contact SYWARE @ 617-497-1300 or click here to email us for detailed product & purchasing information.
4 Easy Steps to Mobility