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

📄 sdengine.hpp

📁 SQLDirect Component Library is a light-weight Borland Database Engine replacement for Borland Delphi
💻 HPP
📖 第 1 页 / 共 4 页
字号:
	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 + -