home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / DBSQL.ZIP / DBSQL.H < prev    next >
Text File  |  1990-12-02  |  5KB  |  128 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /* MODULE     : DBSQL.H                                                     */
  4. /* TITLE      : Database Engine for C                                       */
  5. /* ENVIROMENT : OS/2 Base Enviroment                                        */
  6. /* VERSION    : 1.10                                                        */
  7. /* STATUS     : ALPHA                                                       */
  8. /*                                                                          */
  9. /* DEVELOPED BY:                                                            */
  10. /*      Bradley S. Gibson                                                   */
  11. /*                                                                          */
  12. /* COPYRIGHT:                                                               */
  13. /*      Copyright (c) 1989, 1990 Bradley S. Gibson                          */
  14. /*                                                                          */
  15. /*  DESCRIPTION:                                                            */
  16. /*                                                                          */
  17. /* MODULE REQUIREMENTS:                                                     */
  18. /*                                                                          */
  19. /****************************************************************************/
  20.  
  21. #define SQL_MAXCMDBUF    1024
  22. #define SQL_MAXPROCESS    64
  23.  
  24. #define DBSQLMSG    "DbSql.Msg"
  25.  
  26. typedef struct sqlda SQLDA;
  27. typedef SQLDA *PSQLDA;
  28.  
  29. typedef struct tagBINDTYPE
  30. {
  31.     SHORT   sBindType;
  32.     PBYTE   pBindAddress;
  33. }BINDTYPE;
  34.  
  35. typedef BINDTYPE *PBINDTYPE;
  36.  
  37. typedef struct tagBINDVAR
  38. {
  39.     USHORT    cbBind;
  40.     BINDTYPE  pBindType[1];
  41. }BINDVAR;
  42.  
  43. typedef BINDVAR *PBINDVAR;
  44.  
  45. // BIND TYPES
  46.  
  47. #define BIND_NULL       0
  48. #define BIND_BYTE       1
  49. #define BIND_CHAR       2
  50. #define BIND_SHORT      3
  51. #define BIND_USHORT     4
  52. #define BIND_LONG       5
  53. #define BIND_ULONG      6
  54. #define BIND_FLOAT      7
  55. #define BIND_DOUBLE     8
  56. #define BIND_DECIMAL    9
  57. #define BIND_PSZ        10
  58.  
  59. typedef struct tagSQLPROCESS
  60. {
  61.     CHAR        szDbName[10];
  62.     CHAR        szUserID[10];
  63.     PSZ         pszCmdBuf;
  64.     PSQLDA      pSqlDa;
  65.     PBINDVAR    pBindVar;
  66.     SHORT    sProcessNum;
  67. }SQLPROCESS;
  68.  
  69. typedef SQLPROCESS *PSQLPROCESS;
  70.  
  71. typedef struct tagSQLCOLUMNINFO
  72. {
  73.     CHAR    szColumnName[31];
  74.     SHORT   sSqlType;
  75.     SHORT   sSqlLength;
  76. }SQLCOLUMNINFO;
  77.  
  78. typedef struct tagVARCHAR
  79. {
  80.     short   sVarLen;
  81.     char    achString[4000];
  82. }VARCHAR;
  83.  
  84. typedef VARCHAR  *PVARCHAR;
  85.  
  86. typedef struct tagDECIMAL
  87. {
  88.     BYTE percision;
  89.     BYTE scale;
  90.     BYTE len;
  91.     BYTE data[17];
  92. }DECIMAL;
  93.  
  94. typedef DECIMAL   *PDECIMAL;
  95.  
  96. #define CEXPENTRY cdecl FAR _loadds
  97.  
  98. BOOL        CEXPENTRY  SqlCreateDatabase    ( PSZ pszDbName, PSZ pszComment, CHAR cDrive );
  99. PSQLPROCESS    CEXPENTRY  SqlOpenDB        ( PSZ pszDbName );
  100. VOID        CEXPENTRY  SqlCloseDB        ( PSQLPROCESS pSqlProcess );
  101. BOOL        CEXPENTRY  SqlCommand        ( PSQLPROCESS pSqlProcess, PSZ pszSqlCmd );
  102. BOOL        CEXPENTRY  SqlCommandf        ( PSQLPROCESS pSqlProcess, PSZ pszSqlCmd, ... );
  103. BOOL        CEXPENTRY  SqlExecute        ( PSQLPROCESS pSqlProcess );
  104. VOID        CEXPENTRY  SqlBindByNum     ( PSQLPROCESS pSqlProcess, USHORT usColNum, PVOID pVar, SHORT sBindType );
  105. VOID        CEXPENTRY  SqlBindByName    ( PSQLPROCESS pSqlProcess, PSZ pszColName, PVOID pVar, SHORT sBindType );
  106. BOOL        CEXPENTRY  SqlResults        ( PSQLPROCESS pSqlProcess );
  107. BOOL        CEXPENTRY  SqlOpenCursor    ( PSQLPROCESS pSqlProcess );
  108. BOOL        CEXPENTRY  SqlCloseCursor    ( PSQLPROCESS pSqlProcess );
  109. BOOL        CEXPENTRY  SqlFetchRow        ( PSQLPROCESS pSqlProcess );
  110. BOOL        CEXPENTRY  SqlCommit        ( PSQLPROCESS pSqlProcess );
  111. BOOL        CEXPENTRY  SqlRollback        ( PSQLPROCESS pSqlProcess );
  112. BOOL        CEXPENTRY  SqlImport        ( PSQLPROCESS pSqlProcess, PSZ pszTable, PSZ pszFile, SHORT sFileType, SHORT sInsert );
  113. BOOL        CEXPENTRY  SqlExport        ( PSQLPROCESS pSqlProcess, PSZ pszTable, PSZ pszFile, SHORT sFileType );
  114. USHORT        CEXPENTRY  SqlGetNumberColumns    ( PSQLPROCESS pSqlProcess );
  115. SQLCOLUMNINFO    CEXPENTRY  SqlGetColumnNameInfo ( PSQLPROCESS pSqlProcess, SHORT sColNum );
  116. PVOID        CEXPENTRY  SqlCreateColumnVar    ( PSQLPROCESS pSqlProcess, SHORT sColNum );
  117. VOID        CEXPENTRY  SqlDeleteColumnVar    ( PSQLPROCESS pSqlProcess, PVOID pVar );
  118. VOID        CEXPENTRY  SqlListDatabases    ( VOID );
  119. VOID        CEXPENTRY  SqlListTables    ( PSQLPROCESS pSqlProcess );
  120. VOID        CEXPENTRY  SqlListColumns    ( PSQLPROCESS pSqlProcess );
  121.  
  122. PSQLDA AllocSqlDa       ( int );
  123. void   FreeSqlDa        ( PSQLDA );
  124. int    AllocRow         ( PSQLDA );
  125. void   FreeRow          ( PSQLDA );
  126. void   BindRow          ( PSQLPROCESS );
  127. double PackedToDouble   ( BYTE, BYTE, BYTE, PBYTE );
  128.