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

📄 sdodbc.hpp

📁 SQLDirect Component Library is a light-weight Borland Database Engine replacement for Borland Delphi
💻 HPP
📖 第 1 页 / 共 5 页
字号:
	Sdcommon::TISqlCommand* FCurSqlCmd;
	TOdbcFunctions* __fastcall GetCalls(void);
	int __fastcall GetDriverOdbcVersion(void);
	Word __fastcall GetDriverOdbcMajor(void);
	Word __fastcall GetDriverOdbcMinor(void);
	bool __fastcall GetIsNeedLongDataLen(void);
	void * __fastcall GetEnvHandle(void);
	void * __fastcall GetDbcHandle(void);
	bool __fastcall GetAutoCommitOption(void);
	
protected:
	TOdbcFunctions* FCalls;
	void __fastcall AllocHandle(void);
	void __fastcall AllocOdbcHandles(void);
	void __fastcall FreeHandle(void);
	void __fastcall FreeOdbcHandles(void);
	void __fastcall SetDefaultOptions(void);
	short __fastcall OdbcAllocHandle(short fHandleType, void * hInput, void * &hOutput);
	short __fastcall OdbcFreeHandle(short fHandleType, void * hHandle);
	unsigned __fastcall OdbcGetConnectAttrInt32(void * hDbc, int fOption);
	short __fastcall OdbcSetConnectAttr(void * hDbc, int fOption, void * pvParam, int fStrLen);
	short __fastcall OdbcSetStmtAttr(void * hStmt, int fOption, void * pvParam, int fStrLen);
	short __fastcall OdbcTransact(short fEndType);
	Word __fastcall OdbcGetInfoInt16(int InfoType);
	unsigned __fastcall OdbcGetInfoInt32(int InfoType);
	AnsiString __fastcall OdbcGetInfoString(int InfoType);
	Word __fastcall OdbcGetMaxCatalogNameLen(void);
	Word __fastcall OdbcGetMaxFieldNameLen(void);
	Word __fastcall OdbcGetMaxProcNameLen(void);
	Word __fastcall OdbcGetMaxSchemaNameLen(void);
	Word __fastcall OdbcGetMaxTableNameLen(void);
	void __fastcall CheckHandle(short AHandleType, void * AHandle, short AStatus);
	void __fastcall CheckHDBC(void * AHandle, short Status);
	void __fastcall CheckHSTMT(void * AHandle, short Status);
	void __fastcall Check(short Status);
	virtual void __fastcall FreeSqlLib(void) = 0 ;
	virtual void __fastcall LoadSqlLib(void) = 0 ;
	virtual void __fastcall RaiseSDEngineError(short AErrorCode, short ANativeError, const AnsiString AMsg, const AnsiString ASqlState) = 0 ;
	virtual void * __fastcall GetHandle(void);
	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);
	virtual void __fastcall SetHandle(void * AHandle);
	
public:
	__fastcall virtual TICustomOdbcDatabase(Classes::TStrings* ADbParams);
	__fastcall virtual ~TICustomOdbcDatabase(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);
	__property Sdcommon::TISqlCommand* CurSqlCmd = {read=FCurSqlCmd};
	__property TOdbcFunctions* Calls = {read=GetCalls};
	__property void * EnvHandle = {read=GetEnvHandle};
	__property void * DbcHandle = {read=GetDbcHandle};
	__property Word DriverOdbcMajor = {read=GetDriverOdbcMajor, nodefault};
	__property Word DriverOdbcMinor = {read=GetDriverOdbcMinor, nodefault};
	__property bool IsNeedLongDataLen = {read=GetIsNeedLongDataLen, nodefault};
};


class DELPHICLASS TICustomOdbcCommand;
class PASCALIMPLEMENTATION TICustomOdbcCommand : public Sdcommon::TISqlCommand 
{
	typedef Sdcommon::TISqlCommand inherited;
	
private:
	void *FHandle;
	bool FNextResults;
	bool FIsSingleConn;
	bool FInfoExecuted;
	bool FNoMoreResult;
	bool FIsSrvCursor;
	bool FExecDirect;
	bool FNoDataExecuted;
	int FFirstCalcFieldIdx;
	bool FPrefetchMode;
	int FPrefetchRows;
	void *FRowsFetchedPtr;
	void *FRowStatusValues;
	int FCurrRow;
	int FRowSize;
	int FBlobPieceSize;
	int FMaxBlobSize;
	TOdbcFunctions* __fastcall GetCalls(void);
	HIDESBASE TICustomOdbcDatabase* __fastcall GetSqlDatabase(void);
	bool __fastcall GetIsCallStmt(void);
	bool __fastcall GetIsExecDirect(void);
	short __fastcall GetNumResultCols(void);
	Db::TDateTimeRec __fastcall CnvtDBDateTime2DateTimeRec(Db::TFieldType ADataType, char * Buffer, int BufSize);
	bool __fastcall CnvtDBData(int ExtDataType, Db::TFieldType ADataType, void * InBuf, void * Buffer, int BufSize);
	AnsiString __fastcall CreateCommandText(AnsiString Value);
	void __fastcall InternalPrepare(AnsiString AStmt);
	void __fastcall InternalQExecute(bool InfoQuery);
	void __fastcall InternalSpExecute(bool InfoQuery);
	void __fastcall InternalSpGetParams(void);
	void __fastcall QBindParamsBuffer(void);
	void __fastcall SpBindParamsBuffer(void);
	void __fastcall SpExecute(void);
	bool __fastcall IsInterval(Sdcommon::TSDFieldDesc* FieldDesc);
	bool __fastcall IsIntervalType(int ExtDataType);
	bool __fastcall IsPseudoBlob(Sdcommon::TSDFieldDesc* FieldDesc);
	unsigned __fastcall OdbcGetColAttrInt32(void * hStmt, Word iCol, Word AttrType);
	
protected:
	void __fastcall AcquireDBHandle(void);
	void __fastcall ReleaseDBHandle(void);
	void __fastcall Check(short Status);
	void __fastcall CheckPrepared(void);
	virtual void __fastcall Connect(void);
	virtual int __fastcall CnvtDateTime2DBDateTime(Db::TFieldType ADataType, System::TDateTime Value, char * Buffer, int BufSize);
	virtual void __fastcall DoExecute(void);
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall DoPrepare(AnsiString Value);
	virtual void __fastcall AllocParamsBuffer(void);
	virtual void __fastcall BindParamsBuffer(void);
	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 int __fastcall SqlDataType(Db::TFieldType FieldType);
	virtual bool __fastcall RequiredCnvtFieldType(Db::TFieldType FieldType);
	virtual void * __fastcall GetHandle(void);
	virtual char * __fastcall GetFieldsBuffer(void);
	virtual int __fastcall GetFieldsBufferSize(void);
	virtual void __fastcall FreeFieldsBuffer(void);
	virtual void __fastcall SetFieldsBuffer(void);
	
public:
	__fastcall virtual TICustomOdbcCommand(Sdcommon::TISqlDatabase* ASqlDatabase);
	__fastcall virtual ~TICustomOdbcCommand(void);
	virtual void __fastcall CloseResultSet(void);
	virtual void __fastcall Disconnect(bool Force);
	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);
	virtual int __fastcall WriteBlob(int FieldNo, const char * Buffer, int Count);
	__property TOdbcFunctions* Calls = {read=GetCalls};
	__property bool IsCallStmt = {read=GetIsCallStmt, nodefault};
	__property bool IsExecDirect = {read=GetIsExecDirect, nodefault};
	__property bool IsSrvCursor = {read=FIsSrvCursor, nodefault};
	__property TICustomOdbcDatabase* SqlDatabase = {read=GetSqlDatabase};
};


