home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / isql.h < prev    next >
C/C++ Source or Header  |  2002-08-25  |  7KB  |  254 lines

  1. /*
  2.  *  isql.h
  3.  *
  4.  *  $Id: isql.h,v 1.5 2002/08/25 18:25:21 SN Exp $
  5.  *
  6.  *  iODBC defines
  7.  *
  8.  *  The iODBC driver manager.
  9.  *
  10.  *  Copyright (C) 1995 by Ke Jin <kejin@empress.com>
  11.  *
  12.  *  This library is free software; you can redistribute it and/or
  13.  *  modify it under the terms of the GNU Library General Public
  14.  *  License as published by the Free Software Foundation; either
  15.  *  version 2 of the License, or (at your option) any later version.
  16.  *
  17.  *  This library is distributed in the hope that it will be useful,
  18.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.  *  Library General Public License for more details.
  21.  *
  22.  *  You should have received a copy of the GNU Library General Public
  23.  *  License along with this library; if not, write to the Free
  24.  *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  25.  */
  26. #ifndef _ISQL_H
  27. #define _ISQL_H
  28.  
  29. #if defined(__WIN16__)
  30.  
  31. #define SQL_API EXPORT CALLBACK
  32. #ifndef EXPORT
  33. #define EXPORT _export
  34. #endif
  35.  
  36. #elif defined(WIN32)
  37. #define SQL_API                __stdcall
  38.  
  39. #ifndef FAR
  40. #define FAR
  41. #endif
  42.  
  43. #elif defined(__OS2__)
  44. #define SQL_API                _Optlink
  45.  
  46. #ifndef FAR
  47. #define FAR
  48. #define EXPORT
  49. #define CALLBACK
  50. #endif
  51.  
  52. #else
  53. #define FAR
  54. #define EXPORT
  55. #define CALLBACK
  56. #define SQL_API                EXPORT CALLBACK
  57.  
  58. #ifndef __EMX__
  59. typedef void *HWND;
  60. #endif
  61. #endif
  62.  
  63. typedef void *SQLHWND;
  64.  
  65. typedef unsigned char UCHAR;
  66. typedef long int SDWORD;
  67. typedef short int SWORD;
  68. typedef unsigned long int UDWORD;
  69. typedef unsigned short int UWORD;
  70.  
  71. typedef void FAR *PTR;
  72. typedef void FAR *HENV;
  73. typedef void FAR *HDBC;
  74. typedef void FAR *HSTMT;
  75.  
  76. typedef signed short RETCODE;
  77. #define SQLRETURN    RETCODE
  78.  
  79.  
  80. #define ODBCVER                0x0250
  81.  
  82. #define SQL_MAX_MESSAGE_LENGTH        512
  83. #define SQL_MAX_DSN_LENGTH        32
  84.  
  85. /*
  86.  *  Function return codes
  87.  */
  88. #define SQL_INVALID_HANDLE        (-2)
  89. #define SQL_ERROR            (-1)
  90. #define SQL_SUCCESS             0
  91. #define SQL_SUCCESS_WITH_INFO        1
  92. #define SQL_NO_DATA_FOUND        100
  93.  
  94. /*
  95.  *  Standard SQL datatypes, using ANSI type numbering
  96.  */
  97. #define SQL_CHAR            1
  98. #define SQL_NUMERIC             2
  99. #define SQL_DECIMAL             3
  100. #define SQL_INTEGER             4
  101. #define SQL_SMALLINT            5
  102. #define SQL_FLOAT            6
  103. #define SQL_REAL            7
  104. #define SQL_DOUBLE            8
  105. #define SQL_VARCHAR             12
  106.  
  107. #define SQL_TYPE_MIN            SQL_CHAR
  108. #define SQL_TYPE_NULL            0
  109. #define SQL_TYPE_MAX            SQL_VARCHAR
  110.  
  111. /*
  112.  *  C datatype to SQL datatype mapping
  113.  */
  114. #define SQL_C_CHAR            SQL_CHAR
  115. #define SQL_C_LONG            SQL_INTEGER
  116. #define SQL_C_SHORT            SQL_SMALLINT
  117. #define SQL_C_FLOAT            SQL_REAL
  118. #define SQL_C_DOUBLE            SQL_DOUBLE
  119. #define SQL_C_DEFAULT             99
  120.  
  121. /*
  122.  *  NULL status constants.
  123.  */
  124. #define SQL_NO_NULLS            0
  125. #define SQL_NULLABLE            1
  126. #define SQL_NULLABLE_UNKNOWN        2
  127.  
  128. /*
  129.  *  Special length values
  130.  */
  131. #define SQL_NULL_DATA            (-1)
  132. #define SQL_DATA_AT_EXEC        (-2)
  133. #define SQL_NTS             (-3)
  134.  
  135. /*
  136.  *  SQLFreeStmt
  137.  */
  138. #define SQL_CLOSE            0
  139. #define SQL_DROP            1
  140. #define SQL_UNBIND            2
  141. #define SQL_RESET_PARAMS        3
  142.  
  143. /*
  144.  *  SQLTransact
  145.  */
  146. #define SQL_COMMIT            0
  147. #define SQL_ROLLBACK            1
  148.  
  149. /*
  150.  *  SQLColAttributes
  151.  */
  152. #define SQL_COLUMN_COUNT        0
  153. #define SQL_COLUMN_NAME            1
  154. #define SQL_COLUMN_TYPE            2
  155. #define SQL_COLUMN_LENGTH        3
  156. #define SQL_COLUMN_PRECISION        4
  157. #define SQL_COLUMN_SCALE        5
  158. #define SQL_COLUMN_DISPLAY_SIZE        6
  159. #define SQL_COLUMN_NULLABLE        7
  160. #define SQL_COLUMN_UNSIGNED        8
  161. #define SQL_COLUMN_MONEY        9
  162. #define SQL_COLUMN_UPDATABLE        10
  163. #define SQL_COLUMN_AUTO_INCREMENT    11
  164. #define SQL_COLUMN_CASE_SENSITIVE    12
  165. #define SQL_COLUMN_SEARCHABLE        13
  166. #define SQL_COLUMN_TYPE_NAME        14
  167. #define SQL_COLUMN_TABLE_NAME        15
  168. #define SQL_COLUMN_OWNER_NAME        16
  169. #define SQL_COLUMN_QUALIFIER_NAME    17
  170. #define SQL_COLUMN_LABEL        18
  171.  
  172. #define SQL_COLATT_OPT_MAX        SQL_COLUMN_LABEL
  173. #define    SQL_COLATT_OPT_MIN        SQL_COLUMN_COUNT
  174. #define SQL_COLUMN_DRIVER_START        1000
  175.  
  176. /*
  177.  *  SQLColAttributes : SQL_COLUMN_UPDATABLE
  178.  */
  179. #define SQL_ATTR_READONLY        0
  180. #define SQL_ATTR_WRITE            1
  181. #define SQL_ATTR_READWRITE_UNKNOWN    2
  182.  
  183. /*
  184.  *  SQLColAttributes : SQL_COLUMN_SEARCHABLE
  185.  */
  186. #define SQL_UNSEARCHABLE        0
  187. #define SQL_LIKE_ONLY            1
  188. #define SQL_ALL_EXCEPT_LIKE         2
  189. #define SQL_SEARCHABLE            3
  190.  
  191. /*
  192.  *  NULL Handles
  193.  */
  194. #define SQL_NULL_HENV            0
  195. #define SQL_NULL_HDBC            0
  196. #define SQL_NULL_HSTMT            0
  197.  
  198.  
  199. /*
  200.  *  Function Prototypes
  201.  */
  202. #ifdef __cplusplus
  203. extern "C"
  204. {
  205. #endif
  206.  
  207.   RETCODE SQL_API SQLAllocConnect (HENV henv, HDBC FAR * phdbc);
  208.   RETCODE SQL_API SQLAllocEnv (HENV FAR * phenv);
  209.   RETCODE SQL_API SQLAllocStmt (HDBC hdbc, HSTMT FAR * phstmt);
  210.   RETCODE SQL_API SQLBindCol (HSTMT hstmt, UWORD icol, SWORD fCType,
  211.       PTR rgbValue, SDWORD cbValueMax, SDWORD FAR * pcbValue);
  212.   RETCODE SQL_API SQLCancel (HSTMT hstmt);
  213.   RETCODE SQL_API SQLColAttributes (HSTMT hstmt, UWORD icol, UWORD fDescType,
  214.       PTR rgbDesc, SWORD cbDescMax, SWORD FAR * pcbDesc, SDWORD FAR * pfDesc);
  215.   RETCODE SQL_API SQLConnect (HDBC hdbc, UCHAR FAR * szDSN, SWORD cbDSN,
  216.       UCHAR FAR * szUID, SWORD cbUID, UCHAR FAR * szAuthStr, SWORD cbAuthStr);
  217.   RETCODE SQL_API SQLDescribeCol (HSTMT hstmt, UWORD icol,
  218.       UCHAR FAR * szColName, SWORD cbColNameMax, SWORD FAR * pcbColName,
  219.       SWORD FAR * pfSqlType, UDWORD FAR * pcbColDef, SWORD FAR * pibScale,
  220.       SWORD FAR * pfNullable);
  221.   RETCODE SQL_API SQLDisconnect (HDBC hdbc);
  222.   RETCODE SQL_API SQLError (HENV henv, HDBC hdbc, HSTMT hstmt,
  223.       UCHAR FAR * szSqlState, SDWORD FAR * pfNativeError, UCHAR FAR * szErrorMsg,
  224.       SWORD cbErrorMsgMax, SWORD FAR * pcbErrorMsg);
  225.   RETCODE SQL_API SQLExecDirect (HSTMT hstmt, UCHAR FAR * szSqlStr,
  226.       SDWORD cbSqlStr);
  227.   RETCODE SQL_API SQLExecute (HSTMT hstmt);
  228.   RETCODE SQL_API SQLFetch (HSTMT hstmt);
  229.   RETCODE SQL_API SQLFreeConnect (HDBC hdbc);
  230.   RETCODE SQL_API SQLFreeEnv (HENV henv);
  231.   RETCODE SQL_API SQLFreeStmt (HSTMT hstmt, UWORD fOption);
  232.   RETCODE SQL_API SQLGetCursorName (HSTMT hstmt, UCHAR FAR * szCursor,
  233.       SWORD cbCursorMax, SWORD FAR * pcbCursor);
  234.   RETCODE SQL_API SQLNumResultCols (HSTMT hstmt, SWORD FAR * pccol);
  235.   RETCODE SQL_API SQLPrepare (HSTMT hstmt, UCHAR FAR * szSqlStr,
  236.       SDWORD cbSqlStr);
  237.   RETCODE SQL_API SQLRowCount (HSTMT hstmt, SDWORD FAR * pcrow);
  238.   RETCODE SQL_API SQLSetCursorName (HSTMT hstmt, UCHAR FAR * szCursor,
  239.       SWORD cbCursor);
  240.   RETCODE SQL_API SQLTransact (HENV henv, HDBC hdbc, UWORD fType);
  241.  
  242. /*
  243.  *  Depreciated ODBC 1.0 function - Use SQLBindParameter
  244.  */
  245.   RETCODE SQL_API SQLSetParam (HSTMT hstmt, UWORD ipar, SWORD fCType,
  246.       SWORD fSqlType, UDWORD cbColDef, SWORD ibScale, PTR rgbValue,
  247.       SDWORD FAR * pcbValue);
  248.  
  249. #ifdef __cplusplus
  250. }
  251. #endif
  252.  
  253. #endif
  254.