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

📄 sdoledb.hpp

📁 SQLDirect Component Library is a light-weight Borland Database Engine replacement for Borland Delphi
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'SDOleDb.pas' rev: 6.00

#ifndef SDOleDbHPP
#define SDOleDbHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <SDCommon.hpp>	// Pascal unit
#include <SDConsts.hpp>	// Pascal unit
#include <OleDB.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <FMTBcd.hpp>	// Pascal unit
#include <ComObj.hpp>	// Pascal unit
#include <ActiveX.hpp>	// Pascal unit
#include <SyncObjs.hpp>	// Pascal unit
#include <Registry.hpp>	// Pascal unit
#include <DB.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Sdoledb
{
//-- type declarations -------------------------------------------------------
__interface IErrorRecords;
typedef System::DelphiInterface<IErrorRecords> _di_IErrorRecords;
__interface INTERFACE_UUID("{0C733A67-2A1C-11CE-ADE5-00AA0044773D}") IErrorRecords  : public IInterface 
{
	
public:
	virtual HRESULT __stdcall AddErrorRecord(Oledb::PErrorInfo pErrorInfo, unsigned dwLookupID, Activex::PDispParams pdispparams, const System::_di_IInterface punkCustomError, unsigned dwDynamicErrorID) = 0 ;
	virtual HRESULT __stdcall GetBasicErrorInfo(unsigned ulRecordNum, Oledb::PErrorInfo pErrorInfo) = 0 ;
	virtual HRESULT __stdcall GetCustomErrorObject(unsigned ulRecordNum, const GUID &riid, /* out */ System::_di_IInterface &ppObject) = 0 ;
	virtual HRESULT __stdcall GetErrorInfo(unsigned ulRecordNum, unsigned lcid, /* out */ _di_IErrorInfo &ppErrorInfo) = 0 ;
	virtual HRESULT __stdcall GetErrorParameters(unsigned ulRecordNum, Activex::PDispParams pdispparams) = 0 ;
	virtual HRESULT __stdcall GetRecordCount(/* out */ unsigned &pcRecords) = 0 ;
};

__interface IErrorRecordsSC;
typedef System::DelphiInterface<IErrorRecordsSC> _di_IErrorRecordsSC;
__interface INTERFACE_UUID("{0C733A67-2A1C-11CE-ADE5-00AA0044773D}") IErrorRecordsSC  : public IInterface 
{
	
public:
	virtual HRESULT __safecall AddErrorRecord(Oledb::PErrorInfo pErrorInfo, unsigned dwLookupID, Activex::PDispParams pdispparams, const System::_di_IInterface punkCustomError, unsigned dwDynamicErrorID, HRESULT &AddErrorRecord_result) = 0 ;
	virtual HRESULT __safecall GetBasicErrorInfo(unsigned ulRecordNum, Oledb::PErrorInfo pErrorInfo, HRESULT &GetBasicErrorInfo_result) = 0 ;
	virtual HRESULT __safecall GetCustomErrorObject(unsigned ulRecordNum, const GUID &riid, /* out */ System::_di_IInterface &ppObject, HRESULT &GetCustomErrorObject_result) = 0 ;
	virtual HRESULT __safecall GetErrorInfo(unsigned ulRecordNum, unsigned lcid, /* out */ _di_IErrorInfo &ppErrorInfo, HRESULT &GetErrorInfo_result) = 0 ;
	virtual HRESULT __safecall GetErrorParameters(unsigned ulRecordNum, Activex::PDispParams pdispparams, HRESULT &GetErrorParameters_result) = 0 ;
	virtual HRESULT __safecall GetRecordCount(/* out */ unsigned &pcRecords, HRESULT &GetRecordCount_result) = 0 ;
};

__interface IDBSchemaRowset;
typedef System::DelphiInterface<IDBSchemaRowset> _di_IDBSchemaRowset;
__interface INTERFACE_UUID("{0C733A7B-2A1C-11CE-ADE5-00AA0044773D}") IDBSchemaRowset  : public IInterface 
{
	
public:
	virtual HRESULT __stdcall GetRowset(const System::_di_IInterface pUnkOuter, const GUID &rguidSchema, unsigned cRestrictions, Activex::PVariantArg rgRestrictions, const GUID &riid, unsigned cPropertySets, Oledb::PDBPropSetArray rgPropertySets, /* out */ System::_di_IInterface &pRowset) = 0 ;
	virtual HRESULT __stdcall GetSchemas(unsigned &cSchemas, /* out */ System::PGUID &prgSchemas, /* out */ PULONG &prgRestrictionSupport) = 0 ;
};

__interface IDBSchemaRowsetSC;
typedef System::DelphiInterface<IDBSchemaRowsetSC> _di_IDBSchemaRowsetSC;
__interface INTERFACE_UUID("{0C733A7B-2A1C-11CE-ADE5-00AA0044773D}") IDBSchemaRowsetSC  : public IInterface 
{
	
public:
	virtual HRESULT __safecall GetRowset(const System::_di_IInterface pUnkOuter, const GUID &rguidSchema, unsigned cRestrictions, Activex::PVariantArg rgRestrictions, const GUID &riid, unsigned cPropertySets, Oledb::PDBPropSetArray rgPropertySets, /* out */ System::_di_IInterface &pRowset, HRESULT &GetRowset_result) = 0 ;
	virtual HRESULT __safecall GetSchemas(unsigned &cSchemas, /* out */ System::PGUID &prgSchemas, /* out */ PULONG &prgRestrictionSupport, HRESULT &GetSchemas_result) = 0 ;
};

struct TSSErrorInfo;
typedef TSSErrorInfo *PSSErrorInfo;

#pragma pack(push, 4)
struct TSSErrorInfo
{
	wchar_t *pwszMessage;
	wchar_t *pwszServer;
	wchar_t *pwszProcedure;
	unsigned lNative;
	Byte bState;
	Byte bClass;
	Word wLineNumber;
} ;
#pragma pack(pop)

__interface ISQLServerErrorInfo;
typedef System::DelphiInterface<ISQLServerErrorInfo> _di_ISQLServerErrorInfo;
__interface INTERFACE_UUID("{5CF4CA12-EF21-11D0-97E7-00C04FC2AD98}") ISQLServerErrorInfo  : public IInterface 
{
	
public:
	virtual HRESULT __stdcall GetErrorInfo(/* out */ PSSErrorInfo &ppErrorInfo, /* out */ wchar_t * &ppStringsBuffer) = 0 ;
};

__interface ISQLServerErrorInfoSC;
typedef System::DelphiInterface<ISQLServerErrorInfoSC> _di_ISQLServerErrorInfoSC;
__interface INTERFACE_UUID("{5CF4CA12-EF21-11D0-97E7-00C04FC2AD98}") ISQLServerErrorInfoSC  : public IInterface 
{
	
public:
	virtual HRESULT __safecall GetErrorInfo(/* out */ PSSErrorInfo &ppErrorInfo, /* out */ wchar_t * &ppStringsBuffer, HRESULT &GetErrorInfo_result) = 0 ;
};

class DELPHICLASS ESDOleDbError;
class PASCALIMPLEMENTATION ESDOleDbError : public Sdcommon::ESDEngineError 
{
	typedef Sdcommon::ESDEngineError inherited;
	
public:
	#pragma option push -w-inl
	/* ESDEngineError.Create */ inline __fastcall ESDOleDbError(int AErrorCode, int ANativeError, const AnsiString Msg, int AErrorPos) : Sdcommon::ESDEngineError(AErrorCode, ANativeError, Msg, AErrorPos) { }
	#pragma option pop
	#pragma option push -w-inl
	/* ESDEngineError.CreateDefPos */ inline __fastcall virtual ESDOleDbError(int AErrorCode, int ANativeError, const AnsiString Msg) : Sdcommon::ESDEngineError(AErrorCode, ANativeError, Msg) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall ESDOleDbError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sdcommon::ESDEngineError(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall ESDOleDbError(int Ident)/* overload */ : Sdcommon::ESDEngineError(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall ESDOleDbError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : Sdcommon::ESDEngineError(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall ESDOleDbError(const AnsiString Msg, int AHelpContext) : Sdcommon::ESDEngineError(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall ESDOleDbError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sdcommon::ESDEngineError(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall ESDOleDbError(int Ident, int AHelpContext)/* overload */ : Sdcommon::ESDEngineError(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall ESDOleDbError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sdcommon::ESDEngineError(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~ESDOleDbError(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIOleDbDatabase;
class PASCALIMPLEMENTATION TIOleDbDatabase : public Sdcommon::TISqlDatabase 
{
	typedef Sdcommon::TISqlDatabase inherited;
	
private:
	Oledb::_di_IDBInitialize FIDBInitialize;
	Oledb::_di_IDBCreateSession FIDBCreateSession;
	Oledb::_di_IDBCreateCommand FIDBCreateCommand;
	Oledb::_di_ITransactionLocal FITransaction;
	bool FMultResultsSupported;
	int FOutputParamsReturned;
	bool FIsMSSQLProv;
	Sdcommon::TISqlCommand* FCurSqlCmd;
	AnsiString __fastcall OleDbGetDBPropValue(const unsigned * APropIDs, const int APropIDs_Size);
	void __fastcall SetDBInitProps(bool bInitPropSet, bool bIntegratedAuth);
	
protected:
	void __fastcall Check(HRESULT Status);
	virtual void __fastcall DoConnect(const AnsiString sRemoteDatabase, const AnsiString sUserName, const AnsiString sPassword);
	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);
	
public:
	__fastcall virtual TIOleDbDatabase(Classes::TStrings* ADbParams);
	__fastcall virtual ~TIOleDbDatabase(void);
	virtual Sdcommon::TISqlCommand* __fastcall CreateSqlCommand(void);
	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);
	__property Sdcommon::TISqlCommand* CurSqlCmd = {read=FCurSqlCmd};
	__property Oledb::_di_IDBCreateCommand DBCreateCommand = {read=FIDBCreateCommand};
	__property bool IsMSSQLProv = {read=FIsMSSQLProv, nodefault};
	__property bool MultResultsSupported = {read=FMultResultsSupported, nodefault};
	__property int OutputParamsReturned = {read=FOutputParamsReturned, nodefault};
};


class DELPHICLASS TIOleDbCommand;
class PASCALIMPLEMENTATION TIOleDbCommand : public Sdcommon::TISqlCommand 
{
	typedef Sdcommon::TISqlCommand inherited;
	
private:
	Oledb::_di_ICommandText FICommandText;
	Oledb::_di_IMultipleResults FIMultipleResults;
	Oledb::_di_IAccessor FIRowAccessor;
	Oledb::_di_IAccessor FIParamAccessor;
	unsigned FHRowAccessor;
	unsigned FHParamAccessor;
	DBBINDING *FRowBindPtr;
	DBBINDING *FParamBindPtr;
	unsigned *FHRows;
	unsigned FCurrRow;
	unsigned FFetchedRows;
	int FPrefetchRows;
	int FRowsAffected;
	bool FIsSingleConn;
	bool FIsSrvCursor;
	bool FNextResults;
	int FBlobParamsBufferOff;
	int FFirstCalcFieldIdx;
	HIDESBASE TIOleDbDatabase* __fastcall GetSqlDatabase(void);
	bool __fastcall CnvtDBData(AnsiString AFieldName, Db::TFieldType ADataType, void * InBuf, void * Buffer, int BufSize);
	Db::TDateTimeRec __fastcall CnvtDBDateTime2DateTimeRec(Db::TFieldType ADataType, void * Buffer, int BufSize);
	void __fastcall InternalExecute(bool bFieldDescribe);
	void __fastcall InternalSpGetParams(void);
	void __fastcall ReleaseRowSet(void);
	void __fastcall ReleaseHRows(void);
	void __fastcall SetICommandProps(void);
	void __fastcall SetICommandText(AnsiString Value);
	void __fastcall SetICmdParameterInfo(void);
	AnsiString __fastcall OleDbDataSourceType(Db::TFieldType FieldType);
	
protected:
	Oledb::_di_IRowset FIRowset;
	void __fastcall AcquireDBHandle(void);
	void __fastcall ReleaseDBHandle(void);
	void __fastcall Check(HRESULT Status);
	virtual void __fastcall Connect(void);
	virtual int __fastcall CnvtDateTime2DBDateTime(Db::TFieldType ADataType, System::TDateTime Value, char * Buffer, int BufSize);
	virtual void __fastcall AllocFieldsBuffer(void);
	virtual void __fastcall AllocParamsBuffer(void);
	virtual void __fastcall BindParamsBuffer(void);
	virtual void __fastcall FreeFieldsBuffer(void);
	virtual void __fastcall FreeParamsBuffer(void);
	virtual void __fastcall SetFieldsBuffer(void);
	virtual int __fastcall GetFieldsBufferSize(void);
	virtual int __fastcall GetParamsBufferSize(void);
	virtual void __fastcall DoExecute(void);
	virtual void __fastcall DoExecDirect(AnsiString ACommandValue);
	virtual void __fastcall DoPrepare(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	virtual void __fastcall InitParamList(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);

⌨️ 快捷键说明

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