]>
git.saurik.com Git - wxWidgets.git/blob - src/iodbc/isql.h
   8  *  The iODBC driver manager. 
  10  *  Copyright (C) 1995 by Ke Jin <kejin@empress.com> 
  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. 
  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. 
  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. 
  31 #define SQL_API                         __stdcall 
  36 #define SQL_API                         EXPORT CALLBACK 
  43 typedef void *SQLHWND
; 
  45 typedef unsigned char UCHAR
; 
  46 typedef long int SDWORD
; 
  47 typedef short int SWORD
; 
  48 typedef unsigned long int UDWORD
; 
  49 typedef unsigned short int UWORD
; 
  50 typedef long SQLINTEGER
; 
  51 typedef UDWORD SQLUINTEGER
; 
  53 typedef void FAR 
*PTR
; 
  54 typedef void FAR 
*HENV
; 
  55 typedef void FAR 
*HDBC
; 
  56 typedef void FAR 
*HSTMT
; 
  58 typedef signed short RETCODE
; 
  59 #define SQLRETURN       RETCODE 
  62 #define ODBCVER                         0x0250 
  64 #define SQL_MAX_MESSAGE_LENGTH          512 
  65 #define SQL_MAX_DSN_LENGTH              32 
  68  *  Function return codes 
  70 #define SQL_INVALID_HANDLE              (-2) 
  71 #define SQL_ERROR                       (-1) 
  73 #define SQL_SUCCESS_WITH_INFO           1 
  74 #define SQL_NO_DATA_FOUND               100 
  77  *  Standard SQL datatypes, using ANSI type numbering 
  83 #define SQL_SMALLINT                    5 
  87 #define SQL_VARCHAR                     12 
  89 #define SQL_TYPE_MIN                    SQL_CHAR 
  90 #define SQL_TYPE_NULL                   0 
  91 #define SQL_TYPE_MAX                    SQL_VARCHAR 
  94  *  C datatype to SQL datatype mapping 
  96 #define SQL_C_CHAR                      SQL_CHAR 
  97 #define SQL_C_LONG                      SQL_INTEGER 
  98 #define SQL_C_SHORT                     SQL_SMALLINT 
  99 #define SQL_C_FLOAT                     SQL_REAL 
 100 #define SQL_C_DOUBLE                    SQL_DOUBLE 
 101 #define SQL_C_DEFAULT                   99 
 104  *  NULL status constants. 
 106 #define SQL_NO_NULLS                    0 
 107 #define SQL_NULLABLE                    1 
 108 #define SQL_NULLABLE_UNKNOWN            2 
 111  *  Special length values 
 113 #define SQL_NULL_DATA                   (-1) 
 114 #define SQL_DATA_AT_EXEC                (-2) 
 123 #define SQL_RESET_PARAMS                3 
 129 #define SQL_ROLLBACK                    1 
 134 #define SQL_COLUMN_COUNT                0 
 135 #define SQL_COLUMN_NAME                 1 
 136 #define SQL_COLUMN_TYPE                 2 
 137 #define SQL_COLUMN_LENGTH               3 
 138 #define SQL_COLUMN_PRECISION            4 
 139 #define SQL_COLUMN_SCALE                5 
 140 #define SQL_COLUMN_DISPLAY_SIZE         6 
 141 #define SQL_COLUMN_NULLABLE             7 
 142 #define SQL_COLUMN_UNSIGNED             8 
 143 #define SQL_COLUMN_MONEY                9 
 144 #define SQL_COLUMN_UPDATABLE            10 
 145 #define SQL_COLUMN_AUTO_INCREMENT       11 
 146 #define SQL_COLUMN_CASE_SENSITIVE       12 
 147 #define SQL_COLUMN_SEARCHABLE           13 
 148 #define SQL_COLUMN_TYPE_NAME            14 
 149 #define SQL_COLUMN_TABLE_NAME           15 
 150 #define SQL_COLUMN_OWNER_NAME           16 
 151 #define SQL_COLUMN_QUALIFIER_NAME       17 
 152 #define SQL_COLUMN_LABEL                18 
 154 #define SQL_COLATT_OPT_MAX              SQL_COLUMN_LABEL 
 155 #define SQL_COLATT_OPT_MIN              SQL_COLUMN_COUNT 
 156 #define SQL_COLUMN_DRIVER_START         1000 
 159  *  SQLColAttributes : SQL_COLUMN_UPDATABLE 
 161 #define SQL_ATTR_READONLY               0 
 162 #define SQL_ATTR_WRITE                  1 
 163 #define SQL_ATTR_READWRITE_UNKNOWN      2 
 166  *  SQLColAttributes : SQL_COLUMN_SEARCHABLE 
 168 #define SQL_UNSEARCHABLE                0 
 169 #define SQL_LIKE_ONLY                   1 
 170 #define SQL_ALL_EXCEPT_LIKE             2 
 171 #define SQL_SEARCHABLE                  3 
 176 #define SQL_NULL_HENV                   0 
 177 #define SQL_NULL_HDBC                   0 
 178 #define SQL_NULL_HSTMT                  0 
 182  *  Function Prototypes 
 189   RETCODE SQL_API 
