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

📄 sdmss.hpp

📁 SQLDirect Component Library is a light-weight Borland Database Engine replacement for Borland Delphi
💻 HPP
📖 第 1 页 / 共 3 页
字号:
	virtual void __fastcall DoDisconnect(bool Force);
	virtual void __fastcall DoCommit(void);
	virtual void __fastcall DoRollback(void);
	virtual void __fastcall DoStartTransaction(void);
	virtual void __fastcall SetAutoCommitOption(bool Value);
	virtual void __fastcall SetHandle(void * AHandle);
	
public:
	__fastcall virtual TIMssDatabase(Classes::TStrings* ADbParams);
	__fastcall virtual ~TIMssDatabase(void);
	virtual Sdcommon::TISqlCommand* __fastcall CreateSqlCommand(void);
	virtual AnsiString __fastcall GetAutoIncSQL();
	virtual int __fastcall GetClientVersion(void);
	virtual int __fastcall GetServerVersion(void);
	virtual AnsiString __fastcall GetVersionString();
	virtual Sdcommon::TISqlCommand* __fastcall GetSchemaInfo(Sdcommon::TSDSchemaType ASchemaType, AnsiString AObjectName);
	virtual void __fastcall SetTransIsolation(Sdcommon::TISqlTransIsolation Value);
	virtual bool __fastcall SPDescriptionsAvailable(void);
	virtual bool __fastcall TestConnected(void);
	void __fastcall ReleaseDBHandle(Sdcommon::TISqlCommand* ASqlCmd, bool IsFetchAll, bool IsReset);
	__property Sdcommon::TISqlCommand* CurSqlCmd = {read=FCurSqlCmd};
	__property void * DBProcPtr = {read=GetDBProcPtr};
	__property void * LoginRecPtr = {read=GetLoginRecPtr};
	__property AnsiString ServerName = {read=GetServerName};
	__property bool ByteAsGuid = {read=FByteAsGuid, nodefault};
};


