/***************************************************************** ** SQLEXT.H - This is the include for applications using ** the Microsoft SQL Extensions ** ** (C) Copyright 1990 - 1995 By Microsoft Corp. ** ** Updated 5/12/93 for 2.00 specification ** Updated 5/23/94 for 2.01 specification ** Updated 10/27/94 for 2.10 specification ** Updated 04/10/95 for 2.50 specification *********************************************************************/ #ifndef __SQLEXT #define __SQLEXT #ifndef __SQL #include "sql.h" #endif #ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */ /* SQLBindParameter extensions */ #if (ODBCVER >= 0x0200) #define SQL_DEFAULT_PARAM (-5) #define SQL_IGNORE (-6) #define SQL_LEN_DATA_AT_EXEC_OFFSET (-100) #define SQL_LEN_DATA_AT_EXEC(length) (-length+SQL_LEN_DATA_AT_EXEC_OFFSET) #endif /* ODBCVER >= 0x0200 */ /* Defines for SQLSetPos */ #define SQL_ENTIRE_ROWSET 0 /* Operations in SQLSetPos */ #define SQL_POSITION 0 /* 1.0 FALSE */ #define SQL_REFRESH 1 /* 1.0 TRUE */ #if (ODBCVER >= 0x0200) #define SQL_UPDATE 2 #define SQL_DELETE 3 #define SQL_ADD 4 #endif /* ODBCVER >= 0x0200 */ /* Lock options in SQLSetPos */ #define SQL_LOCK_NO_CHANGE 0 /* 1.0 FALSE */ #define SQL_LOCK_EXCLUSIVE 1 /* 1.0 TRUE */ #if (ODBCVER >= 0x0200) #define SQL_LOCK_UNLOCK 2 /* Macros for 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) #endif /* ODBCVER >= 0x0200 */ /* Level 1 Prototypes */ /* Options for SQLDriverConnect */ #define SQL_DRIVER_NOPROMPT 0 #define SQL_DRIVER_COMPLETE 1 #define SQL_DRIVER_PROMPT 2 #define SQL_DRIVER_COMPLETE_REQUIRED 3 #ifndef RC_INVOKED SQLRETURN SQL_API SQLDriverConnect( SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR FAR *szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR FAR *szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR *pcbConnStrOut, SQLUSMALLINT fDriverCompletion); #endif /* RC_INVOKED */ /* Level 2 Functions */ /* SQLExtendedFetch "fFetchType" values */ #ifndef SQL_FETCH_NEXT #define SQL_FETCH_NEXT 1 #endif #ifndef SQL_FETCH_FIRST #define SQL_FETCH_FIRST 2 #endif #define SQL_FETCH_LAST 3 #define SQL_FETCH_PRIOR 4 #define SQL_FETCH_ABSOLUTE 5 #define SQL_FETCH_RELATIVE 6 #if (ODBCVER >= 0x0200) #define SQL_FETCH_BOOKMARK 8 #endif /* ODBCVER >= 0x0200 */ /* SQLExtendedFetch "rgfRowStatus" element values */ #define SQL_ROW_SUCCESS 0 #define SQL_ROW_DELETED 1 #define SQL_ROW_UPDATED 2 #define SQL_ROW_NOROW 3 #if (ODBCVER >= 0x0200) #define SQL_ROW_ADDED 4 #define SQL_ROW_ERROR 5 #endif /* ODBCVER >= 0x0200 */ /* Defines for SQLForeignKeys (returned in result set) */ #define SQL_CASCADE 0 #define SQL_RESTRICT 1 #define SQL_SET_NULL 2 #if (ODBCVER >= 0x0250) #define SQL_NO_ACTION 3 #define SQL_SET_DEFAULT 4 #endif /* Defines for SQLBindParameter and SQLProcedureColumns (returned in the result set) */ #define SQL_PARAM_TYPE_UNKNOWN 0 #define SQL_PARAM_INPUT 1 #define SQL_PARAM_INPUT_OUTPUT 2 #define SQL_RESULT_COL 3 #if (ODBCVER >= 0x0200) #define SQL_PARAM_OUTPUT 4 #define SQL_RETURN_VALUE 5 #endif /* ODBCVER >= 0x0200 */ #if (ODBCVER >= 0x0200) /* Defines for SQLProcedures (returned in the result set) */ #define SQL_PT_UNKNOWN 0 #define SQL_PT_PROCEDURE 1 #define SQL_PT_FUNCTION 2 #endif /* ODBCVER >= 0x0200 */ /* Defines used by Driver Manager when mapping SQLSetParam to SQLBindParameter */ #define SQL_PARAM_TYPE_DEFAULT SQL_PARAM_INPUT_OUTPUT #define SQL_SETPARAM_VALUE_MAX (-1L) #ifndef RC_INVOKED /* Level 2 Prototypes */ SQLRETURN SQL_API SQLBrowseConnect( SQLHDBC hdbc, SQLCHAR FAR *szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR FAR *szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR *pcbConnStrOut); SQLRETURN SQL_API SQLColumnPrivileges( SQLHSTMT hstmt, SQLCHAR FAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR FAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR FAR *szTableName, SQLSMALLINT cbTableName, SQLCHAR FAR *szColumnName, SQLSMALLINT cbColumnName); SQLRETURN SQL_API SQLDescribeParam( SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT FAR *pfSqlType, SQLUINTEGER FAR *pcbParamDef, SQLSMALLINT FAR *pibScale, SQLSMALLINT FAR *pfNullable); SQLRETURN SQL_API SQLExtendedFetch( SQLHSTMT hstmt, SQLUSMALLINT fFetchType, SQLINTEGER irow, SQLUINTEGER FAR *pcrow, SQLUSMALLINT FAR *rgfRowStatus); SQLRETURN SQL_API SQLForeignKeys( SQLHSTMT hstmt, SQLCHAR FAR *szPkCatalogName, SQLSMALLINT cbPkCatalogName, SQLCHAR FAR *szPkSchemaName, SQLSMALLINT cbPkSchemaName, SQLCHAR FAR *szPkTableName, SQLSMALLINT cbPkTableName, SQLCHAR FAR *szFkCatalogName, SQLSMALLINT cbFkCatalogName, SQLCHAR FAR *szFkSchemaName, SQLSMALLINT cbFkSchemaName, SQLCHAR FAR *szFkTableName, SQLSMALLINT cbFkTableName); SQLRETURN SQL_API SQLMoreResults( SQLHSTMT hstmt); SQLRETURN SQL_API SQLNativeSql( SQLHDBC hdbc, SQLCHAR FAR *szSqlStrIn, SQLINTEGER cbSqlStrIn, SQLCHAR FAR *szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR *pcbSqlStr); SQLRETURN SQL_API SQLNumParams( SQLHSTMT hstmt, SQLSMALLINT FAR *pcpar); SQLRETURN SQL_API SQLParamOptions( SQLHSTMT hstmt, SQLUINTEGER crow, SQLUINTEGER FAR *pirow); SQLRETURN SQL_API SQLPrimaryKeys( SQLHSTMT hstmt, SQLCHAR FAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR FAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR FAR *szTableName, SQLSMALLINT cbTableName); SQLRETURN SQL_API SQLProcedureColumns( SQLHSTMT hstmt, SQLCHAR FAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR FAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR FAR *szProcName, SQLSMALLINT cbProcName, SQLCHAR FAR *szColumnName, SQLSMALLINT cbColumnName); SQLRETURN SQL_API SQLProcedures( SQLHSTMT hstmt, SQLCHAR FAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR FAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR FAR *szProcName, SQLSMALLINT cbProcName); SQLRETURN SQL_API SQLSetPos( SQLHSTMT hstmt, SQLUSMALLINT irow, SQLUSMALLINT fOption, SQLUSMALLINT fLock); SQLRETURN SQL_API SQLTablePrivileges( SQLHSTMT hstmt, SQLCHAR FAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR FAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR FAR *szTableName, SQLSMALLINT cbTableName); /* SDK 2.0 Additions */ #if (ODBCVER >= 0x0200) SQLRETURN SQL_API SQLDrivers( SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR FAR *szDriverDesc, SQLSMALLINT cbDriverDescMax, SQLSMALLINT FAR *pcbDriverDesc, SQLCHAR FAR *szDriverAttributes, SQLSMALLINT cbDrvrAttrMax, SQLSMALLINT FAR *pcbDrvrAttr); SQLRETURN SQL_API SQLBindParameter( SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT fParamType, SQLSMALLINT fCType, SQLSMALLINT fSqlType, SQLUINTEGER cbColDef, SQLSMALLINT ibScale, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER FAR *pcbValue); #endif /* ODBCVER >= 0x0200 */ #endif /* RC_INVOKED */ #ifdef __cplusplus } /* End of extern "C" { */ #endif /* __cplusplus */ #endif /* __SQLEXT */