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

📄 sddb2.pas

📁 SQLDirect Component Library is a light-weight Borland Database Engine replacement for Borland Delphi
💻 PAS
📖 第 1 页 / 共 4 页
字号:

{**********************************************************}
{							   }
{       Delphi SQLDirect Component Library		   }
{	IBM DB2 API (CAE v5.2+) Interface Unit 		   }
{                                                          }
{       Copyright (c) 1997,2005 by Yuri Sheino		   }
{                                                          }
{**********************************************************}
{$I SqlDir.inc}
unit SDDb2 {$IFDEF SD_CLR} platform {$ENDIF};

interface

uses
  Windows, SysUtils, Classes, Db, SyncObjs,
{$IFDEF SD_CLR}
  System.Runtime.InteropServices,
{$ENDIF}
  SDConsts, SDCommon, SDOdbc;



{******************************************************************************
 *
 * Source File Name = sqlcli.h
 *
 * Function = Include File defining:
 *              DB2 CLI Interface - Constants
 *              DB2 CLI Interface - Data Structures
 *              DB2 CLI Interface - Function Prototypes
 *
 * Operating System = Common C Include File
 *
 *****************************************************************************}


const
// generally useful constants
  SQL_MAX_MESSAGE_LENGTH	= 1024; // message buffer size
  SQL_MAX_ID_LENGTH        	= 18;   // maximum identifier name size, e.g. cursor names

(* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO
#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
*)


// SQL extended data types
  SQL_GRAPHIC           = -95;
  SQL_VARGRAPHIC        = -96;
  SQL_LONGVARGRAPHIC    = -97;
  SQL_BLOB              = -98;
  SQL_CLOB              = -99;
  SQL_DBCLOB            = -350;

// C data type to SQL data type mapping
  SQL_C_DBCHAR        	= SQL_DBCLOB;
  SQL_C_DECIMAL_IBM   	= SQL_DECIMAL;

// locator type identifier
  SQL_BLOB_LOCATOR      = 31;
  SQL_CLOB_LOCATOR      = 41;
  SQL_DBCLOB_LOCATOR    = -351;

// C Data Type for the LOB locator types
  SQL_C_BLOB_LOCATOR    = SQL_BLOB_LOCATOR;
  SQL_C_CLOB_LOCATOR    = SQL_CLOB_LOCATOR;
  SQL_C_DBCLOB_LOCATOR  = SQL_DBCLOB_LOCATOR;

// SQLColAttributes defines
  SQL_COLUMN_SCHEMA_NAME     	= 16;
  SQL_COLUMN_CATALOG_NAME    	= 17;
  SQL_COLUMN_DISTINCT_TYPE   	= 1250;
  SQL_DESC_DISTINCT_TYPE     	= SQL_COLUMN_DISTINCT_TYPE;

// SQLColAttribute defines for SQL_COLUMN_UPDATABLE condition
  SQL_UPDT_READONLY           	= 0;
  SQL_UPDT_WRITE              	= 1;
  SQL_UPDT_READWRITE_UNKNOWN  	= 2;

// SQL_DIAG_ROW_NUMBER values
  SQL_ROW_NO_ROW_NUMBER 	= (-1);
  SQL_ROW_NUMBER_UNKNOWN        = (-2);

// SQL_DIAG_COLUMN_NUMBER values
  SQL_COLUMN_NO_COLUMN_NUMBER   = (-1);
  SQL_COLUMN_NUMBER_UNKNOWN     = (-2);

// internal representation of numeric data type
const
  SQL_MAX_NUMERIC_LEN	= 16;
type
  TSQL_NUMERIC_STRUCT	= record
    precision:	SQLCHAR;
    scale:	SQLSCHAR;
    sign:	SQLCHAR;	// 1 if positive, 0 if negative
    val:	array[0..SQL_MAX_NUMERIC_LEN-1] of SQLCHAR;
  end;


{******************************************************************************
 *
 * Source File Name = sqlcli1.h
 *
 * Function = Include File defining:
 *              DB2 CLI Interface - Constants
 *              DB2 CLI Interface - Function Prototypes
 *
 * Operating System = Common C Include File
 *
 *****************************************************************************}

const

// SQLGetFunction defines  - supported functions
  SQL_API_SQLBINDFILETOCOL     	= 1250;
  SQL_API_SQLBINDFILETOPARAM   	= 1251;
  SQL_API_SQLSETCOLATTRIBUTES  	= 1252;
  SQL_API_SQLGETSQLCA          	= 1253;

  SQL_API_SQLGETLENGTH         	= 1022;
  SQL_API_SQLGETPOSITION       	= 1023;
  SQL_API_SQLGETSUBSTRING      	= 1024;

  SQL_API_SQLSETCONNECTION     	= 1254;

// SQL_FETCH_DIRECTION masks
  SQL_FD_FETCH_RESUME         	= $00000040;

// SQL_TXN_ISOLATION_OPTION masks
  SQL_TXN_NOCOMMIT             	= $00000020;
  SQL_TRANSACTION_NOCOMMIT     	= SQL_TXN_NOCOMMIT;

// Options for SQLGetStmtOption/SQLSetStmtOption extensions
  SQL_CURSOR_HOLD             	= 1250;
  SQL_ATTR_CURSOR_HOLD        	= 1250;
  SQL_NODESCRIBE_OUTPUT       	= 1251;
  SQL_ATTR_NODESCRIBE_OUTPUT  	= 1251;

  SQL_NODESCRIBE_INPUT        	= 1264;
  SQL_ATTR_NODESCRIBE_INPUT   	= 1264;
  SQL_NODESCRIBE              	= SQL_NODESCRIBE_OUTPUT;
  SQL_ATTR_NODESCRIBE         	= SQL_NODESCRIBE_OUTPUT;
  SQL_CLOSE_BEHAVIOR          	= 1257;
  SQL_ATTR_CLOSE_BEHAVIOR     	= 1257;
  SQL_ATTR_CLOSEOPEN          	= 1265;
  SQL_ATTR_CURRENT_PACKAGE_SET	= 1276;
  SQL_ATTR_DEFERRED_PREPARE   	= 1277;
  SQL_ATTR_EARLYCLOSE         	= 1268;
  SQL_ATTR_PROCESSCTL         	= 1278;

// SQL_CLOSE_BEHAVIOR values.
  SQL_CC_NO_RELEASE            	= 0;
  SQL_CC_RELEASE               	= 1;
  SQL_CC_DEFAULT               	= SQL_CC_NO_RELEASE;

// SQL_ATTR_DEFERRED_PREPARE values
  SQL_DEFERRED_PREPARE_ON      	= 1;
  SQL_DEFERRED_PREPARE_OFF     	= 0;
  SQL_DEFERRED_PREPARE_DEFAULT 	= SQL_DEFERRED_PREPARE_ON;

// SQL_ATTR_EARLYCLOSE values
  SQL_EARLYCLOSE_ON            	= 1;
  SQL_EARLYCLOSE_OFF           	= 0;
  SQL_EARLYCLOSE_DEFAULT       	= SQL_EARLYCLOSE_ON;

// SQL_ATTR_PROCESSCTL masks
  SQL_PROCESSCTL_NOTHREAD      	= $00000001;
  SQL_PROCESSCTL_NOFORK        	= $00000002;

// Options for SQL_CURSOR_HOLD
  SQL_CURSOR_HOLD_ON       	= 1;
  SQL_CURSOR_HOLD_OFF      	= 0;
  SQL_CURSOR_HOLD_DEFAULT  	= SQL_CURSOR_HOLD_ON;


// Options for SQL_NODESCRIBE_INPUT/SQL_NODESCRIBE_OUTPUT
  SQL_NODESCRIBE_ON         	= 1;
  SQL_NODESCRIBE_OFF        	= 0;
  SQL_NODESCRIBE_DEFAULT    	= SQL_NODESCRIBE_OFF;


// Options for SQLGetConnectOption/SQLSetConnectOption extensions
  SQL_WCHARTYPE               	= 1252;
  SQL_LONGDATA_COMPAT         	= 1253;
  SQL_CURRENT_SCHEMA          	= 1254;
  SQL_DB2EXPLAIN              	= 1258;
  SQL_DB2ESTIMATE             	= 1259;
  SQL_PARAMOPT_ATOMIC         	= 1260;
  SQL_STMTTXN_ISOLATION       	= 1261;
  SQL_MAXCONN                 	= 1262;

  SQL_ATTR_WCHARTYPE         	= SQL_WCHARTYPE;
  SQL_ATTR_LONGDATA_COMPAT   	= SQL_LONGDATA_COMPAT;
  SQL_ATTR_CURRENT_SCHEMA    	= SQL_CURRENT_SCHEMA;
  SQL_ATTR_DB2EXPLAIN        	= SQL_DB2EXPLAIN;
  SQL_ATTR_DB2ESTIMATE       	= SQL_DB2ESTIMATE;
  SQL_ATTR_PARAMOPT_ATOMIC   	= SQL_PARAMOPT_ATOMIC;
  SQL_ATTR_STMTTXN_ISOLATION 	= SQL_STMTTXN_ISOLATION;
  SQL_ATTR_MAXCONN           	= SQL_MAXCONN;

// Options for SQLSetConnectOption, SQLSetEnvAttr
  SQL_CONNECTTYPE             	= 1255;
  SQL_SYNC_POINT              	= 1256;
  SQL_MINMEMORY_USAGE         	= 1263;
  SQL_CONN_CONTEXT            	= 1269;
  SQL_ATTR_INHERIT_NULL_CONNECT	= 1270;
  SQL_ATTR_FORCE_CONVERSION_ON_CLIENT	= 1275;

  SQL_ATTR_CONNECTTYPE        	= SQL_CONNECTTYPE;
  SQL_ATTR_SYNC_POINT         	= SQL_SYNC_POINT;
  SQL_ATTR_MINMEMORY_USAGE    	= SQL_MINMEMORY_USAGE;
  SQL_ATTR_CONN_CONTEXT       	= SQL_CONN_CONTEXT;

// Options for SQL_LONGDATA_COMPAT
  SQL_LD_COMPAT_YES           	= 1;
  SQL_LD_COMPAT_NO            	= 0;
  SQL_LD_COMPAT_DEFAULT       	= SQL_LD_COMPAT_NO;

// Options for SQL_PARAMOPT_ATOMIC
  SQL_ATOMIC_YES              	= 1;
  SQL_ATOMIC_NO               	= 0;
  SQL_ATOMIC_DEFAULT          	= SQL_ATOMIC_YES;

// Options for SQL_CONNECT_TYPE
  SQL_CONCURRENT_TRANS        	= 1;
  SQL_COORDINATED_TRANS       	= 2;
  SQL_CONNECTTYPE_DEFAULT     	= SQL_CONCURRENT_TRANS;

// Options for SQL_SYNCPOINT
  SQL_ONEPHASE                	= 1;
  SQL_TWOPHASE                	= 2;
  SQL_SYNCPOINT_DEFAULT       	= SQL_ONEPHASE;

// Options for SQL_DB2ESTIMATE
  SQL_DB2ESTIMATE_ON          	= 1;
  SQL_DB2ESTIMATE_OFF         	= 0;
  SQL_DB2ESTIMATE_DEFAULT     	= SQL_DB2ESTIMATE_OFF;

// Options for SQL_DB2EXPLAIN
  SQL_DB2EXPLAIN_OFF            = $00000000;
  SQL_DB2EXPLAIN_SNAPSHOT_ON   	= $00000001;

⌨️ 快捷键说明

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