⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isqlext.h

📁 浙江大学的悟空嵌入式系统模拟器
💻 H
📖 第 1 页 / 共 3 页
字号:

/*
 *  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 + -