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