📄 sdmss.hpp
字号:
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 + -