isqlext.h

来自「A*算法 A*算法 A*算法 A*算法A*算法A*算法」· C头文件 代码 · 共 1,179 行 · 第 1/3 页

H
1,179
字号

/*
 *  SQL_CURSOR_TYPE
 */
#define SQL_CURSOR_FORWARD_ONLY     0UL
#define SQL_CURSOR_KEYSET_DRIVEN    1UL
#define SQL_CURSOR_DYNAMIC          2UL
#define SQL_CURSOR_STATIC           3UL
#define SQL_CURSOR_TYPE_DEFAULT     SQL_CURSOR_FORWARD_ONLY

/*
 *  SQL_ROWSET_SIZE
 */
#define SQL_ROWSET_SIZE_DEFAULT     1UL

/*
 *  SQL_KEYSET_SIZE
 */
#define SQL_KEYSET_SIZE_DEFAULT     0UL

/*
 *  SQL_SIMULATE_CURSOR
 */
#define SQL_SC_NON_UNIQUE           0UL
#define SQL_SC_TRY_UNIQUE           1UL
#define SQL_SC_UNIQUE               2UL

/*
 *  SQL_RETRIEVE_DATA
 */
#define SQL_RD_OFF                  0UL
#define SQL_RD_ON                   1UL
#define SQL_RD_DEFAULT              SQL_RD_ON

/*
 *  SQL_USE_BOOKMARKS
 */
#define SQL_UB_OFF                  0UL
#define SQL_UB_ON                   1UL
#define SQL_UB_DEFAULT              SQL_UB_OFF

/*
 *  SQLSetConnectOption/SQLGetConnectOption
 */
#define SQL_ACCESS_MODE             101
#define SQL_AUTOCOMMIT              102
#define SQL_LOGIN_TIMEOUT           103
#define SQL_OPT_TRACE               104
#define SQL_OPT_TRACEFILE           105
#define SQL_TRANSLATE_DLL           106
#define SQL_TRANSLATE_OPTION        107
#define SQL_TXN_ISOLATION           108
#define SQL_CURRENT_QUALIFIER       109
#define SQL_ODBC_CURSORS            110
#define SQL_QUIET_MODE              111
#define SQL_PACKET_SIZE             112

#define SQL_CONN_OPT_MIN            SQL_ACCESS_MODE
#define SQL_CONN_OPT_MAX            SQL_PACKET_SIZE
#define SQL_CONNECT_OPT_DRVR_START  1000


/*
 *  SQL_ACCESS_MODE
 */
#define SQL_MODE_READ_WRITE         0UL
#define SQL_MODE_READ_ONLY          1UL
#define SQL_MODE_DEFAULT            SQL_MODE_READ_WRITE

/*
 *  SQL_AUTOCOMMIT
 */
#define SQL_AUTOCOMMIT_OFF          0UL
#define SQL_AUTOCOMMIT_ON           1UL
#define SQL_AUTOCOMMIT_DEFAULT      SQL_AUTOCOMMIT_ON

/*
 *  SQL_LOGIN_TIMEOUT
 */
#define SQL_LOGIN_TIMEOUT_DEFAULT   15UL

/*
 *  SQL_OPT_TRACE
 */
#define SQL_OPT_TRACE_OFF           0UL
#define SQL_OPT_TRACE_ON            1UL
#define SQL_OPT_TRACE_DEFAULT       SQL_OPT_TRACE_OFF
#define SQL_OPT_TRACE_FILE_DEFAULT  "odbc.log"

/*
 *  SQL_ODBC_CURSORS
 */
#define SQL_CUR_USE_IF_NEEDED       0UL
#define SQL_CUR_USE_ODBC            1UL
#define SQL_CUR_USE_DRIVER          2UL
#define SQL_CUR_DEFAULT             SQL_CUR_USE_DRIVER

/*
 *  SQLSpecialColumns - Column types and scopes
 */
#define SQL_BEST_ROWID              1
#define SQL_ROWVER                  2

#define SQL_SCOPE_CURROW            0
#define SQL_SCOPE_TRANSACTION       1
#define SQL_SCOPE_SESSION           2

/*
 *  SQLSetPos
 */
#define SQL_ENTIRE_ROWSET           0

/*
 *  SQLSetPos
 */
#define SQL_POSITION                0
#define SQL_REFRESH                 1
#define SQL_UPDATE                  2
#define SQL_DELETE                  3
#define SQL_ADD                     4

/*
 *  SQLSetPos
 */
#define SQL_LOCK_NO_CHANGE          0
#define SQL_LOCK_EXCLUSIVE          1
#define SQL_LOCK_UNLOCK             2

/*
 *  SQLSetPos
 */
#define SQL_POSITION_TO(hstmt,irow) \
    SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
#define SQL_LOCK_RECORD(hstmt,irow,fLock) \
    SQLSetPos(hstmt,irow,SQL_POSITION,fLock)
#define SQL_REFRESH_RECORD(hstmt,irow,fLock) \
    SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)
#define SQL_UPDATE_RECORD(hstmt,irow) \
    SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
#define SQL_DELETE_RECORD(hstmt,irow) \
    SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)
#define SQL_ADD_RECORD(hstmt,irow) \
    SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)

/*
 *  All the ODBC keywords
 */
#define SQL_ODBC_KEYWORDS \
"ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\
"ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\
"BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\
"CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\
"COBOL,COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\
"CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\
"CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\
"DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\
"DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\
"DISTINCT,DOMAIN,DOUBLE,DROP,"\
"ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\
"EXISTS,EXTERNAL,EXTRACT,"\
"FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\
"GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\
"IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\
"INPUT,INSENSITIVE,INSERT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\
"JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\
"MATCH,MAX,MIN,MINUTE,MODULE,MONTH,MUMPS,"\
"NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\
"OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\
"PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\
"PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\
"REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS,"\
"SCHEMA,SCROLL,SECOND,SECTION,SELECT,SEQUENCE,SESSION,SESSION_USER,SET,SIZE,"\
"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
"SUBSTRING,SUM,SYSTEM_USER,"\
"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
"VALUE,,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,YEAR"

/*
 * ----------------------------------------------------------------------
 *  Level 2 Functions
 * ----------------------------------------------------------------------
 */

/*
 *  SQLExtendedFetch - fFetchType
 */
#define SQL_FETCH_NEXT          1
#define SQL_FETCH_FIRST         2
#define SQL_FETCH_LAST          3
#define SQL_FETCH_PRIOR         4
#define SQL_FETCH_ABSOLUTE      5
#define SQL_FETCH_RELATIVE      6
#define SQL_FETCH_BOOKMARK      8

/*
 *  SQLExtendedFetch - rgfRowStatus
 */
#define SQL_ROW_SUCCESS         0
#define SQL_ROW_DELETED         1
#define SQL_ROW_UPDATED         2
#define SQL_ROW_NOROW           3
#define SQL_ROW_ADDED           4
#define SQL_ROW_ERROR           5

/*
 *  SQLForeignKeys - UPDATE_RULE/DELETE_RULE
 */
#define SQL_CASCADE             0
#define SQL_RESTRICT            1
#define SQL_SET_NULL            2

/*
 *  SQLBindParameter - fParamType
 *  SQLProcedureColumns - COLUMN_TYPE
 */
#define SQL_PARAM_TYPE_UNKNOWN  0
#define SQL_PARAM_INPUT         1
#define SQL_PARAM_INPUT_OUTPUT  2
#define SQL_RESULT_COL          3
#define SQL_PARAM_OUTPUT        4
#define SQL_RETURN_VALUE        5

/*
 *  SQLSetParam to SQLBindParameter conversion
 */
#define SQL_PARAM_TYPE_DEFAULT  SQL_PARAM_INPUT_OUTPUT
#define SQL_SETPARAM_VALUE_MAX  (-1L)

/*
 *  SQLStatistics - fUnique
 */
#define SQL_INDEX_UNIQUE        0
#define SQL_INDEX_ALL           1

/*
 *  SQLStatistics - fAccuracy
 */
#define SQL_QUICK               0
#define SQL_ENSURE              1

/*
 *  SQLStatistics - TYPE
 */
#define SQL_TABLE_STAT          0
#define SQL_INDEX_CLUSTERED     1
#define SQL_INDEX_HASHED        2
#define SQL_INDEX_OTHER         3

/*
 *  SQLProcedures - PROCEDURE_TYPE
 */
#define SQL_PT_UNKNOWN          0
#define SQL_PT_PROCEDURE        1
#define SQL_PT_FUNCTION         2

/*
 *  SQLSpecialColumns - PSEUDO_COLUMN
 */
#define SQL_PC_UNKNOWN          0
#define SQL_PC_NOT_PSEUDO       1
#define SQL_PC_PSEUDO           2

/*
 *  Deprecated defines from prior versions of ODBC
 */
#define SQL_DATABASE_NAME           16
#define SQL_FD_FETCH_PREV           SQL_FD_FETCH_PRIOR
#define SQL_FETCH_PREV              SQL_FETCH_PRIOR
#define SQL_CONCUR_TIMESTAMP        SQL_CONCUR_ROWVER
#define SQL_SCCO_OPT_TIMESTAMP      SQL_SCCO_OPT_ROWVER
#define SQL_CC_DELETE               SQL_CB_DELETE
#define SQL_CR_DELETE               SQL_CB_DELETE
#define SQL_CC_CLOSE                SQL_CB_CLOSE
#define SQL_CR_CLOSE                SQL_CB_CLOSE
#define SQL_CC_PRESERVE             SQL_CB_PRESERVE
#define SQL_CR_PRESERVE             SQL_CB_PRESERVE
#define SQL_FETCH_RESUME            7
#define SQL_SCROLL_FORWARD_ONLY     0L
#define SQL_SCROLL_KEYSET_DRIVEN    (-1L)
#define SQL_SCROLL_DYNAMIC          (-2L)
#define SQL_SCROLL_STATIC           (-3L)
#define SQL_PC_NON_PSEUDO           SQL_PC_NOT_PSEUDO

#ifdef __cplusplus
extern "C" {
#endif
/*
 *  Level 1 function prototypes
 */
RETCODE SQL_API SQLColumns (HSTMT hstmt, UCHAR FAR * szTableQualifier,
    SWORD cbTableQualifier, UCHAR FAR * szTableOwner, SWORD cbTableOwner,
    UCHAR FAR * szTableName, SWORD cbTableName, UCHAR FAR * szColumnName,
    SWORD cbColumnName);
/* glt - Changed HWND to SQLHWND to match MSW header typing */
RETCODE SQL_API SQLDriverConnect (HDBC hdbc, SQLHWND hwnd,
    UCHAR FAR * szConnStrIn, SWORD cbConnStrIn, UCHAR FAR * szConnStrOut,
    SWORD cbConnStrOutMax, SWORD FAR * pcbConnStrOut, UWORD fDriverCompletion);
RETCODE SQL_API SQLGetConnectOption (HDBC hdbc, UWORD fOption, PTR pvParam);
RETCODE SQL_API SQLGetData (HSTMT hstmt, UWORD icol, SWORD fCType,
    PTR rgbValue, SDWORD cbValueMax, SDWORD FAR * pcbValue);
RETCODE SQL_API SQLGetFunctions (HDBC hdbc, UWORD fFunction,
    UWORD FAR * pfExists);
RETCODE SQL_API SQLGetInfo (HDBC hdbc, UWORD fInfoType, PTR rgbInfoValue,
    SWORD cbInfoValueMax, SWORD FAR * pcbInfoValue);
RETCODE SQL_API SQLGetStmtOption (HSTMT hstmt, UWORD fOption, PTR pvParam);
RETCODE SQL_API SQLGetTypeInfo (HSTMT hstmt, SWORD fSqlType);
RETCODE SQL_API SQLParamData (HSTMT hstmt, PTR FAR * prgbValue);
RETCODE SQL_API SQLPutData (HSTMT hstmt, PTR rgbValue, SDWORD cbValue);
RETCODE SQL_API SQLSetConnectOption (HDBC hdbc, UWORD fOption, UDWORD vParam);
RETCODE SQL_API SQLSetStmtOption (HSTMT hstmt, UWORD fOption, UDWORD vParam);
RETCODE SQL_API SQLSpecialColumns (HSTMT hstmt, UWORD fColType,
    UCHAR FAR * szTableQualifier, SWORD cbTableQualifier,
    UCHAR FAR * szTableOwner, SWORD cbTableOwner, UCHAR FAR * szTableName,
    SWORD cbTableName, UWORD fScope, UWORD fNullable);
RETCODE SQL_API SQLStatistics (HSTMT hstmt, UCHAR FAR * szTableQualifier,
    SWORD cbTableQualifier, UCHAR FAR * szTableOwner, SWORD cbTableOwner,
    UCHAR FAR * szTableName, SWORD cbTableName, UWORD fUnique, UWORD fAccuracy);
RETCODE SQL_API SQLTables (HSTMT hstmt, UCHAR FAR * szTableQualifier,
    SWORD cbTableQualifier, UCHAR FAR * szTableOwner, SWORD cbTableOwner,
    UCHAR FAR * szTableName, SWORD cbTableName, UCHAR FAR * szTableType,
    SWORD cbTableType);

/*
 *  Level 2 function prototypes
 */
RETCODE SQL_API SQLBrowseConnect (HDBC hdbc,
    UCHAR FAR * szConnStrIn, SWORD cbConnStrIn, UCHAR FAR * szConnStrOut,
    SWORD cbConnStrOutMax, SWORD FAR * pcbConnStrOut);
RETCODE SQL_API SQLColumnPrivileges (HSTMT hstmt,
    UCHAR FAR * szTableQualifier, SWORD cbTableQualifier,
    UCHAR FAR * szTableOwner, SWORD cbTableOwner, UCHAR FAR * szTableName,
    SWORD cbTableName, UCHAR FAR * szColumnName, SWORD cbColumnName);
RETCODE SQL_API SQLDataSources (HENV henv, UWORD fDirection,
    UCHAR FAR * szDSN, SWORD cbDSNMax, SWORD FAR * pcbDSN,
    UCHAR FAR * szDescription, SWORD cbDescriptionMax,
    SWORD FAR * pcbDescription);
RETCODE SQL_API SQLDescribeParam (HSTMT hstmt, UWORD ipar,
    SWORD FAR * pfSqlType, UDWORD FAR * pcbColDef, SWORD FAR * pibScale,
    SWORD FAR * pfNullable);
RETCODE SQL_API SQLExtendedFetch (HSTMT hstmt, UWORD fFetchType, SDWORD irow,
    UDWORD FAR * pcrow, UWORD FAR * rgfRowStatus);
RETCODE SQL_API SQLForeignKeys (HSTMT hstmt, UCHAR FAR * szPkTableQualifier,
    SWORD cbPkTableQualifier, UCHAR FAR * szPkTableOwner, SWORD cbPkTableOwner,
    UCHAR FAR * szPkTableName, SWORD cbPkTableName,
    UCHAR FAR * szFkTableQualifier, SWORD cbFkTableQualifier,
    UCHAR FAR * szFkTableOwner, SWORD cbFkTableOwner, UCHAR FAR * szFkTableName,
    SWORD cbFkTableName);
RETCODE SQL_API SQLMoreResults (HSTMT hstmt);
RETCODE SQL_API SQLNativeSql (HDBC hdbc, UCHAR FAR * szSqlStrIn,
    SDWORD cbSqlStrIn, UCHAR FAR * szSqlStr, SDWORD cbSqlStrMax,
    SDWORD FAR * pcbSqlStr);
RETCODE SQL_API SQLNumParams (HSTMT hstmt, SWORD FAR * pcpar);
RETCODE SQL_API SQLParamOptions (HSTMT hstmt, UDWORD crow, UDWORD FAR * pirow);
RETCODE SQL_API SQLPrimaryKeys (HSTMT hstmt, UCHAR FAR * szTableQualifier,
    SWORD cbTableQualifier, UCHAR FAR * szTableOwner, SWORD cbTableOwner,
    UCHAR FAR * szTableName, SWORD cbTableName);
RETCODE SQL_API SQLProcedureColumns (HSTMT hstmt, UCHAR FAR * szProcQualifier,
    SWORD cbProcQualifier, UCHAR FAR * szProcOwner, SWORD cbProcOwner,
    UCHAR FAR * szProcName, SWORD cbProcName, UCHAR FAR * szColumnName,
    SWORD cbColumnName);
RETCODE SQL_API SQLProcedures (HSTMT hstmt, UCHAR FAR * szProcQualifier,
    SWORD cbProcQualifier, UCHAR FAR * szProcOwner, SWORD cbProcOwner,
    UCHAR FAR * szProcName, SWORD cbProcName);
RETCODE SQL_API SQLSetPos (HSTMT hstmt, UWORD irow, UWORD fOption, UWORD fLock);
RETCODE SQL_API SQLTablePrivileges (HSTMT hstmt, UCHAR FAR * szTableQualifier,
    SWORD cbTableQualifier, UCHAR FAR * szTableOwner, SWORD cbTableOwner,
    UCHAR FAR * szTableName, SWORD cbTableName);

/*
 *  SDK 2.0 Additional function prototypes
 */
RETCODE SQL_API SQLDrivers (HENV henv, UWORD fDirection,
    UCHAR FAR * szDriverDesc, SWORD cbDriverDescMax, SWORD FAR * pcbDriverDesc,
    UCHAR FAR * szDriverAttributes, SWORD cbDrvrAttrMax,
    SWORD FAR * pcbDrvrAttr);
RETCODE SQL_API SQLBindParameter (HSTMT hstmt, UWORD ipar, SWORD fParamType,
    SWORD fCType, SWORD fSqlType, UDWORD cbColDef, SWORD ibScale, PTR rgbValue,
    SDWORD cbValueMax, SDWORD FAR * pcbValue);

/*
 *  Deprecated - use SQLSetStmtOptions
 */
RETCODE SQL_API SQLSetScrollOptions (HSTMT hstmt, UWORD fConcurrency,
    SDWORD crowKeyset, UWORD crowRowset);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?