isql.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:5k
- /* Modified isql.h file from iodbc. This file should be placed in the
- * include path to be used to create ODBC compliant applications.
- */
- #ifndef _INTRINSIC_SQL_H
- # define _INTRINSIC_SQL_H
- typedef unsigned char UCHAR;
- typedef long int SDWORD;
- typedef short int SWORD;
- typedef unsigned long int UDWORD;
- typedef unsigned short int UWORD;
- typedef void FAR* PTR;
- typedef void FAR* HENV;
- typedef void FAR* HDBC;
- typedef void FAR* HSTMT;
- typedef signed short RETCODE;
- # ifdef WIN32
- # define SQL_API __stdcall
- # else
- # define SQL_API EXPORT CALLBACK
- # endif
- # define ODBCVER 0x0200
- # define SQL_MAX_MESSAGE_LENGTH 512
- # define SQL_MAX_DSN_LENGTH 32
- /* return code */
- # define SQL_INVALID_HANDLE (-2)
- # define SQL_ERROR (-1)
- # define SQL_SUCCESS 0
- # define SQL_SUCCESS_WITH_INFO 1
- # define SQL_NO_DATA_FOUND 100
- /* standard SQL datatypes (agree with ANSI type numbering) */
- # define SQL_CHAR 1
- # define SQL_NUMERIC 2
- # define SQL_DECIMAL 3
- # define SQL_INTEGER 4
- # define SQL_SMALLINT 5
- # define SQL_FLOAT 6
- # define SQL_REAL 7
- # define SQL_DOUBLE 8
- # define SQL_VARCHAR 12
- # define SQL_TYPE_MIN SQL_CHAR
- # define SQL_TYPE_NULL 0
- # define SQL_TYPE_MAX SQL_VARCHAR
- /* C to SQL datatype mapping */
- # define SQL_C_CHAR SQL_CHAR
- # define SQL_C_LONG SQL_INTEGER
- # define SQL_C_SHORT SQL_SMALLINT
- # define SQL_C_FLOAT SQL_REAL
- # define SQL_C_DOUBLE SQL_DOUBLE
- # define SQL_C_DEFAULT 99
- # define SQL_NO_NULLS 0
- # define SQL_NULLABLE 1
- # define SQL_NULLABLE_UNKNOWN 2
- /* some special length values */
- # define SQL_NULL_DATA (-1)
- # define SQL_DATA_AT_EXEC (-2)
- # define SQL_NTS (-3)
- /* SQLFreeStmt flag values */
- # define SQL_CLOSE 0
- # define SQL_DROP 1
- # define SQL_UNBIND 2
- # define SQL_RESET_PARAMS 3
- /* SQLTransact flag values */
- # define SQL_COMMIT 0
- # define SQL_ROLLBACK 1
- /* SQLColAttributes flag values */
- # define SQL_COLUMN_COUNT 0
- # define SQL_COLUMN_LABEL 18
- # define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL
- # define SQL_COLUMN_DRIVER_START 1000
- # define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT
- /* Null handles */
- # define SQL_NULL_HENV 0
- # define SQL_NULL_HDBC 0
- # define SQL_NULL_HSTMT 0
- /* All code below has been added to the original isql.h coming from iodbc */
- typedef unsigned char BYTE;
- /* More SQLColAttributes flag values */
- #define SQL_COLUMN_NAME 1
- #define SQL_COLUMN_TYPE 2
- #define SQL_COLUMN_LENGTH 3
- #define SQL_COLUMN_PRECISION 4
- #define SQL_COLUMN_SCALE 5
- #define SQL_COLUMN_DISPLAY_SIZE 6
- #define SQL_COLUMN_NULLABLE 7
- #define SQL_COLUMN_UNSIGNED 8
- #define SQL_COLUMN_MONEY 9
- #define SQL_COLUMN_UPDATABLE 10
- #define SQL_COLUMN_AUTO_INCREMENT 11
- #define SQL_COLUMN_CASE_SENSITIVE 12
- #define SQL_COLUMN_SEARCHABLE 13
- #define SQL_COLUMN_TYPE_NAME 14
- #define SQL_COLUMN_TABLE_NAME 15
- #define SQL_COLUMN_OWNER_NAME 16
- #define SQL_COLUMN_QUALIFIER_NAME 17
- /* SQLColAttributes Searchable flags */
- #define SQL_UNSEARCHABLE 0
- #define SQL_LIKE_ONLY 1
- #define SQL_ALL_EXCEPT_LIKE 2
- #define SQL_SEARCHABLE 3
- #define SQL_PRED_SEARCHABLE SQL_SEARCHABLE
- /* SQLColAttributes Updateable flags */
- #define SQL_ATTR_READONLY 0
- #define SQL_ATTR_WRITE 1
- #define SQL_ATTR_READWRITE_UNKNOWN 2
- /*
- * function prototypes previously not contained in isql.h
- */
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- RETCODE SQL_API SQLAllocConnect (HENV henv,
- HDBC FAR * phdbc);
- RETCODE SQL_API SQLAllocEnv (HENV FAR * phenv);
- RETCODE SQL_API SQLAllocStmt (HDBC hdbc,
- HSTMT FAR * phstmt);
- RETCODE SQL_API SQLBindCol (HSTMT hstmt,
- UWORD icol,
- SWORD fCType,
- PTR rgbValue,
- SDWORD cbValueMax,
- SDWORD FAR * pcbValue);
- RETCODE SQL_API SQLCancel (HSTMT hstmt);
- RETCODE SQL_API SQLColAttributes (HSTMT hstmt,
- UWORD icol,
- UWORD fDescType,
- PTR rgbDesc,
- SWORD cbDescMax,
- SWORD FAR * pcbDesc,
- SDWORD FAR * pfDesc);
- RETCODE SQL_API SQLConnect (HDBC hdbc,
- UCHAR FAR * szDSN,
- SWORD cbDSN,
- UCHAR FAR * szUID,
- SWORD cbUID,
- UCHAR FAR * szAuthStr,
- SWORD cbAuthStr);
- RETCODE SQL_API SQLDescribeCol (HSTMT hstmt,
- UWORD icol,
- UCHAR FAR * szColName,
- SWORD cbColNameMax,
- SWORD FAR * pcbColName,
- SWORD FAR * pfSqlType,
- UDWORD FAR * pcbColDef,
- SWORD FAR * pibScale,
- SWORD FAR * pfNullable);
- RETCODE SQL_API SQLDisconnect (HDBC hdbc);
- RETCODE SQL_API SQLError (HENV henv,
- HDBC hdbc,
- HSTMT hstmt,
- UCHAR FAR * szSqlState,
- SDWORD FAR * pfNativeError,
- UCHAR FAR * szErrorMsg,
- SWORD cbErrorMsgMax,
- SWORD FAR * pcbErrorMsg);
- RETCODE SQL_API SQLExecDirect (HSTMT hstmt,
- UCHAR FAR * szSqlStr,
- SDWORD cbSqlStr);
- RETCODE SQL_API SQLExecute (HSTMT hstmt);
- RETCODE SQL_API SQLFetch (HSTMT hstmt);
- RETCODE SQL_API SQLFreeConnect (HDBC hdbc);
- RETCODE SQL_API SQLFreeEnv (HENV henv);
- RETCODE SQL_API SQLFreeStmt (HSTMT hstmt,
- UWORD fOption);
- RETCODE SQL_API SQLGetCursorName (HSTMT hstmt,
- UCHAR FAR * szCursor,
- SWORD cbCursorMax,
- SWORD FAR * pcbCursor);
- RETCODE SQL_API SQLNumResultCols (HSTMT hstmt,
- SWORD FAR * pccol);
- RETCODE SQL_API SQLPrepare (HSTMT hstmt,
- UCHAR FAR * szSqlStr,
- SDWORD cbSqlStr);
- RETCODE SQL_API SQLRowCount (HSTMT hstmt,
- SDWORD FAR * pcrow);
- RETCODE SQL_API SQLSetCursorName (HSTMT hstmt,
- UCHAR FAR * szCursor,
- SWORD cbCursor);
- RETCODE SQL_API SQLTransact (HENV henv,
- HDBC hdbc,
- UWORD fType);
- RETCODE SQL_API SQLSetParam (HSTMT hstmt,
- UWORD ipar,
- SWORD fCType,
- SWORD fSqlType,
- UDWORD cbColDef,
- SWORD ibScale,
- PTR rgbValue,
- SDWORD FAR * pcbValue);
- #ifdef __cplusplus
- }
- #endif
- #endif