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

📄 sdodbc.pas

📁 SQLDirect Component Library is a light-weight Borland Database Engine replacement for Borland Delphi
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  SQL_SERVER_NAME                      	= 13;
  SQL_SEARCH_PATTERN_ESCAPE            	= 14;
  SQL_DBMS_NAME                        	= 17;
  SQL_DBMS_VER                         	= 18;
  SQL_ACCESSIBLE_TABLES                	= 19;
  SQL_ACCESSIBLE_PROCEDURES            	= 20;
  SQL_CURSOR_COMMIT_BEHAVIOR           	= 23;
  SQL_DATA_SOURCE_READ_ONLY            	= 25;
  SQL_DEFAULT_TXN_ISOLATION            	= 26;
  SQL_IDENTIFIER_CASE                  	= 28;
  SQL_IDENTIFIER_QUOTE_CHAR            	= 29;
  SQL_MAX_COLUMN_NAME_LEN              	= 30;
  SQL_MAXIMUM_COLUMN_NAME_LENGTH       	= SQL_MAX_COLUMN_NAME_LEN;
  SQL_MAX_CURSOR_NAME_LEN              	= 31;
  SQL_MAXIMUM_CURSOR_NAME_LENGTH       	= SQL_MAX_CURSOR_NAME_LEN;
  SQL_MAX_SCHEMA_NAME_LEN        	= 32;
  SQL_MAXIMUM_SCHEMA_NAME_LENGTH	= SQL_MAX_SCHEMA_NAME_LEN;
  SQL_MAX_CATALOG_NAME_LEN           	= 34;
  SQL_MAXIMUM_CATALOG_NAME_LENGTH	= SQL_MAX_CATALOG_NAME_LEN;
  SQL_MAX_TABLE_NAME_LEN               	= 35;
  SQL_SCROLL_CONCURRENCY               	= 43;
  SQL_TXN_CAPABLE                      	= 46;
  SQL_TRANSACTION_CAPABLE              	= SQL_TXN_CAPABLE;
  SQL_USER_NAME                        	= 47;
  SQL_TXN_ISOLATION_OPTION             	= 72;
  SQL_TRANSACTION_ISOLATION_OPTION     	= SQL_TXN_ISOLATION_OPTION;
  SQL_INTEGRITY                      	= 73;
  SQL_GETDATA_EXTENSIONS               	= 81;
  SQL_NULL_COLLATION                   	= 85;
  SQL_ALTER_TABLE                      	= 86;
  SQL_ORDER_BY_COLUMNS_IN_SELECT       	= 90;
  SQL_SPECIAL_CHARACTERS               	= 94;
  SQL_MAX_COLUMNS_IN_GROUP_BY          	= 97;
  SQL_MAXIMUM_COLUMNS_IN_GROUP_BY      	= SQL_MAX_COLUMNS_IN_GROUP_BY;
  SQL_MAX_COLUMNS_IN_INDEX             	= 98;
  SQL_MAXIMUM_COLUMNS_IN_INDEX         	= SQL_MAX_COLUMNS_IN_INDEX;
  SQL_MAX_COLUMNS_IN_ORDER_BY          	= 99;
  SQL_MAXIMUM_COLUMNS_IN_ORDER_BY      	= SQL_MAX_COLUMNS_IN_ORDER_BY;
  SQL_MAX_COLUMNS_IN_SELECT           	= 100;
  SQL_MAXIMUM_COLUMNS_IN_SELECT       	= SQL_MAX_COLUMNS_IN_SELECT;
  SQL_MAX_COLUMNS_IN_TABLE            	= 101;
  SQL_MAX_INDEX_SIZE                  	= 102;
  SQL_MAXIMUM_INDEX_SIZE              	= SQL_MAX_INDEX_SIZE;
  SQL_MAX_ROW_SIZE                    	= 104;
  SQL_MAXIMUM_ROW_SIZE                	= SQL_MAX_ROW_SIZE;
  SQL_MAX_STATEMENT_LEN               	= 105;
  SQL_MAXIMUM_STATEMENT_LENGTH        	= SQL_MAX_STATEMENT_LEN;
  SQL_MAX_TABLES_IN_SELECT            	= 106;
  SQL_MAXIMUM_TABLES_IN_SELECT        	= SQL_MAX_TABLES_IN_SELECT;
  SQL_MAX_USER_NAME_LEN               	= 107;
  SQL_MAXIMUM_USER_NAME_LENGTH        	= SQL_MAX_USER_NAME_LEN;

  SQL_OJ_CAPABILITIES                	= 115;
  SQL_OUTER_JOIN_CAPABILITIES        	= SQL_OJ_CAPABILITIES;

  SQL_XOPEN_CLI_YEAR               	= 10000;
  SQL_CURSOR_SENSITIVITY           	= 10001;
  SQL_DESCRIBE_PARAMETER           	= 10002;
  SQL_CATALOG_NAME                 	= 10003;
  SQL_COLLATION_SEQ                	= 10004;
  SQL_MAX_IDENTIFIER_LEN           	= 10005;
  SQL_MAXIMUM_IDENTIFIER_LENGTH    	= SQL_MAX_IDENTIFIER_LEN;

// SQL_ALTER_TABLE bitmasks
  SQL_AT_ADD_COLUMN           	= $00000001;
  SQL_AT_DROP_COLUMN           	= $00000002;
  SQL_AT_ADD_CONSTRAINT        	= $00000008;

// SQL_ASYNC_MODE values
  SQL_AM_NONE       	= 0;
  SQL_AM_CONNECTION	= 1;
  SQL_AM_STATEMENT 	= 2;

// SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values
  SQL_CB_DELETE                	= $0000;
  SQL_CB_CLOSE                 	= $0001;
  SQL_CB_PRESERVE              	= $0002;

// SQL_FETCH_DIRECTION bitmasks

// SQL_FETCH_DIRECTION masks
  SQL_FD_FETCH_NEXT           	= $00000001;
  SQL_FD_FETCH_FIRST          	= $00000002;
  SQL_FD_FETCH_LAST           	= $00000004;
  SQL_FD_FETCH_PRIOR          	= $00000008;
  SQL_FD_FETCH_ABSOLUTE       	= $00000010;
  SQL_FD_FETCH_RELATIVE       	= $00000020;

// SQL_GETDATA_EXTENSIONS bitmasks
  SQL_GD_ANY_COLUMN            	= $00000001;
  SQL_GD_ANY_ORDER             	= $00000002;

// SQL_IDENTIFIER_CASE values
  SQL_IC_UPPER       	 	= $0001;
  SQL_IC_LOWER        		= $0002;
  SQL_IC_SENSITIVE    		= $0003;
  SQL_IC_MIXED        		= $0004;

// SQL_OJ_CAPABILITIES bitmasks. NB: this means 'outer join', not what  you may be thinking
  SQL_OJ_LEFT                  	= $00000001;
  SQL_OJ_RIGHT                 	= $00000002;
  SQL_OJ_FULL                  	= $00000004;
  SQL_OJ_NESTED                	= $00000008;
  SQL_OJ_NOT_ORDERED           	= $00000010;
  SQL_OJ_INNER                 	= $00000020;
  SQL_OJ_ALL_COMPARISON_OPS    	= $00000040;

// SQL_SCROLL_CONCURRENCY bitmasks
  SQL_SCCO_READ_ONLY           	= $00000001;
  SQL_SCCO_LOCK                	= $00000002;
  SQL_SCCO_OPT_ROWVER          	= $00000004;
  SQL_SCCO_OPT_VALUES          	= $00000008;

// SQL_TXN_CAPABLE values
  SQL_TC_NONE                  	= $0000;
  SQL_TC_DML                   	= $0001;
  SQL_TC_ALL                   	= $0002;
  SQL_TC_DDL_COMMIT            	= $0003;
  SQL_TC_DDL_IGNORE            	= $0004;

// SQL_TXN_ISOLATION_OPTION bitmasks
  SQL_TXN_READ_UNCOMMITTED        	= $00000001;
  SQL_TRANSACTION_READ_UNCOMMITTED	= SQL_TXN_READ_UNCOMMITTED;
  SQL_TXN_READ_COMMITTED          	= $00000002;
  SQL_TRANSACTION_READ_COMMITTED  	= SQL_TXN_READ_COMMITTED;
  SQL_TXN_REPEATABLE_READ         	= $00000004;
  SQL_TRANSACTION_REPEATABLE_READ 	= SQL_TXN_REPEATABLE_READ;
  SQL_TXN_SERIALIZABLE            	= $00000008;
  SQL_TRANSACTION_SERIALIZABLE    	= SQL_TXN_SERIALIZABLE;

// SQL_NULL_COLLATION values
  SQL_NC_HIGH                 	= 0;
  SQL_NC_LOW                  	= 1;


{*****************************************************************
** SQLTYPES.H - This file defines the types used in ODBC
**
**		Created 04/10/95 for 2.50 specification
**		Updated 12/11/95 for 3.00 specification
*********************************************************************}
type
  UCHAR		= Byte;
  ULONG		= DWORD;
  USHORT	= Word;

  SCHAR		= Char;
  SDWORD	= Longint;
  SWORD		= Smallint;
  UDWORD	= DWORD;
  UWORD		= Word;
  SDOUBLE	= Double;
  SFLOAT	= Single;
  SLONG		= Longint;
  SSHORT	= Smallint;
  LDOUBLE	= Extended;

  PTR		= TSDPtr;

type
// API declaration data types
  SQLCHAR	= UCHAR;
  SQLSCHAR	= SCHAR;
  SQLDATE	= Byte;		//C type: unsigned char
  SQLDECIMAL	= Byte;		//C type: unsigned char
  SQLDOUBLE	= SDOUBLE;
  SQLFLOAT	= SDOUBLE;
  SQLINTEGER	= SDWORD;
  SQLUINTEGER	= UDWORD;
  SQLNUMERIC	= SQLDECIMAL;
  SQLPOINTER	= PTR;
  SQLREAL	= SFLOAT;
  SQLSMALLINT	= SWORD;
  SQLUSMALLINT	= UWORD;
  SQLTIME	= SQLDATE;
  SQLTIMESTAMP	= SQLDATE;
  SQLVARCHAR	= UCHAR;


// function return type
  SQLRETURN	= SQLSMALLINT;

// generic data structures
  SQLHANDLE	= TSDPtr;

  SQLHENV	= SQLHANDLE;
  SQLHDBC	= SQLHANDLE;
  SQLHSTMT	= SQLHANDLE;
  SQLHDESC	= SQLHANDLE;

  PSQLHANDLE	= ^SQLHANDLE;
  PSQLHENV	= ^SQLHENV;
  PSQLHDBC	= ^SQLHDBC;
  PSQLHSTMT	= ^SQLHSTMT;


  RETCODE	= Smallint;

  PSQLINTEGER	= ^SQLINTEGER;
  PSQLSMALLINT	= ^SQLSMALLINT;
  PSQLUSMALLINT	= ^SQLUSMALLINT;
  PSQLUINTEGER	= ^SQLUINTEGER;
  PSQLPOINTER	= ^SQLPOINTER;

  SQLHWND	= HWND;

// transfer types for DATE, TIME, TIMESTAMP
  TSQL_DATE_STRUCT	= record
    year:	SQLSMALLINT;
    month:	SQLUSMALLINT;
    day:	SQLUSMALLINT;
  end;

  TSQL_TIME_STRUCT	= record
    hour:	SQLUSMALLINT;
    minute:	SQLUSMALLINT;
    second:	SQLUSMALLINT;
  end;

  TSQL_TIMESTAMP_STRUCT = record
    year:	SQLSMALLINT;
    month:	SQLUSMALLINT;
    day:	SQLUSMALLINT;
    hour:	SQLUSMALLINT;
    minute:	SQLUSMALLINT;
    second:	SQLUSMALLINT;
    fraction:	SQLUINTEGER;	// fraction of a second
  end;

// * enumerations for DATETIME_INTERVAL_SUBCODE values for interval data types
// * these values are from SQL-92
//#if (ODBCVER >= 0x0300)
//typedef enum {
const
  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 */

type
  SQLINTERVAL = SQLDECIMAL;   // BYTE

  TSQL_YEAR_MONTH_STRUCT = record
    year:	SQLUINTEGER;
    month:	SQLUINTEGER;
  end;

  TSQL_DAY_SECOND_STRUCT = record
    day:	SQLUINTEGER;
    hour:	SQLUINTEGER;
    minute:	SQLUINTEGER;
    second:	SQLUINTEGER;
    fraction:	SQLUINTEGER;
  end;

  TSQL_INTERVAL_YM_STRUCT = record
    interval_type: SQLINTERVAL;
    dummy1, dummy2, dummy3: Byte;       // to align fields on 4-byte boundaries
    interval_sign: SQLSMALLINT;
    dummy4: Word;
    year_month: TSQL_YEAR_MONTH_STRUCT;
  end;

  TSQL_INTERVAL_DS_STRUCT = record
    interval_type: SQLINTERVAL;
    dummy1, dummy2, dummy3: Byte;
    interval_sign: SQLSMALLINT;
    dummy4: Word;
    day_second: TSQL_DAY_SECOND_STRUCT;
  end;

  TSQL_BOOKMARK	= SQLUINTEGER;

{*******************************************************************************
** SQLEXT.H - This is the include for applications using
**             the Microsoft SQL Extensions
**
**		Updated 07/25/95 for 3.00 specification
**		Updated 01/12/96 for 3.00 preliminary release
** 		Updated 09/16/96 for 3.00 SDK release
**		Updated 11/21/96 for bug #4436
********************************************************************************}
const
  SQL_SQLSTATE_SIZE	= 5;	// size of SQLSTATE
  SQL_MAX_DSN_LENGTH	= 32;	// maximum data source name size

  SQL_MAX_OPTION_STRING_LENGTH	= 256;

//#if (ODBCVER >= 0x0300)
	// an end handle type
  SQL_HANDLE_SENV	= 5;

	// env attribute
  SQL_ATTR_ODBC_VERSION		= 200;
  SQL_ATTR_CONNECTION_POOLING	= 201;
  SQL_ATTR_CP_MATCH		= 202;

	// values for SQL_ATTR_CONNECTION_POOLING
 SQL_CP_OFF	      	= 0;
 SQL_CP_ONE_PER_DRIVER	= 1;
 SQL_CP_ONE_PER_HENV  	= 2;
 SQL_CP_DEFAULT	      	= SQL_CP_OFF;

	// values for SQL_ATTR_CP_MATCH
 SQL_CP_STRICT_MATCH 	= 0;
 SQL_CP_RELAXED_MATCH	= 1;
 SQL_CP_MATCH_DEFAULT	= SQL_CP_STRICT_MATCH;

	// values for SQL_ATTR_ODBC_VERSION
 SQL_OV_ODBC2	= 2;
 SQL_OV_ODBC3	= 3;
//#endif  /* ODBCVER >= 0x0300 */

	// connection attributes
  SQL_ACCESS_MODE              	= 101;
  SQL_AUTOCOMMIT               	= 102;
  SQL_LOGIN_TIMEOUT            	= 103;
  SQL_OPT_TRACE                	= 104;
  SQL_OPT_TRACEFILE            	= 105;
  SQL_TRANSLATE_DLL            	= 106;
  SQL_TRANSLATE_OPTION         	= 107;
  SQL_TXN_ISOLATION            	= 108;
  SQL_CURRENT_QUALIFIER        	= 109;
  SQL_ODBC_CURSORS             	= 110;
  SQL_QUIET_MODE               	= 111;
  SQL_PACKET_SIZE              	= 112;

//#if (ODBCVER >= 0x0300)
	// connection attributes with new names
  SQL_ATTR_ACCESS_MODE         	= SQL_ACCESS_MODE;

⌨️ 快捷键说明

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