📄 infxsql.h
字号:
/******************************************************************* INFXSQL.H - This is the the include file for Informix-CLI** applications with SQL.H and SQLEXT.H***********************************************************************/#ifndef __INFXSQL#define __INFXSQL/******************************************************************* SQL.H - This is the the main include for ODBC Core functions.**** preconditions:** #include "windows.h"**** (C) Copyright 1990 - 1996 By Microsoft Corp.**** Updated 5/12/93 for 2.00 specification** Updated 5/23/94 for 2.01 specification** Updated 11/10/94 for 2.10 specification** Updated 04/10/95 for 2.50 specification** Updated 6/6/95 for 3.00 specification*********************************************************************//** ODBCVER ODBC version number (0x0300). To exclude* definitions introduced in version 3.0 (or above)* #define ODBCVER 0x0250 before #including <sql.h>*/#ifndef ODBCVER#define ODBCVER 0x0300#endif/* environment specific definitions */#ifndef EXPORT#define EXPORT #endif#ifdef WIN32#define SQL_API __stdcall#else#define SQL_API#endif#ifndef RC_INVOKED/* API declaration data types */typedef unsigned char SQLCHAR;#if (ODBCVER >= 0x0300)typedef signed char SQLSCHAR;typedef unsigned char SQLDATE;typedef unsigned char SQLDECIMAL;typedef double SQLDOUBLE;typedef double SQLFLOAT;#endif/* for 32/64-bit compliance SQLINTEGER is defined as int * and SQLUINTEGER is defined as unsigned int */typedef int SQLINTEGER;typedef unsigned int SQLUINTEGER;#if (ODBCVER >= 0x0300)typedef unsigned char SQLNUMERIC;#endiftypedef void * SQLPOINTER;#if (ODBCVER >= 0x0300)typedef float SQLREAL;#endiftypedef short SQLSMALLINT;typedef unsigned short SQLUSMALLINT;#if (ODBCVER >= 0x0300)typedef unsigned char SQLTIME;typedef unsigned char SQLTIMESTAMP;typedef unsigned char SQLVARCHAR;#endif/* Windows/NT specific DataTypes and defines */#ifndef WIN32#define CALLBACK#define EXPORT#define FAR#define PASCAL#define _cdecl#define TRUE 1#define FALSE 0#define VOID voidtypedef int HWND;typedef int BOOL;typedef unsigned int UINT;typedef VOID *HANDLE;typedef char *LPSTR;typedef const char *LPCSTR;typedef char *LPWSTR;typedef char WCHAR;typedef SQLUINTEGER DWORD;typedef unsigned short WORD;typedef unsigned char BYTE;typedef BYTE *LPBYTE;typedef SQLINTEGER LONG;typedef VOID *LPVOID; typedef VOID *PVOID;typedef VOID *HMODULE;typedef int GLOBALHANDLE;typedef int (*FARPROC)();typedef VOID *HINSTANCE;typedef unsigned int WPARAM;typedef SQLUINTEGER LPARAM;typedef VOID *HKEY;typedef VOID *PHKEY;typedef char CHAR;typedef BOOL *LPBOOL;typedef DWORD *LPDWORD;typedef const char *LPCWSTR;typedef char TCHAR;typedef char VCHAR;typedef TCHAR *LPTSTR;typedef const TCHAR *LPCTSTR;#endif /*!WIN32 *//* function return type */typedef SQLSMALLINT SQLRETURN;/* generic data structures */#if (ODBCVER >= 0x0300)typedef void* SQLHANDLE;typedef SQLHANDLE SQLHENV;typedef SQLHANDLE SQLHDBC;typedef SQLHANDLE SQLHSTMT;typedef SQLHANDLE SQLHDESC;#elsetypedef void* SQLHENV;typedef void* SQLHDBC;typedef void* SQLHSTMT;#endif /* ODBCVER >= 0x0300 *//* SQL portable types for C */typedef unsigned char UCHAR;typedef signed char SCHAR;typedef SQLINTEGER SDWORD;typedef short int SWORD;typedef SQLUINTEGER UDWORD;typedef unsigned short int UWORD;typedef signed long SLONG;typedef signed short SSHORT;typedef unsigned long ULONG;typedef unsigned short USHORT;typedef double SDOUBLE;typedef double LDOUBLE; typedef float SFLOAT;#ifdef PTR#undef PTR#endiftypedef void* PTR;typedef void* HENV;typedef void* HDBC;typedef void* HSTMT;typedef signed short RETCODE;#if defined(WIN32) || defined(OS2)typedef HWND SQLHWND;#elif defined (UNIX)typedef Widget SQLHWND;#else/* placehold for future O/S GUI window handle definition */typedef SQLPOINTER SQLHWND;#endif#ifndef __SQLDATE#define __SQLDATE/* transfer types for DATE, TIME, TIMESTAMP */typedef struct tagDATE_STRUCT{ SQLSMALLINT year; SQLUSMALLINT month; SQLUSMALLINT day;} DATE_STRUCT;#if (ODBCVER >= 0x0300)typedef DATE_STRUCT SQL_DATE_STRUCT;#endif /* ODBCVER >= 0x0300 */typedef struct tagTIME_STRUCT{ SQLUSMALLINT hour; SQLUSMALLINT minute; SQLUSMALLINT second;} TIME_STRUCT;#if (ODBCVER >= 0x0300)typedef TIME_STRUCT SQL_TIME_STRUCT;#endif /* ODBCVER >= 0x0300 */typedef struct tagTIMESTAMP_STRUCT{ SQLSMALLINT year; SQLUSMALLINT month; SQLUSMALLINT day; SQLUSMALLINT hour; SQLUSMALLINT minute; SQLUSMALLINT second; SQLUINTEGER fraction;} TIMESTAMP_STRUCT;#if (ODBCVER >= 0x0300)typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;#endif /* ODBCVER >= 0x0300 *//* * enumerations for DATETIME_INTERVAL_SUBCODE values for interval data types * these values are from SQL-92 */#if (ODBCVER >= 0x0300)typedef enum { SQL_IS_YEAR = 1, SQL_IS_MONTH = 2, SQL_IS_DAY = 3, SQL_IS_HOUR = 4, SQL_IS_MINUTE = 5, SQL_IS_SECOND = 6, SQL_IS_YEAR_TO_MONTH = 7, SQL_IS_DAY_TO_HOUR = 8, SQL_IS_DAY_TO_MINUTE = 9, SQL_IS_DAY_TO_SECOND = 10, SQL_IS_HOUR_TO_MINUTE = 11, SQL_IS_HOUR_TO_SECOND = 12, SQL_IS_MINUTE_TO_SECOND = 13} SQLINTERVAL;#endif /* ODBCVER >= 0x0300 */#if (ODBCVER >= 0x0300)typedef struct tagSQL_YEAR_MONTH{ SQLUINTEGER year; SQLUINTEGER month;} SQL_YEAR_MONTH_STRUCT;typedef struct tagSQL_DAY_SECOND{ SQLUINTEGER day; SQLUINTEGER hour; SQLUINTEGER minute; SQLUINTEGER second; SQLUINTEGER fraction;} SQL_DAY_SECOND_STRUCT;typedef struct tagSQL_INTERVAL_STRUCT{ SQLINTERVAL interval_type; SQLSMALLINT interval_sign; union { SQL_YEAR_MONTH_STRUCT year_month; SQL_DAY_SECOND_STRUCT day_second; } intval;} SQL_INTERVAL_STRUCT;#endif /* ODBCVER >= 0x0300 */#endif /* __SQLDATE *//* the ODBC C types for SQL_C_SBIGINT and SQL_C_UBIGINT */#if (ODBCVER >= 0x0300)#if (_MSC_VER >= 900)#define ODBCINT64 __int64#endif /* define ODBCINT64 for UNIX */#ifndef ODBCINT64#define ODBCINT64 long long#endif /* ODBCINT64 *//* If using other compilers, define ODBCINT64 to the approriate 64 bit integer type */#ifdef ODBCINT64typedef ODBCINT64 SQLBIGINT;typedef unsigned ODBCINT64 SQLUBIGINT;#endif#endif /* ODBCVER >= 0x0300 *//* internal representation of numeric data type */#if (ODBCVER >= 0x0300)#define SQL_MAX_NUMERIC_LEN 16typedef struct tagSQL_NUMERIC_STRUCT{ SQLCHAR precision; SQLSCHAR scale; SQLCHAR sign; /* 1 if positive, 0 if negative */ SQLCHAR val[SQL_MAX_NUMERIC_LEN];} SQL_NUMERIC_STRUCT;#endif /* ODBCVER >= 0x0300 */typedef SQLUINTEGER BOOKMARK;typedef wchar_t SQLWCHAR;#ifdef UNICODEtypedef SQLWCHAR SQLTCHAR;#elsetypedef SQLCHAR SQLTCHAR;#endif /* UNICODE */#endif /* RC_INVOKED *//********************************************//* removes warning in 2.x applications */#define HSTMT SQLHSTMT#define HDBC SQLHDBC#define HENV SQLHENV#define PTR void*#ifdef __cplusplusextern "C" { /* Assume C declarations for C++ */#endif /* __cplusplus *//* special length/indicator values */#define SQL_NULL_DATA (-1)#define SQL_DATA_AT_EXEC (-2)/* return values from functions */#define SQL_SUCCESS 0#define SQL_SUCCESS_WITH_INFO 1#if (ODBCVER >= 0x0300)#define SQL_NO_DATA 100#endif#define SQL_ERROR (-1)#define SQL_INVALID_HANDLE (-2)#define SQL_STILL_EXECUTING 2#define SQL_NEED_DATA 99/* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)/* flags for null-terminated string */#define SQL_NTS (-3)#define SQL_NTSL (-3L)/* maximum message length */#define SQL_MAX_MESSAGE_LENGTH 512/* date/time length constants */#if (ODBCVER >= 0x0300)#define SQL_DATE_LEN 10#define SQL_TIME_LEN 8 /* add P+1 if precision is nonzero */#define SQL_TIMESTAMP_LEN 19 /* add P+1 if precision is nonzero */#endif/* handle type identifiers */#if (ODBCVER >= 0x0300)#define SQL_HANDLE_ENV 1#define SQL_HANDLE_DBC 2#define SQL_HANDLE_STMT 3#define SQL_HANDLE_DESC 4#endif/* environment attribute */#if (ODBCVER >= 0x0300)#define SQL_ATTR_OUTPUT_NTS 10001
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -