📄 sdengine.hpp
字号:
TSDSession* __fastcall GetDBSession(void);
TUpdateKinds __fastcall GetEnableUpdateKinds(void);
bool __fastcall GetUpdatesPending(void);
TUpdateRecordTypes __fastcall GetUpdateRecordSet(void);
void __fastcall InitBufferPointers(void);
bool __fastcall RecordFilter(char * RecBuf);
void __fastcall SetAutoRefresh(const bool Value);
void __fastcall SetBlobData(Db::TField* Field, char * Buffer, Sdcommon::TBytes Value);
void __fastcall SetDatabaseName(const AnsiString Value);
void __fastcall SetDetachOnFetchAll(bool Value);
void __fastcall SetSessionName(const AnsiString Value);
void __fastcall SetEnableUpdateKinds(TUpdateKinds Value);
void __fastcall SetUniDirectional(const bool Value);
virtual void __fastcall SetUpdateMode(const Db::TUpdateMode Value);
void __fastcall SetUpdateRecordSet(TUpdateRecordTypes RecordTypes);
void __fastcall SetUpdateObject(TSDDataSetUpdateObject* Value);
protected:
__property TSDResultSet* RecCache = {read=FRecCache};
__property Sdcommon::TISqlCommand* SqlCmd = {read=FSqlCmd};
virtual Sdcommon::TISqlCommand* __fastcall ISqlCmdCreate(void);
void __fastcall ISqlCloseResultSet(void);
void __fastcall ISqlCnvtFieldData(Sdcommon::TISqlCommand* ASqlCmd, Sdcommon::TSDFieldDesc* AFieldDesc
, char * Buffer, Db::TField* AField);
void __fastcall ISqlCnvtFieldsBuffer(char * Buffer);
bool __fastcall ISqlConnected(void);
void __fastcall ISqlDetach(void);
void __fastcall ISqlExecDirect(AnsiString Value);
void __fastcall ISqlExecute(void);
bool __fastcall ISqlFetch(void);
void __fastcall ISqlInitFieldDefs(void);
void __fastcall ISqlPrepare(AnsiString Value);
bool __fastcall ISqlPrepared(void);
int __fastcall ISqlGetRowsAffected(void);
int __fastcall ISqlWriteBlob(int FieldNo, const char * Buffer, int Count);
int __fastcall ISqlWriteBlobByName(AnsiString Name, const char * Buffer, int Count);
private:
void __fastcall CacheInit(void);
void __fastcall CacheDone(void);
char * __fastcall CacheTempBuffer(void);
protected:
virtual char * __fastcall AllocRecordBuffer(void);
void __fastcall DestroySqlCommand(bool Force);
void __fastcall ForceClose(void);
virtual void __fastcall FreeRecordBuffer(char * &Buffer);
virtual bool __fastcall BCDToCurr(void * BCD, System::Currency &Curr);
virtual bool __fastcall CurrToBCD(const System::Currency Curr, void * BCD, int Precision, int Decimals
);
void __fastcall SetDefaultFields(const bool Value);
HIDESBASE void __fastcall UpdateBufferCount(void);
void __fastcall CheckCachedUpdateMode(void);
HIDESBASE void __fastcall CheckCanModify(void);
void __fastcall CheckDatabaseName(void);
virtual void __fastcall ClearCalcFields(char * Buffer);
virtual void __fastcall CloseCursor(void);
void __fastcall ClearFieldDefs(void);
virtual void __fastcall CreateHandle(void) = 0 ;
virtual void __fastcall DataEvent(Db::TDataEvent Event, int Info);
virtual void __fastcall DestroyHandle(void);
virtual bool __fastcall FindRecord(bool Restart, bool GoForward);
virtual void __fastcall GetBookmarkData(char * Buffer, void * Data);
virtual Db::TBookmarkFlag __fastcall GetBookmarkFlag(char * Buffer);
int __fastcall GetBufferCount(void);
virtual bool __fastcall GetCanModify(void);
char * __fastcall GetFieldBuffer(int AFieldNo, char * RecBuf);
int __fastcall GetFieldDataSize(Db::TField* Field);
virtual int __fastcall GetRecNo(void);
virtual Db::TGetResult __fastcall GetRecord(char * Buffer, Db::TGetMode GetMode, bool DoCheck);
virtual int __fastcall GetRecordCount(void);
virtual Word __fastcall GetRecordSize(void);
Db::TUpdateStatus __fastcall GetRecordUpdateStatus(void);
void __fastcall SetRecordUpdateStatus(Db::TUpdateStatus Value);
virtual void __fastcall InitRecord(char * Buffer);
void __fastcall InitResultSet(void);
virtual void __fastcall InternalAddRecord(void * Buffer, bool Append);
virtual void __fastcall InternalClose(void);
virtual void __fastcall InternalDelete(void);
virtual void __fastcall InternalFirst(void);
virtual void __fastcall InternalGotoBookmark(void * Bookmark);
virtual void __fastcall InternalHandleException(void);
virtual void __fastcall InternalInitFieldDefs(void);
virtual void __fastcall InternalInitRecord(char * Buffer);
virtual void __fastcall InternalLast(void);
virtual void __fastcall InternalOpen(void);
virtual void __fastcall InternalPost(void);
virtual void __fastcall InternalRefresh(void);
virtual void __fastcall InternalSetToRecord(char * Buffer);
virtual bool __fastcall IsCursorOpen(void);
void __fastcall DoneResultSet(void);
int __fastcall DoLocateRecord(const AnsiString KeyFields, const Variant &KeyValues, Db::TLocateOptions
Options, bool SyncCursor, bool NextLocate);
virtual void __fastcall DoRefreshRecord(const AnsiString ARefreshSQL);
virtual void __fastcall DoSortRecords(const int * AFields, const int AFields_Size, const bool * AscOrder
, const int AscOrder_Size, const bool * CaseSensitive, const int CaseSensitive_Size);
void __fastcall LiveApplyRecord(Db::TUpdateStatus OpMode, const AnsiString ASQL, const AnsiString ATableName
, const AnsiString ARefreshSQL);
void __fastcall LiveInternalPost(bool IsDelete, const AnsiString ASQL, const AnsiString ATableName)
;
bool __fastcall MapsToIndex(Classes::TList* Fields, bool CaseInsensitive);
void __fastcall SetConnectionState(bool IsBusy);
virtual void __fastcall SetBookmarkData(char * Buffer, void * Data);
virtual void __fastcall SetBookmarkFlag(char * Buffer, Db::TBookmarkFlag Value);
virtual void __fastcall BlockReadNext(void);
virtual void __fastcall SetBlockReadSize(int Value);
virtual void __fastcall SetFieldData(Db::TField* Field, void * Buffer);
void __fastcall SetFilterData(const AnsiString Text, Db::TFilterOptions Options);
virtual void __fastcall SetFiltered(bool Value);
virtual void __fastcall SetFilterOptions(Db::TFilterOptions Value);
virtual void __fastcall SetFilterText(const AnsiString Value);
virtual void __fastcall SetRecNo(int Value);
virtual void __fastcall OpenCursor(bool InfoQuery);
virtual void __fastcall ExecuteCursor(void);
int __fastcall ProcessUpdates(TDelayedUpdCmd UpdCmd);
virtual bool __fastcall SetDSFlag(int Flag, bool Value);
virtual void __fastcall SetOnFilterRecord(const Db::TFilterRecordEvent Value);
__property bool CachedUpdates = {read=FCachedUpdates, write=FCachedUpdates, nodefault};
__property TDSFlags DSFlags = {read=FDSFlags, nodefault};
__property TSDServerType ServerType = {read=GetServerType, nodefault};
__property Db::TUpdateMode UpdateMode = {read=FUpdateMode, write=SetUpdateMode, default=0};
public:
__fastcall virtual TSDDataSet(Classes::TComponent* AOwner);
__fastcall virtual ~TSDDataSet(void);
virtual void __fastcall Disconnect(void);
void __fastcall ApplyUpdates(void);
void __fastcall CancelUpdates(void);
void __fastcall CommitUpdates(void);
void __fastcall RollbackUpdates(void);
virtual bool __fastcall BookmarkValid(void * Bookmark);
virtual int __fastcall CompareBookmarks(void * Bookmark1, void * Bookmark2);
virtual Classes::TStream* __fastcall CreateBlobStream(Db::TField* Field, Db::TBlobStreamMode Mode);
void __fastcall Detach(void);
void __fastcall FetchAll(void);
void __fastcall OpenEmpty(void);
TSDDatabase* __fastcall OpenDatabase(void);
void __fastcall CloseDatabase(TSDDatabase* Database);
void __fastcall GetFieldInfoFromSQL(const AnsiString ASQL, Classes::TStrings* FldInfo, Classes::TStrings*
TblInfo);
virtual bool __fastcall GetCurrentRecord(char * Buffer);
virtual bool __fastcall GetFieldData(Db::TField* Field, void * Buffer)/* overload */;
virtual bool __fastcall IsSequenced(void);
virtual bool __fastcall Locate(const AnsiString KeyFields, const Variant &KeyValues, Db::TLocateOptions
Options);
bool __fastcall LocateNext(const AnsiString KeyFields, const Variant &KeyValues, Db::TLocateOptions
Options);
virtual Variant __fastcall Lookup(const AnsiString KeyFields, const Variant &KeyValues, const AnsiString
ResultFields);
virtual void __fastcall RefreshRecord(void);
virtual void __fastcall RefreshRecordEx(const AnsiString ARefreshSQL);
void __fastcall RevertRecord(void);
void __fastcall SortRecords(const System::TVarRec * AFields, const int AFields_Size, const bool * AscOrder
, const int AscOrder_Size, const bool * ACaseSensitive, const int ACaseSensitive_Size)/* overload */
;
void __fastcall SortRecords(const AnsiString AFields, const AnsiString AscOrder, const AnsiString ACaseSensitive
)/* overload */;
virtual Db::TUpdateStatus __fastcall UpdateStatus(void);
__property bool CacheBlobs = {read=FCacheBlobs, write=FCacheBlobs, default=1};
__property TSDDatabase* Database = {read=FDatabase};
__property TSDSession* DBSession = {read=GetDBSession};
__property TUpdateKinds EnableUpdateKinds = {read=GetEnableUpdateKinds, write=SetEnableUpdateKinds,
nodefault};
__property void * Handle = {read=GetHandle};
__property bool UniDirectional = {read=FUniDirectional, write=SetUniDirectional, default=0};
__property TSDDataSetUpdateObject* UpdateObject = {read=FUpdateObject, write=SetUpdateObject};
__property bool UpdatesPending = {read=GetUpdatesPending, nodefault};
__property TUpdateRecordTypes UpdateRecordTypes = {read=GetUpdateRecordSet, write=SetUpdateRecordSet
, nodefault};
__published:
__property bool AutoRefresh = {read=FAutoRefresh, write=SetAutoRefresh, default=0};
__property AnsiString DatabaseName = {read=FDatabaseName, write=SetDatabaseName};
__property bool DetachOnFetchAll = {read=FDetachOnFetchAll, write=SetDetachOnFetchAll, default=0};
__property AnsiString SessionName = {read=FSessionName, write=SetSessionName};
__property TUpdateErrorEvent OnUpdateError = {read=FOnUpdateError, write=FOnUpdateError};
__property TUpdateRecordEvent OnUpdateRecord = {read=FOnUpdateRecord, write=FOnUpdateRecord};
__property Active ;
__property AutoCalcFields ;
__property Filter ;
__property Filtered ;
__property FilterOptions ;
__property BeforeOpen ;
__property AfterOpen ;
__property BeforeClose ;
__property AfterClose ;
__property BeforeInsert ;
__property AfterInsert ;
__property BeforeEdit ;
__property AfterEdit ;
__property BeforePost ;
__property AfterPost ;
__property BeforeCancel ;
__property AfterCancel ;
__property BeforeDelete ;
__property AfterDelete ;
__property BeforeScroll ;
__property AfterScroll ;
__property OnCalcFields ;
__property OnDeleteError ;
__property OnEditError ;
__property OnFilterRecord ;
__property OnNewRecord ;
__property OnPostError ;
};
#pragma pack(pop)
class DELPHICLASS TSDQuery;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TSDQuery : public TSDDataSet
{
typedef TSDDataSet inherited;
private:
Db::TDataLink* FDataLink;
Db::TParams* FParams;
bool FPrepared;
bool FExecCmd;
Classes::TStrings* FSQL;
AnsiString FText;
bool FParamCheck;
int FRowsAffected;
bool FRequestLive;
AnsiString FTableName;
Classes::TStrings* FIndexFields;
int __fastcall GetRowsAffected(void);
void __fastcall QueryChanged(System::TObject* Sender);
void __fastcall ReleaseHandle(bool SaveRes);
void __fastcall RefreshParams(void);
void __fastcall SetDataSource(Db::TDataSource* Value);
void __fastcall SetParamsFromCursor(void);
void __fastcall SetParamsList(Db::TParams* Value);
void __fastcall SetPrepareCmd(bool Value, bool GenCursor);
void __fastcall SetPrepared(bool Value);
void __fastcall SetRequestLive(bool Value);
virtual void __fastcall SetUpdateMode(const Db::TUpdateMode Value);
void __fastcall ReadParamData(Classes::TReader* Reader);
void __fastcall WriteParamData(Classes::TWriter* Writer);
protected:
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
virtual Sdcommon::TISqlCommand* __fastcall ISqlCmdCreate(void);
virtual void __fastcall CreateHandle(void);
virtual void __fastcall DoBeforeOpen(void);
virtual bool __fastcall GetCanModify(void);
virtual Db::TDataSource* __fastcall GetDataSource(void);
virtual bool __fastcall GetIsIndexField(Db::TField* Field);
Word __fastcall GetParamsCount(void);
virtual void __fastcall InternalDelete(void);
virtual void __fastcall InternalOpen(void);
virtual void __fastcall InternalPost(void);
bool __fastcall IsExecDirect(void);
virtual void __fastcall ExecuteCursor(void);
virtual bool __fastcall SetDSFlag(int Flag, bool Value);
virtual void __fastcall SetQuery(Classes::TStrings* Value);
void __fastcall UpdateUniqueIndexInfo(void);
void __fastcall SetSqlCmd(Sdcommon::TISqlCommand* Value);
public:
__fastcall virtual TSDQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TSDQuery(void);
virtual void __fastcall Disconnect(void);
void __fastcall ExecSQL(void);
virtual void __fastcall GetDetailLinkFields(Classes::TList* MasterFields, Classes::TList* DetailFields
);
Db::TParam* __fastcall ParamByName(const AnsiString Value);
void __fastcall Prepare(void);
void __fastcall UnPrepare(void);
virtual void __fastcall RefreshRecord(void);
__property bool Prepared = {read=FPrepared, write=SetPrepared, nodefault};
__property Word ParamCount = {read=GetParamsCount, nodefault};
__property AnsiString Text = {read=FText};
__property int RowsAffected = {read=GetRowsAffected, nodefault};
__published:
__property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
__property bool ParamCheck = {read=FParamCheck, write=FParamCheck, default=1};
__property Db::TParams* Params = {read=FParams, write=SetParamsList, stored=false};
__property bool RequestLive = {read=FRequestLive, write=SetRequestLive, default=0};
__property Classes::TStrings* SQL = {read=FSQL, write=SetQuery};
__property UniDirectional ;
__property UpdateMode ;
__property UpdateObject ;
};
#pragma pack(pop)
class DELPHICLASS TSDMacroQuery;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TSDMacroQuery : public TSDQuery
{
typedef TSDQuery inherited;
private:
char FMacroChar;
Db::TParams* FMacros;
bool FMacrosExpanding;
Classes::TStrings* FSQLPattern;
Classes::TNotifyEvent FSaveQueryChanged;
Db::TParams* __fastcall GetMacros(void);
Word __fastcall GetMacroCount(void);
void __fastcall PatternChanged(System::TObject* Sender);
HIDESBASE void __fastcall QueryChanged(System::TObject* Sender);
void __fastcall CreateMacros(void);
void __fastcall SetMacroChar(const char Value);
void __fastcall SetMacros(const Db::TParams* Value);
void __fastcall ReadMacroData(Classes::TReader* Reader);
void __fastcall WriteMacroData(Classes::TWriter* Writer);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -