📄 sdengine.hpp
字号:
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)/* overload */;
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 = {default=0};
__property AutoCalcFields = {default=1};
__property Filter ;
__property Filtered = {default=0};
__property FilterOptions = {default=0};
__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 ;
/* Hoisted overloads: */
protected:
inline void __fastcall SetFieldData(Db::TField* Field, void * Buffer, bool NativeFormat){ TDataSet::SetFieldData(Field, Buffer, NativeFormat); }
public:
inline bool __fastcall GetFieldData(int FieldNo, void * Buffer){ return TDataSet::GetFieldData(FieldNo, Buffer); }
inline bool __fastcall GetFieldData(Db::TField* Field, void * Buffer, bool NativeFormat){ return TDataSet::GetFieldData(Field, Buffer, NativeFormat); }
};
class DELPHICLASS TSDQuery;
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 PSExecute(void);
virtual Db::TParams* __fastcall PSGetParams(void);
virtual AnsiString __fastcall PSGetTableName();
virtual void __fastcall PSSetCommandText(const AnsiString CommandText);
virtual void __fastcall PSSetParams(Db::TParams* AParams);
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 = {default=0};
__property UpdateMode = {default=0};
__property UpdateObject ;
};
class DELPHICLASS TSDMacroQuery;
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);
protected:
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
virtual bool __fastcall SetDSFlag(int Flag, bool Value);
virtual void __fastcall SetQuery(Classes::TStrings* Value);
public:
__fastcall virtual TSDMacroQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TSDMacroQuery(void);
void __fastcall ExpandMacros(void);
Db::TParam* __fastcall MacroByName(const AnsiString MacroName);
__published:
__property char MacroChar = {read=FMacroChar, write=SetMacroChar, default=37};
__property Word MacroCount = {read=GetMacroCount, nodefault};
__property Db::TParams* Macros = {read=GetMacros, write=SetMacros, stored=false};
__property Classes::TStrings* SQL = {read=FSQLPattern, write=SetQuery};
};
class DELPHICLASS TSDUpdateSQL;
class PASCALIMPLEMENTATION TSDUpdateSQL : public TSDDataSetUpdateObject
{
typedef TSDDataSetUpdateObject inherited;
private:
TSDDataSet* FDataSet;
TSDQuery* FQueries[4];
Classes::TStrings* FSQLText[4];
Classes::TStrings* __fastcall GetSQL(Db::TUpdateStatus StmtKind);
Classes::TStrings* __fastcall GetSQLIndex(int Index);
void __fastcall SetSQL(Db::TUpdateStatus StmtKind, Classes::TStrings* Value);
void __fastcall SetSQLIndex(int Index, Classes::TStrings* Value);
protected:
virtual TSDDataSet* __fastcall GetDataSet(void);
TSDQuery* __fastcall GetQuery(Db::TUpdateKind UpdateKind);
virtual TSDQuery* __fastcall GetQueryEx(Db::TUpdateStatus StmtKind);
virtual void __fastcall SetDataSet(TSDDataSet* ADataSet);
void __fastcall SQLChanged(System::TObject* Sender);
public:
__fastcall virtual TSDUpdateSQL(Classes::TComponent* AOwner);
__fastcall virtual ~TSDUpdateSQL(void);
virtual void __fastcall Apply(Db::TUpdateKind UpdateKind);
void __fastcall ExecSQL(Db::TUpdateKind UpdateKind);
void __fastcall SetParams(Db::TUpdateKind UpdateKind);
__property DataSet ;
__property TSDQuery* Query[Db::TUpdateKind UpdateKind] = {read=GetQuery};
__property Classes::TStrings* SQL[Db::TUpdateStatus StmtKind] = {read=GetSQL, write=SetSQL};
__property TSDQuery* QueryEx[Db::TUpdateStatus StmtKind] = {read=GetQueryEx};
__published:
__property Classes::TStrings* RefreshSQL = {read=GetSQLIndex, write=SetSQLIndex, index=0};
__property Classes::TStrings* ModifySQL = {read=GetSQLIndex, write=SetSQLIndex, index=1};
__property Classes::TStrings* InsertSQL = {read=GetSQLIndex, write=SetSQLIndex, index=2};
__property Classes::TStrings* DeleteSQL = {read=GetSQLIndex, write=SetSQLIndex, index=3};
};
class DELPHICLASS TSDBlobStream;
class PASCALIMPLEMENTATION TSDBlobStream : public Classes::TStream
{
typedef Classes::TStream inherited;
private:
Db::TBlobField* FField;
TSDDataSet* FDataSet;
char *FBuffer;
Db::TBlobStreamMode FMode;
int FFieldNo;
bool FOpened;
bool FModified;
int FPosition;
DynamicArray<Byte > FBlobData;
int FBlobSize;
bool FCached;
int FCacheSize;
int __fastcall GetBlobSize(void);
protected:
virtual void __fastcall SetSize(int NewSize)/* overload */;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -