📄 isqlext.h
字号:
/*
* 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);
/*
* Depreciated - use SQLSetStmtOptions
*/
RETCODE SQL_API SQLSetScrollOptions (HSTMT hstmt, UWORD fConcurrency,
SDWORD crowKeyset, UWORD crowRowset);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -