📄 sdodbc.pas
字号:
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 + -