SQLAllocConnect (HENV henv
, HDBC FAR 
* phdbc
); 
 190   RETCODE SQL_API 
SQLAllocEnv (HENV FAR 
* phenv
); 
 191   RETCODE SQL_API 
SQLAllocStmt (HDBC hdbc
, HSTMT FAR 
* phstmt
); 
 192   RETCODE SQL_API 
SQLBindCol (HSTMT hstmt
, UWORD icol
, SWORD fCType
, 
 193       PTR rgbValue
, SDWORD cbValueMax
, SDWORD FAR 
* pcbValue
); 
 194   RETCODE SQL_API 
SQLCancel (HSTMT hstmt
); 
 195   RETCODE SQL_API 
SQLColAttributes (HSTMT hstmt
, UWORD icol
, UWORD fDescType
, 
 196       PTR rgbDesc
, SWORD cbDescMax
, SWORD FAR 
* pcbDesc
, SDWORD FAR 
* pfDesc
); 
 197   RETCODE SQL_API 
SQLConnect (HDBC hdbc
, UCHAR FAR 
* szDSN
, SWORD cbDSN
, 
 198       UCHAR FAR 
* szUID
, SWORD cbUID
, UCHAR FAR 
* szAuthStr
, SWORD cbAuthStr
); 
 199   RETCODE SQL_API 
SQLDescribeCol (HSTMT hstmt
, UWORD icol
, 
 200       UCHAR FAR 
* szColName
, SWORD cbColNameMax
, SWORD FAR 
* pcbColName
, 
 201       SWORD FAR 
* pfSqlType
, UDWORD FAR 
* pcbColDef
, SWORD FAR 
* pibScale
, 
 202       SWORD FAR 
* pfNullable
); 
 203   RETCODE SQL_API 
SQLDisconnect (HDBC hdbc
); 
 204   RETCODE SQL_API 
SQLError (HENV henv
, HDBC hdbc
, HSTMT hstmt
, 
 205       UCHAR FAR 
* szSqlState
, SDWORD FAR 
* pfNativeError
, UCHAR FAR 
* szErrorMsg
, 
 206       SWORD cbErrorMsgMax
, SWORD FAR 
* pcbErrorMsg
); 
 207   RETCODE SQL_API 
SQLExecDirect (HSTMT hstmt
, UCHAR FAR 
* szSqlStr
, 
 209   RETCODE SQL_API 
SQLExecute (HSTMT hstmt
); 
 210   RETCODE SQL_API 
SQLFetch (HSTMT hstmt
); 
 211   RETCODE SQL_API 
SQLFreeConnect (HDBC hdbc
); 
 212   RETCODE SQL_API 
SQLFreeEnv (HENV henv
); 
 213   RETCODE SQL_API 
SQLFreeStmt (HSTMT hstmt
, UWORD fOption
); 
 214   RETCODE SQL_API 
SQLGetCursorName (HSTMT hstmt
, UCHAR FAR 
* szCursor
, 
 215       SWORD cbCursorMax
, SWORD FAR 
* pcbCursor
); 
 216   RETCODE SQL_API 
SQLNumResultCols (HSTMT hstmt
, SWORD FAR 
* pccol
); 
 217   RETCODE SQL_API 
SQLPrepare (HSTMT hstmt
, UCHAR FAR 
* szSqlStr
, 
 219   RETCODE SQL_API 
SQLRowCount (HSTMT hstmt
, SDWORD FAR 
* pcrow
); 
 220   RETCODE SQL_API 
SQLSetCursorName (HSTMT hstmt
, UCHAR FAR 
* szCursor
, 
 222   RETCODE SQL_API 
SQLTransact (HENV henv
, HDBC hdbc
, UWORD fType
); 
 225  *  Deprecated ODBC 1.0 function - Use SQLBindParameter 
 227   RETCODE SQL_API 
SQLSetParam (HSTMT hstmt
, UWORD ipar
, SWORD fCType
, 
 228       SWORD fSqlType
, UDWORD cbColDef
, SWORD ibScale
, PTR rgbValue
, 
 229       SDWORD FAR 
* pcbValue
);