class DELPHICLASS TICustomOdbcCall;
class PASCALIMPLEMENTATION TICustomOdbcCall : public TICustomOdbcCommand 
{
	typedef TICustomOdbcCommand inherited;
	
protected:
	virtual void __fastcall DoExecute(void);
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall DoPrepare(AnsiString Value);
public:
	#pragma option push -w-inl
	/* TICustomOdbcCommand.Create */ inline __fastcall virtual TICustomOdbcCall(Sdcommon::TISqlDatabase* ASqlDatabase) : TICustomOdbcCommand(ASqlDatabase) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TICustomOdbcCommand.Destroy */ inline __fastcall virtual ~TICustomOdbcCall(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIOdbcCallProcs;
class PASCALIMPLEMENTATION TIOdbcCallProcs : public TICustomOdbcCall 
{
	typedef TICustomOdbcCall inherited;
	
private:
	AnsiString FProcNames;
	
protected:
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	
public:
	__fastcall virtual TIOdbcCallProcs(Sdcommon::TISqlDatabase* ASqlDatabase);
	__property AnsiString ProcNames = {read=FProcNames, write=FProcNames};
public:
	#pragma option push -w-inl
	/* TICustomOdbcCommand.Destroy */ inline __fastcall virtual ~TIOdbcCallProcs(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIOdbcCallProcParams;
class PASCALIMPLEMENTATION TIOdbcCallProcParams : public TICustomOdbcCall 
{
	typedef TICustomOdbcCall inherited;
	
private:
	AnsiString FProcName;
	
protected:
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	
public:
	__fastcall virtual TIOdbcCallProcParams(Sdcommon::TISqlDatabase* ASqlDatabase);
	__property AnsiString ProcName = {read=FProcName, write=FProcName};
public:
	#pragma option push -w-inl
	/* TICustomOdbcCommand.Destroy */ inline __fastcall virtual ~TIOdbcCallProcParams(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIOdbcCallTables;
class PASCALIMPLEMENTATION TIOdbcCallTables : public TICustomOdbcCall 
{
	typedef TICustomOdbcCall inherited;
	
private:
	AnsiString FTableNames;
	AnsiString FTableTypes;
	
protected:
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	
public:
	__fastcall virtual TIOdbcCallTables(Sdcommon::TISqlDatabase* ASqlDatabase);
	virtual bool __fastcall FetchNextRow(void);
	__property AnsiString TableNames = {read=FTableNames, write=FTableNames};
	__property AnsiString TableTypes = {read=FTableTypes, write=FTableTypes};
public:
	#pragma option push -w-inl
	/* TICustomOdbcCommand.Destroy */ inline __fastcall virtual ~TIOdbcCallTables(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIOdbcCallColumns;
class PASCALIMPLEMENTATION TIOdbcCallColumns : public TICustomOdbcCall 
{
	typedef TICustomOdbcCall inherited;
	
private:
	AnsiString FTableName;
	int FColTypeFieldIdx;
	int FColPrecFieldIdx;
	int FColPosV2FieldIdx;
	int FColDefV2FieldIdx;
	bool __fastcall GetIsODBC_3(void);
	
protected:
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	
public:
	__fastcall virtual TIOdbcCallColumns(Sdcommon::TISqlDatabase* ASqlDatabase);
	virtual bool __fastcall FetchNextRow(void);
	__property bool IsODBC_3 = {read=GetIsODBC_3, nodefault};
	__property AnsiString TableName = {read=FTableName, write=FTableName};
public:
	#pragma option push -w-inl
	/* TICustomOdbcCommand.Destroy */ inline __fastcall virtual ~TIOdbcCallColumns(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIOdbcCallIndexes;
class PASCALIMPLEMENTATION TIOdbcCallIndexes : public TICustomOdbcCall 
{
	typedef TICustomOdbcCall inherited;
	
private:
	AnsiString FTableName;
	
protected:
	virtual void __fastcall DoExecDirect(AnsiString Value);
	virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
	
public:
	__fastcall virtual TIOdbcCallIndexes(Sdcommon::TISqlDatabase* ASqlDatabase);
	virtual bool __fastcall FetchNextRow(void);
	__property AnsiString TableName = {read=FTableName, write=FTableName};
public:
	#pragma option push -w-inl

⌨️ 快捷键说明

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