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

📄 sqlext.h

📁 能够连接各种数据库的API
💻 H
📖 第 1 页 / 共 5 页
字号:
/* *  sqlext.h * *  $Id: sqlext.h,v 1.2 1999/12/09 13:47:35 source Exp $ * *  ODBC defines (ext) * *  The iODBC driver manager. * *  Copyright (C) 1995 by Ke Jin <kejin@empress.com> * *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Library General Public *  License as published by the Free Software Foundation; either *  version 2 of the License, or (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Library General Public License for more details. * *  You should have received a copy of the GNU Library General Public *  License along with this library; if not, write to the Free *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef	_SQLEXT_H#define _SQLEXT_H#ifndef _SQL_H#include <sql.h>#endif#ifdef __cplusplusextern "C" {#endif/* *  Useful Constants */#define SQL_SPEC_MAJOR     			3#define SQL_SPEC_MINOR	   			51#define SQL_SPEC_STRING   			"03.51"#define SQL_SQLSTATE_SIZE			5#define SQL_MAX_DSN_LENGTH			32#define SQL_MAX_OPTION_STRING_LENGTH    	256/* *  Handle types */#if (ODBCVER >= 0x0300)#define SQL_HANDLE_SENV				5#endif	/* ODBCVER >= 0x0300 *//* *  Function return codes */#if (ODBCVER < 0x0300)#define SQL_NO_DATA_FOUND			100#else#define SQL_NO_DATA_FOUND			SQL_NO_DATA#endif	/* ODBCVER < 0x0300 *//* *  Special length values for attributes */#if (ODBCVER >= 0x0300)#define SQL_IS_POINTER				(-4)#define SQL_IS_UINTEGER				(-5)#define SQL_IS_INTEGER				(-6)#define SQL_IS_USMALLINT			(-7)#define SQL_IS_SMALLINT				(-8)#endif	/* ODBCVER >= 0x0300 *//* *  SQL extended datatypes */#define SQL_DATE				9#if (ODBCVER >= 0x0300)#define SQL_INTERVAL				10#endif	/* ODBCVER >= 0x0300 */#define SQL_TIME				10#define SQL_TIMESTAMP				11#define SQL_LONGVARCHAR		 		(-1)#define SQL_BINARY				(-2)#define SQL_VARBINARY				(-3)#define SQL_LONGVARBINARY			(-4)#define SQL_BIGINT				(-5)#define SQL_TINYINT 				(-6)#define SQL_BIT 				(-7)#if (ODBCVER >= 0x0350)#define SQL_GUID				(-11)#endif	/* ODBCVER >= 0x0350 *//* *  SQL Interval datatypes */#if (ODBCVER >= 0x0300)#define SQL_CODE_YEAR				1#define SQL_CODE_MONTH				2#define SQL_CODE_DAY				3#define SQL_CODE_HOUR				4#define SQL_CODE_MINUTE				5#define SQL_CODE_SECOND				6#define SQL_CODE_YEAR_TO_MONTH			7#define SQL_CODE_DAY_TO_HOUR			8#define SQL_CODE_DAY_TO_MINUTE			9#define SQL_CODE_DAY_TO_SECOND			10#define SQL_CODE_HOUR_TO_MINUTE			11#define SQL_CODE_HOUR_TO_SECOND			12#define SQL_CODE_MINUTE_TO_SECOND		13#define SQL_INTERVAL_YEAR			(100 + SQL_CODE_YEAR)#define SQL_INTERVAL_MONTH			(100 + SQL_CODE_MONTH)#define SQL_INTERVAL_DAY			(100 + SQL_CODE_DAY)#define SQL_INTERVAL_HOUR			(100 + SQL_CODE_HOUR)#define SQL_INTERVAL_MINUTE			(100 + SQL_CODE_MINUTE)#define SQL_INTERVAL_SECOND                	(100 + SQL_CODE_SECOND)#define SQL_INTERVAL_YEAR_TO_MONTH		(100 + SQL_CODE_YEAR_TO_MONTH)#define SQL_INTERVAL_DAY_TO_HOUR		(100 + SQL_CODE_DAY_TO_HOUR)#define SQL_INTERVAL_DAY_TO_MINUTE		(100 + SQL_CODE_DAY_TO_MINUTE)#define SQL_INTERVAL_DAY_TO_SECOND		(100 + SQL_CODE_DAY_TO_SECOND)#define SQL_INTERVAL_HOUR_TO_MINUTE		(100 + SQL_CODE_HOUR_TO_MINUTE)#define SQL_INTERVAL_HOUR_TO_SECOND		(100 + SQL_CODE_HOUR_TO_SECOND)#define SQL_INTERVAL_MINUTE_TO_SECOND		(100 + SQL_CODE_MINUTE_TO_SECOND)#else#define SQL_INTERVAL_YEAR			(-80)#define SQL_INTERVAL_MONTH			(-81)#define SQL_INTERVAL_YEAR_TO_MONTH		(-82)#define SQL_INTERVAL_DAY			(-83)#define SQL_INTERVAL_HOUR			(-84)#define SQL_INTERVAL_MINUTE			(-85)#define SQL_INTERVAL_SECOND			(-86)#define SQL_INTERVAL_DAY_TO_HOUR		(-87)#define SQL_INTERVAL_DAY_TO_MINUTE		(-88)#define SQL_INTERVAL_DAY_TO_SECOND		(-89)#define SQL_INTERVAL_HOUR_TO_MINUTE		(-90)#define SQL_INTERVAL_HOUR_TO_SECOND		(-91)#define SQL_INTERVAL_MINUTE_TO_SECOND		(-92)#endif	/* ODBCVER >= 0x0300 *//* *   SQL unicode data types */#if (ODBCVER <= 0x0300)/* These definitions are historical and obsolete */#define SQL_UNICODE				(-95)#define SQL_UNICODE_VARCHAR			(-96)#define SQL_UNICODE_LONGVARCHAR			(-97)#define SQL_UNICODE_CHAR			SQL_UNICODE#else#define SQL_UNICODE				SQL_WCHAR#define SQL_UNICODE_VARCHAR			SQL_WVARCHAR#define SQL_UNICODE_LONGVARCHAR			SQL_WLONGVARCHAR#define SQL_UNICODE_CHAR			SQL_WCHAR#endif	/* ODBCVER >= 0x0300 */#if (ODBCVER < 0x0300)#define SQL_TYPE_DRIVER_START			SQL_INTERVAL_YEAR#define SQL_TYPE_DRIVER_END			SQL_UNICODE_LONGVARCHAR#endif	/* ODBCVER < 0x0300 */#define SQL_SIGNED_OFFSET			(-20)#define SQL_UNSIGNED_OFFSET			(-22)/* *  C datatype to SQL datatype mapping */#define SQL_C_CHAR    				SQL_CHAR#define SQL_C_LONG    				SQL_INTEGER#define SQL_C_SHORT   				SQL_SMALLINT#define SQL_C_FLOAT   				SQL_REAL#define SQL_C_DOUBLE  				SQL_DOUBLE#if (ODBCVER >= 0x0300)#define SQL_C_NUMERIC				SQL_NUMERIC#endif	 /* ODBCVER >= 0x0300 */#define SQL_C_DEFAULT 				99#define SQL_C_DATE				SQL_DATE#define SQL_C_TIME				SQL_TIME#define SQL_C_TIMESTAMP 			SQL_TIMESTAMP#define SQL_C_BINARY				SQL_BINARY#define SQL_C_BIT				SQL_BIT#define SQL_C_TINYINT				SQL_TINYINT#define SQL_C_SLONG 				(SQL_C_LONG+SQL_SIGNED_OFFSET)#define SQL_C_SSHORT				(SQL_C_SHORT+SQL_SIGNED_OFFSET)#define SQL_C_STINYINT				(SQL_TINYINT+SQL_SIGNED_OFFSET)#define SQL_C_ULONG 				(SQL_C_LONG+SQL_UNSIGNED_OFFSET)#define SQL_C_USHORT				(SQL_C_SHORT+SQL_UNSIGNED_OFFSET)#define SQL_C_UTINYINT				(SQL_TINYINT+SQL_UNSIGNED_OFFSET)#define SQL_C_BOOKMARK				SQL_C_ULONG#if (ODBCVER >= 0x0300)#define SQL_C_TYPE_DATE				SQL_TYPE_DATE#define SQL_C_TYPE_TIME				SQL_TYPE_TIME#define SQL_C_TYPE_TIMESTAMP			SQL_TYPE_TIMESTAMP#define SQL_C_INTERVAL_YEAR			SQL_INTERVAL_YEAR#define SQL_C_INTERVAL_MONTH			SQL_INTERVAL_MONTH#define SQL_C_INTERVAL_DAY			SQL_INTERVAL_DAY#define SQL_C_INTERVAL_HOUR			SQL_INTERVAL_HOUR#define SQL_C_INTERVAL_MINUTE			SQL_INTERVAL_MINUTE#define SQL_C_INTERVAL_SECOND			SQL_INTERVAL_SECOND#define SQL_C_INTERVAL_YEAR_TO_MONTH		SQL_INTERVAL_YEAR_TO_MONTH#define SQL_C_INTERVAL_DAY_TO_HOUR		SQL_INTERVAL_DAY_TO_HOUR#define SQL_C_INTERVAL_DAY_TO_MINUTE		SQL_INTERVAL_DAY_TO_MINUTE#define SQL_C_INTERVAL_DAY_TO_SECOND		SQL_INTERVAL_DAY_TO_SECOND#define SQL_C_INTERVAL_HOUR_TO_MINUTE		SQL_INTERVAL_HOUR_TO_MINUTE#define SQL_C_INTERVAL_HOUR_TO_SECOND		SQL_INTERVAL_HOUR_TO_SECOND#define SQL_C_INTERVAL_MINUTE_TO_SECOND		SQL_INTERVAL_MINUTE_TO_SECOND#define SQL_C_SBIGINT				(SQL_BIGINT+SQL_SIGNED_OFFSET)#define SQL_C_UBIGINT				(SQL_BIGINT+SQL_UNSIGNED_OFFSET)#define SQL_C_GUID				SQL_GUID#define SQL_C_VARBOOKMARK			SQL_C_BINARY#endif	 /* ODBCVER >= 0x0300 */#define SQL_TYPE_NULL				0#if (ODBCVER < 0x0300)#define SQL_TYPE_MIN				SQL_BIT#define SQL_TYPE_MAX				SQL_VARCHAR#endif	/* ODBCVER < 0x0300 *//* * ---------------------------------------------------------------------- *  Level 1 Functions * ---------------------------------------------------------------------- *//* *  SQLBindParameter */#define SQL_DEFAULT_PARAM			(-5)#define SQL_IGNORE				(-6)#if (ODBCVER >= 0x0300)#define SQL_COLUMN_IGNORE			SQL_IGNORE#endif	/* ODBCVER >= 0x0300 */#define SQL_LEN_DATA_AT_EXEC_OFFSET		(-100)#define SQL_LEN_DATA_AT_EXEC(length) 		(-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)/* *  binary length for driver specific attributes */#define SQL_LEN_BINARY_ATTR_OFFSET		 (-100)#define SQL_LEN_BINARY_ATTR(length)	 (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)/* *  SQLColAttributes - ODBC 2.x defines */#define SQL_COLUMN_COUNT			0#define SQL_COLUMN_NAME				1#define SQL_COLUMN_TYPE				2#define SQL_COLUMN_LENGTH			3#define SQL_COLUMN_PRECISION			4#define SQL_COLUMN_SCALE			5#define SQL_COLUMN_DISPLAY_SIZE			6#define SQL_COLUMN_NULLABLE			7#define SQL_COLUMN_UNSIGNED			8#define SQL_COLUMN_MONEY			9#define SQL_COLUMN_UPDATABLE			10#define SQL_COLUMN_AUTO_INCREMENT		11#define SQL_COLUMN_CASE_SENSITIVE		12#define SQL_COLUMN_SEARCHABLE			13#define SQL_COLUMN_TYPE_NAME			14#define SQL_COLUMN_TABLE_NAME			15#define SQL_COLUMN_OWNER_NAME			16#define SQL_COLUMN_QUALIFIER_NAME		17#define SQL_COLUMN_LABEL			18#define SQL_COLATT_OPT_MAX			SQL_COLUMN_LABEL#if (ODBCVER < 0x0300)#define SQL_COLUMN_DRIVER_START			1000#endif	/* ODBCVER < 0x0300 */#define SQL_COLATT_OPT_MIN			SQL_COLUMN_COUNT/* *  SQLColAttributes - SQL_COLUMN_UPDATABLE */#define SQL_ATTR_READONLY			0#define SQL_ATTR_WRITE				1#define SQL_ATTR_READWRITE_UNKNOWN		2/* *  SQLColAttributes - SQL_COLUMN_SEARCHABLE */#define SQL_UNSEARCHABLE			0#define SQL_LIKE_ONLY				1#define SQL_ALL_EXCEPT_LIKE			2#define SQL_SEARCHABLE				3#define SQL_PRED_SEARCHABLE			SQL_SEARCHABLE/* *  SQLDataSources - additional fetch directions */#if (ODBCVER >= 0x0300)#define SQL_FETCH_FIRST_USER			31#define SQL_FETCH_FIRST_SYSTEM			32#endif	/* ODBCVER >= 0x0300 *//* *  SQLDriverConnect */#define SQL_DRIVER_NOPROMPT 			0#define SQL_DRIVER_COMPLETE 			1#define SQL_DRIVER_PROMPT			2#define SQL_DRIVER_COMPLETE_REQUIRED		3/* *  SQLGetConnectAttr - ODBC 2.x attributes */#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/* *  SQLGetConnectAttr - ODBC 3.0 attributes */#if (ODBCVER >= 0x0300)#define SQL_ATTR_ACCESS_MODE			SQL_ACCESS_MODE#define SQL_ATTR_AUTOCOMMIT			SQL_AUTOCOMMIT#define SQL_ATTR_CONNECTION_TIMEOUT		113#define SQL_ATTR_CURRENT_CATALOG		SQL_CURRENT_QUALIFIER#define SQL_ATTR_DISCONNECT_BEHAVIOR		114#define SQL_ATTR_ENLIST_IN_DTC			1207#define SQL_ATTR_ENLIST_IN_XA			1208#define SQL_ATTR_LOGIN_TIMEOUT			SQL_LOGIN_TIMEOUT#define SQL_ATTR_ODBC_CURSORS			SQL_ODBC_CURSORS#define SQL_ATTR_PACKET_SIZE			SQL_PACKET_SIZE#define SQL_ATTR_QUIET_MODE			SQL_QUIET_MODE#define SQL_ATTR_TRACE				SQL_OPT_TRACE#define SQL_ATTR_TRACEFILE			SQL_OPT_TRACEFILE#define SQL_ATTR_TRANSLATE_LIB			SQL_TRANSLATE_DLL#define SQL_ATTR_TRANSLATE_OPTION		SQL_TRANSLATE_OPTION#define SQL_ATTR_TXN_ISOLATION			SQL_TXN_ISOLATION#endif	/* ODBCVER >= 0x0300 */#define SQL_ATTR_CONNECTION_DEAD		1209 /* GetConnectAttr only *//* *  These options have no meaning for a 3.0 driver */#if (ODBCVER < 0x0300)#define SQL_CONN_OPT_MIN			SQL_ACCESS_MODE#define SQL_CONN_OPT_MAX			SQL_PACKET_SIZE#define SQL_CONNECT_OPT_DRVR_START		1000#endif	/* ODBCVER < 0x0300 *//* *  SQLGetConnectAttr - SQL_ACCESS_MODE */#define SQL_MODE_READ_WRITE 			0UL#define SQL_MODE_READ_ONLY			1UL#define SQL_MODE_DEFAULT			SQL_MODE_READ_WRITE/* *  SQLGetConnectAttr - SQL_AUTOCOMMIT */#define SQL_AUTOCOMMIT_OFF			0UL#define SQL_AUTOCOMMIT_ON			1UL#define SQL_AUTOCOMMIT_DEFAULT			SQL_AUTOCOMMIT_ON/* *  SQLGetConnectAttr - SQL_LOGIN_TIMEOUT */#define SQL_LOGIN_TIMEOUT_DEFAULT		15UL/* *  SQLGetConnectAttr - 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/* *  SQLGetConnectAttr - SQL_OPT_TRACE */#define SQL_OPT_TRACE_OFF			0UL#define SQL_OPT_TRACE_ON			1UL#define SQL_OPT_TRACE_DEFAULT			SQL_OPT_TRACE_OFF#if defined (WIN32)#define SQL_OPT_TRACE_FILE_DEFAULT		"\\SQL.LOG"#else#define SQL_OPT_TRACE_FILE_DEFAULT		"/tmp/odbc.log"#endif/* *  SQLGetConnectAttr - SQL_ATTR_ANSI_APP */#if (ODBCVER >= 0x0351)#define SQL_AA_TRUE				1L /* ANSI app */#define SQL_AA_FALSE				0L /* Unicode app */#endif/* *  SQLGetConnectAttr - SQL_ATTR_CONNECTION_DEAD */#define SQL_CD_TRUE				1L /* closed/dead */#define SQL_CD_FALSE				0L /* open/available *//* *  SQLGetConnectAttr - SQL_ATTR_DISCONNECT_BEHAVIOR */#if (ODBCVER >= 0x0300)#define SQL_DB_RETURN_TO_POOL			0UL#define SQL_DB_DISCONNECT			1UL#define SQL_DB_DEFAULT				SQL_DB_RETURN_TO_POOL#endif	/* ODBCVER >= 0x0300 *//* *  SQLGetConnectAttr - SQL_ATTR_ENLIST_IN_DTC */#if (ODBCVER >= 0x0300)#define SQL_DTC_DONE				0L#endif	/* ODBCVER >= 0x0300 *//* *   SQLGetConnectAttr - Unicode drivers */#if (ODBCVER >= 0x0351)#define SQL_ATTR_ANSI_APP			115#endif/* *  SQLGetData */#define SQL_NO_TOTAL				(-4)/* *  SQLGetDescField - extended descriptor field */#if (ODBCVER >= 0x0300)#define SQL_DESC_ARRAY_SIZE			20#define SQL_DESC_ARRAY_STATUS_PTR		21#define SQL_DESC_AUTO_UNIQUE_VALUE		SQL_COLUMN_AUTO_INCREMENT#define SQL_DESC_BASE_COLUMN_NAME		22#define SQL_DESC_BASE_TABLE_NAME		23#define SQL_DESC_BIND_OFFSET_PTR		24#define SQL_DESC_BIND_TYPE			25#define SQL_DESC_CASE_SENSITIVE			SQL_COLUMN_CASE_SENSITIVE#define SQL_DESC_CATALOG_NAME			SQL_COLUMN_QUALIFIER_NAME#define SQL_DESC_CONCISE_TYPE			SQL_COLUMN_TYPE#define SQL_DESC_DATETIME_INTERVAL_PRECISION	26#define SQL_DESC_DISPLAY_SIZE			SQL_COLUMN_DISPLAY_SIZE

⌨️ 快捷键说明

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