class DELPHICLASS TIMssCommand;
class PASCALIMPLEMENTATION TIMssCommand : public Sdcommon::TISqlCommand 
{
	typedef Sdcommon::TISqlCommand inherited;
	
private:
	AnsiString FBindStmt;
	int FRowsAffected;
	void *FHandle;
	bool FIsSingleConn;
	bool FConnected;
	bool FNextResults;
	bool FEndResults;
	void __fastcall Connect(void);
	bool __fastcall CanReturnRows(void);
	AnsiString __fastcall CnvtDateTimeToSQLVarChar(Db::TFieldType ADataType, System::TDateTime Value);
	DBDATETIME __fastcall CnvtDateTimeToSQLDateTime(System::TDateTime Value);
	Db::TDateTimeRec __fastcall CnvtDBDateTime2DateTimeRec(Db::TFieldType ADataType, char * Buffer, int BufSize);
	AnsiString __fastcall CnvtFloatToSQLVarChar(double Value);
	void * __fastcall CreateDBProcess(void);
	void __fastcall HandleCancel(void * AHandle);
	void __fastcall HandleCurReset(void * AHandle);
	void __fastcall HandleReset(void * AHandle);
	void __fastcall HandleSpInit(void * AHandle, AnsiString ARpcName);
	void __fastcall HandleSpExec(void * AHandle);
	bool __fastcall HandleSpResults(void * AHandle);
	bool __fastcall GetExecuted(void);
	HIDESBASE TIMssDatabase* __fastcall GetSqlDatabase(void);
	bool __fastcall GetDBHandleAcquired(void);
	void __fastcall InternalExecute(void);
	void __fastcall InternalQBindParams(void);
	void __fastcall InternalQExecute(void);
	void __fastcall InternalSpBindParams(void);
	void __fastcall InternalSpExecute(void);
	void __fastcall InternalSpGetParams(void);
	void __fastcall FetchDataSize(void);
	
protected:
	void __fastcall Check(void);
	void __fastcall AcquireDBHandle(void);
	void __fastcall ReleaseDBHandle(void);
	void __fastcall ReleaseDBHandleWOReset(void);
	virtual void __fastcall AllocParamsBuffer(void);
	virtual void __fastcall BindParamsBuffer(void);
	virtual void __fastcall FreeParamsBuffer(void);
	virtual int __fastcall GetParamsBufferSize(void);
	virtual void __fastcall DoExecute(void);
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall DoPrepare(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	virtual void * __fastcall GetHandle(void);
	virtual void __fastcall InitParamList(void);
	virtual void __fastcall SetFieldsBuffer(void);
	virtual Db::TFieldType __fastcall FieldDataType(int ExtDataType);
	virtual Word __fastcall NativeDataSize(Db::TFieldType FieldType);
	virtual int __fastcall NativeDataType(Db::TFieldType FieldType);
	virtual bool __fastcall RequiredCnvtFieldType(Db::TFieldType FieldType);
	
public:
	__fastcall virtual TIMssCommand(Sdcommon::TISqlDatabase* ASqlDatabase);
	__fastcall virtual ~TIMssCommand(void);
	virtual void __fastcall CloseResultSet(void);
	virtual void __fastcall Disconnect(bool Force);
	virtual void __fastcall Execute(void);
	virtual int __fastcall GetRowsAffected(void);
	virtual bool __fastcall NextResultSet(void);
	virtual bool __fastcall ResultSetExists(void);
	virtual bool __fastcall FetchNextRow(void);
	virtual bool __fastcall GetCnvtFieldData(Sdcommon::TSDFieldDesc* AFieldDesc, void * Buffer, int BufSize);
	virtual void __fastcall GetOutputParams(void);
	virtual int __fastcall ReadBlob(Sdcommon::TSDFieldDesc* AFieldDesc, Sdcommon::TBytes &BlobData);
	void __fastcall ResetExecuted(void);
	__property bool Executed = {read=GetExecuted, nodefault};
	__property bool DBHandleAcquired = {read=GetDBHandleAcquired, nodefault};
	__property TIMssDatabase* SqlDatabase = {read=GetSqlDatabase};
};


//-- var, const, procedure ---------------------------------------------------
static const Word DBMAXCHAR = 0x100;
static const Shortint MAXNUMERICLEN = 0x10;
static const Shortint MAXNUMERICDIG = 0x26;
static const Shortint DEFAULTPRECISION = 0x12;
static const Shortint DEFAULTSCALE = 0x0;
static const Shortint MAXCOLNAMELEN = 0x1e;
static const Shortint MAXTABLENAME = 0x1e;
static const Shortint MAXSERVERNAME = 0x1e;
static const Byte MAXNETLIBNAME = 0xff;
static const Byte MAXNETLIBCONNSTR = 0xff;
static const unsigned INVALID_UROWNUM = 0xffffffff;
static const unsigned TIMEOUT_IGNORE = 0xffffffff;
static const unsigned TIMEOUT_INFINITE = 0x0;
static const unsigned TIMEOUT_MAXIMUM = 0x4b0;
static const Shortint SERVTYPE_UNKNOWN = 0x0;
static const Shortint SERVTYPE_MICROSOFT = 0x1;
static const Shortint CI_REGULAR = 0x1;
static const Shortint CI_ALTERNATE = 0x2;
static const Shortint CI_CURSOR = 0x3;
static const Shortint DB_IN = 0x1;
static const Shortint DB_OUT = 0x2;
static const Shortint BCPMAXERRS = 0x1;
static const Shortint BCPFIRST = 0x2;
static const Shortint BCPLAST = 0x3;
static const Shortint BCPBATCH = 0x4;
static const Shortint BCPKEEPNULLS = 0x5;
static const Shortint BCPABORT = 0x6;
static const Shortint DB_TRUE = 0x1;
static const Shortint DB_FALSE = 0x0;
static const Shortint TINYBIND = 0x1;
static const Shortint SMALLBIND = 0x2;
static const Shortint INTBIND = 0x3;
static const Shortint CHARBIND = 0x4;
static const Shortint BINARYBIND = 0x5;
static const Shortint BITBIND = 0x6;
static const Shortint DATETIMEBIND = 0x7;
static const Shortint MONEYBIND = 0x8;
static const Shortint FLT8BIND = 0x9;
static const Shortint STRINGBIND = 0xa;
static const Shortint NTBSTRINGBIND = 0xb;
static const Shortint VARYCHARBIND = 0xc;
static const Shortint VARYBINBIND = 0xd;
static const Shortint FLT4BIND = 0xe;
static const Shortint SMALLMONEYBIND = 0xf;
static const Shortint SMALLDATETIBIND = 0x10;
static const Shortint DECIMALBIND = 0x11;
static const Shortint NUMERICBIND = 0x12;
static const Shortint SRCDECIMALBIND = 0x13;
static const Shortint SRCNUMERICBIND = 0x14;
static const Shortint MAXBIND = 0x14;
static const Shortint DBSAVE = 0x1;
static const Shortint DBNOSAVE = 0x0;
static const Shortint DBNOERR = 0xffffffff;
static const Shortint DBFINDONE = 0x4;
static const Shortint DBMORE = 0x10;
static const Shortint DBMORE_ROWS = 0x20;
static const Shortint MAXNAME = 0x1f;
static const Shortint DBTXTSLEN = 0x8;
static const Shortint DBTXPLEN = 0x10;
static const Shortint INT_EXIT = 0x0;
static const Shortint INT_CONTINUE = 0x1;
static const Shortint INT_CANCEL = 0x2;
static const Shortint DBBUFFER = 0x0;
static const Shortint DBOFFSET = 0x1;
static const Shortint DBROWCOUNT = 0x2;
static const Shortint DBSTAT = 0x3;
static const Shortint DBTEXTLIMIT = 0x4;
static const Shortint DBTEXTSIZE = 0x5;
static const Shortint DBARITHABORT = 0x6;
static const Shortint DBARITHIGNORE = 0x7;
static const Shortint DBNOAUTOFREE = 0x8;
static const Shortint DBNOCOUNT = 0x9;
static const Shortint DBNOEXEC = 0xa;
static const Shortint DBPARSEONLY = 0xb;
static const Shortint DBSHOWPLAN = 0xc;
static const Shortint DBSTORPROCID = 0xd;
static const Shortint DBANSItoOEM = 0xe;
static const Shortint DBOEMtoANSI = 0xf;
static const Shortint DBCLIENTCURSORS = 0x10;
static const Shortint DBSETTIME_OPT = 0x11;
static const Shortint DBQUOTEDIDENT = 0x12;
static const Shortint SQLVOID = 0x1f;
static const Shortint SQLTEXT = 0x23;
static const Shortint SQLVARBINARY = 0x25;
static const Shortint SQLINTN = 0x26;
static const Shortint SQLVARCHAR = 0x27;
static const Shortint SQLBINARY = 0x2d;
static const Shortint SQLIMAGE = 0x22;
static const Shortint SQLCHAR = 0x2f;
static const Shortint SQLINT1 = 0x30;
static const Shortint SQLBIT = 0x32;
static const Shortint SQLINT2 = 0x34;
static const Shortint SQLINT4 = 0x38;
static const Shortint SQLMONEY = 0x3c;
static const Shortint SQLDATETIME = 0x3d;
static const Shortint SQLFLT8 = 0x3e;
static const Shortint SQLFLTN = 0x6d;
static const Shortint SQLMONEYN = 0x6e;
static const Shortint SQLDATETIMN = 0x6f;
static const Shortint SQLFLT4 = 0x3b;
static const Shortint SQLMONEY4 = 0x7a;
static const Shortint SQLDATETIM4 = 0x3a;
static const Shortint SQLDECIMAL = 0x6a;
static const Shortint SQLNUMERIC = 0x6c;
static const Byte SQLCOLFMT = 0xa1;
static const Shortint OLD_SQLCOLFMT = 0x2a;
static const Shortint SQLPROCID = 0x7c;
static const Byte SQLCOLNAME = 0xa0;
static const Byte SQLTABNAME = 0xa4;
static const Byte SQLCOLINFO = 0xa5;
static const Byte SQLALTNAME = 0xa7;
static const Byte SQLALTFMT = 0xa8;
static const Byte SQLERROR = 0xaa;
static const Byte SQLINFO = 0xab;
static const Byte SQLRETURNVALUE = 0xac;
static const Shortint SQLRETURNSTATUS = 0x79;
static const Byte SQLRETURN = 0xdb;
static const Byte SQLCONTROL = 0xae;
static const Byte SQLALTCONTROL = 0xaf;
static const Byte SQLROW = 0xd1;
static const Byte SQLALTROW = 0xd3;
static const Byte SQLDONE = 0xfd;
static const Byte SQLDONEPROC = 0xfe;
static const Byte SQLDONEINPROC = 0xff;
static const Shortint SQLOFFSET = 0x78;
static const Byte SQLORDER = 0xa9;
static const Byte SQLLOGINACK = 0xad;
static const Shortint SQLAOPCNT = 0x4b;
static const Shortint SQLAOPSUM = 0x4d;
static const Shortint SQLAOPAVG = 0x4f;
static const Shortint SQLAOPMIN = 0x51;
static const Shortint SQLAOPMAX = 0x52;
static const Shortint SQLAOPANY = 0x53;
static const Shortint SQLAOPNOOP = 0x56;
static const Word SQLEMEM = 0x2710;
static const Word SQLENULL = 0x2711;
static const Word SQLENLOG = 0x2712;
static const Word SQLEPWD = 0x2713;
static const Word SQLECONN = 0x2714;
static const Word SQLEDDNE = 0x2715;
static const Word SQLENULLO = 0x2716;
static const Word SQLESMSG = 0x2717;
static const Word SQLEBTOK = 0x2718;
static const Word SQLENSPE = 0x2719;
static const Word SQLEREAD = 0x271a;
static const Word SQLECNOR = 0x271b;
static const Word SQLETSIT = 0x271c;
static const Word SQLEPARM = 0x271d;
static const Word SQLEAUTN = 0x271e;
static const Word SQLECOFL = 0x271f;
static const Word SQLERDCN = 0x2720;
static const Word SQLEICN = 0x2721;
static const Word SQLECLOS = 0x2722;
static const Word SQLENTXT = 0x2723;
static const Word SQLEDNTI = 0x2724;
static const Word SQLETMTD = 0x2725;
static const Word SQLEASEC = 0x2726;
static const Word SQLENTLL = 0x2727;
static const Word SQLETIME = 0x2728;
static const Word SQLEWRIT = 0x2729;
static const Word SQLEMODE = 0x272a;
static const Word SQLEOOB = 0x272b;
static const Word SQLEITIM = 0x272c;
static const Word SQLEDBPS = 0x272d;
static const Word SQLEIOPT = 0x272e;
static const Word SQLEASNL = 0x272f;
static const Word SQLEASUL = 0x2730;
static const Word SQLENPRM = 0x2731;
static const Word SQLEDBOP = 0x2732;
static const Word SQLENSIP = 0x2733;
static const Word SQLECNULL = 0x2734;
static const Word SQLESEOF = 0x2735;
static const Word SQLERPND = 0x2736;
static const Word SQLECSYN = 0x2737;
static const Word SQLENONET = 0x2738;
static const Word SQLEBTYP = 0x2739;
static const Word SQLEABNC = 0x273a;
static const Word SQLEABMT = 0x273b;
static const Word SQLEABNP = 0x273c;
static const Word SQLEBNCR = 0x273d;
static const Word SQLEAAMT = 0x273e;
static const Word SQLENXID = 0x273f;
static const Word SQLEIFNB = 0x2740;
static const Word SQLEKBCO = 0x2741;
static const Word SQLEBBCI = 0x2742;
static const Word SQLEKBCI = 0x2743;
static const Word SQLEBCWE = 0x2744;
static const Word SQLEBCNN = 0x2745;
static const Word SQLEBCOR = 0x2746;
static const Word SQLEBCPI = 0x2747;
static const Word SQLEBCPN = 0x2748;
static const Word SQLEBCPB = 0x2749;
static const Word SQLEVDPT = 0x274a;
static const Word SQLEBIVI = 0x274b;
static const Word SQLEBCBC = 0x274c;
static const Word SQLEBCFO = 0x274d;
static const Word SQLEBCVH = 0x274e;
static const Word SQLEBCUO = 0x274f;
static const Word SQLEBUOE = 0x2750;
static const Word SQLEBWEF = 0x2751;
static const Word SQLEBTMT = 0x2752;
static const Word SQLEBEOF = 0x2753;
static const Word SQLEBCSI = 0x2754;
static const Word SQLEPNUL = 0x2755;
static const Word SQLEBSKERR = 0x2756;
static const Word SQLEBDIO = 0x2757;
static const Word SQLEBCNT = 0x2758;
static const Word SQLEMDBP = 0x2759;
static const Word SQLINIT = 0x275a;
static const Word SQLCRSINV = 0x275b;
static const Word SQLCRSCMD = 0x275c;
static const Word SQLCRSNOIND = 0x275d;
static const Word SQLCRSDIS = 0x275e;
static const Word SQLCRSAGR = 0x275f;
static const Word SQLCRSORD = 0x2760;
static const Word SQLCRSMEM = 0x2761;
static const Word SQLCRSBSKEY = 0x2762;
static const Word SQLCRSNORES = 0x2763;

⌨️ 快捷键说明

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