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

📄 datadrivereh.hpp

📁 最新的 DBGRIDEH4.0
💻 HPP
📖 第 1 页 / 共 3 页
字号:
// CodeGear C++ Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Datadrivereh.pas' rev: 11.00

#ifndef DatadriverehHPP
#define DatadriverehHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <Contnrs.hpp>	// Pascal unit
#include <Toolctrlseh.hpp>	// Pascal unit
#include <Dbcommon.hpp>	// Pascal unit
#include <Memtabledataeh.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Datadrivereh
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TUpdateErrorActionEh { ueaBreakAbortEh, ueaBreakRaiseEh, ueaCountinueEh, ueaRetryEh, ueaCountinueSkip };
#pragma option pop

class DELPHICLASS TDataDriverEh;
typedef void __fastcall (__closure *TDataDriverProduceDataReaderEhEvent)(TDataDriverEh* DataDriver, Db::TDataSet* &DataReader, bool &FreeOnEof);

typedef void __fastcall (__closure *TDataDriverBuildDataStructEhEvent)(TDataDriverEh* DataDriver, Memtabledataeh::TMTDataStructEh* DataStruct);

typedef void __fastcall (__closure *TDataDriverReadRecordEhEvent)(TDataDriverEh* DataDriver, Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec, bool &ProviderEOF);

typedef void __fastcall (__closure *TDataDriverUpdateErrorEhEvent)(TDataDriverEh* DataDriver, Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec, TUpdateErrorActionEh &Action);

typedef void __fastcall (__closure *TDataDriverRecordEhEvent)(TDataDriverEh* DataDriver, Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec);

typedef void __fastcall (__closure *TDataDriverAssignFieldValueEhEvent)(TDataDriverEh* DataDriver, Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec, int DataFieldIndex, Memtabledataeh::TDataValueVersionEh DataValueVersion, Db::TDataSet* ReaderDataSet);

__interface IDataDriverConsumerEh;
typedef System::DelphiInterface<IDataDriverConsumerEh> _di_IDataDriverConsumerEh;
__interface  INTERFACE_UUID("{E390BBF2-666F-43D7-8CC8-1FA2BA8263D1}") IDataDriverConsumerEh  : public IInterface 
{
	
public:
	virtual void __fastcall SetDataDriverConsumer(System::TObject* AObject) = 0 ;
	virtual System::TObject* __fastcall GetDataDriverConsumer(void) = 0 ;
	__property System::TObject* DataDriverConsumer = {read=GetDataDriverConsumer, write=SetDataDriverConsumer};
};

class PASCALIMPLEMENTATION TDataDriverEh : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	AnsiString FKeyFields;
	TDataDriverAssignFieldValueEhEvent FOnAssignFieldValue;
	TDataDriverBuildDataStructEhEvent FOnBuildDataStruct;
	TDataDriverProduceDataReaderEhEvent FOnProduceDataReader;
	TDataDriverReadRecordEhEvent FOnReadRecord;
	TDataDriverRecordEhEvent FOnRefreshRecord;
	TDataDriverUpdateErrorEhEvent FOnUpdateError;
	TDataDriverRecordEhEvent FOnUpdateRecord;
	Db::TDataSet* FProviderDataSet;
	bool FProviderEOF;
	Db::TDataSet* FReaderDataSet;
	bool FReaderDataSetFreeOnEof;
	bool FResolveToDataSet;
	System::TObject* FDataDriverConsumer;
	void __fastcall SetKeyFields(const AnsiString Value);
	void __fastcall SetProviderDataSet(const Db::TDataSet* Value);
	void __fastcall SetProviderEOF(const bool Value);
	
protected:
	System::TObject* __fastcall GetDataDriverConsumer(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual void __fastcall SetAutoIncFields(Db::TFields* Fields, Memtabledataeh::TMTDataStructEh* DataStruct);
	void __fastcall SetDataDriverConsumer(System::TObject* ADataDriverConsumer);
	__property AnsiString KeyFields = {read=FKeyFields, write=SetKeyFields};
	__property Db::TDataSet* ProviderDataSet = {read=FProviderDataSet, write=SetProviderDataSet};
	__property Db::TDataSet* ReaderDataSet = {read=FReaderDataSet};
	
public:
	__fastcall virtual TDataDriverEh(Classes::TComponent* AOwner);
	__fastcall virtual ~TDataDriverEh(void);
	virtual int __fastcall ApplyUpdates(Memtabledataeh::TMemTableDataEh* MemTableData);
	virtual int __fastcall DefaultUpdateRecord(Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec);
	virtual Db::TDataSet* __fastcall GetDataReader(void);
	virtual int __fastcall ReadData(Memtabledataeh::TMemTableDataEh* MemTableData, int Count);
	virtual bool __fastcall RefreshReaderParamsFromCursor(Db::TDataSet* DataSet);
	virtual void __fastcall AssignFieldValue(Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec, int DataFieldIndex, Memtabledataeh::TDataValueVersionEh DataValueVersion, Db::TDataSet* ReaderDataSet);
	virtual void __fastcall UpdateRecord(Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec);
	virtual void __fastcall ConsumerClosed(Db::TDataSet* ConsumerDataSet);
	virtual void __fastcall DefaultAssignFieldValue(Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec, int DataFieldIndex, Memtabledataeh::TDataValueVersionEh DataValueVersion, Db::TDataSet* ReaderDataSet);
	virtual void __fastcall DefaultBuildDataStruct(Memtabledataeh::TMTDataStructEh* DataStruct);
	virtual void __fastcall DefaultProduceDataReader(Db::TDataSet* &DataSet, bool &FreeOnEof);
	virtual void __fastcall DefaultReadRecord(Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* Rec, bool &ProviderEOF);
	virtual void __fastcall DefaultUpdateError(Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec, TUpdateErrorActionEh &Action);
	virtual void __fastcall DefaultRefreshRecord(Memtabledataeh::TMemoryRecordEh* MemRecord);
	virtual void __fastcall BuildDataStruct(Memtabledataeh::TMTDataStructEh* DataStruct);
	virtual void __fastcall RefreshRecord(Memtabledataeh::TMemoryRecordEh* MemRecord);
	virtual void __fastcall SetReaderParamsFromCursor(Db::TDataSet* DataSet);
	__property bool ProviderEOF = {read=FProviderEOF, write=SetProviderEOF, nodefault};
	__property bool ResolveToDataSet = {read=FResolveToDataSet, write=FResolveToDataSet, default=1};
	__property TDataDriverBuildDataStructEhEvent OnBuildDataStruct = {read=FOnBuildDataStruct, write=FOnBuildDataStruct};
	__property TDataDriverProduceDataReaderEhEvent OnProduceDataReader = {read=FOnProduceDataReader, write=FOnProduceDataReader};
	__property TDataDriverAssignFieldValueEhEvent OnAssignFieldValue = {read=FOnAssignFieldValue, write=FOnAssignFieldValue};
	__property TDataDriverReadRecordEhEvent OnReadRecord = {read=FOnReadRecord, write=FOnReadRecord};
	__property TDataDriverRecordEhEvent OnRefreshRecord = {read=FOnRefreshRecord, write=FOnRefreshRecord};
	__property TDataDriverRecordEhEvent OnUpdateRecord = {read=FOnUpdateRecord, write=FOnUpdateRecord};
	__property TDataDriverUpdateErrorEhEvent OnUpdateError = {read=FOnUpdateError, write=FOnUpdateError};
private:
	void *__IDataDriverConsumerEh;	/* Datadrivereh::IDataDriverConsumerEh */
	
public:
	operator IInterface*(void) { return (IInterface*)&__IDataDriverConsumerEh; }
	operator IDataDriverConsumerEh*(void) { return (IDataDriverConsumerEh*)&__IDataDriverConsumerEh; }
	
};


class DELPHICLASS TDataSetDriverEh;
class PASCALIMPLEMENTATION TDataSetDriverEh : public TDataDriverEh 
{
	typedef TDataDriverEh inherited;
	
__published:
	__property KeyFields ;
	__property ProviderDataSet ;
	__property OnBuildDataStruct ;
	__property OnProduceDataReader ;
	__property OnAssignFieldValue ;
	__property OnReadRecord ;
	__property OnRefreshRecord ;
	__property OnUpdateRecord ;
	__property OnUpdateError ;
	__property ResolveToDataSet  = {default=1};
public:
	#pragma option push -w-inl
	/* TDataDriverEh.Create */ inline __fastcall virtual TDataSetDriverEh(Classes::TComponent* AOwner) : TDataDriverEh(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TDataDriverEh.Destroy */ inline __fastcall virtual ~TDataSetDriverEh(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TDynaSQLOptionEh { dsoDynamicSQLInsertEh, dsoDynamicSQLUpdateEh, dsoDynamicSQLDeleteEh };
#pragma option pop

typedef Set<TDynaSQLOptionEh, dsoDynamicSQLInsertEh, dsoDynamicSQLDeleteEh>  TDynaSQLOptionsEh;

class DELPHICLASS TDynaSQLParamsEh;
class DELPHICLASS TCustomSQLDataDriverEh;
class DELPHICLASS TCustomSQLCommandEh;
#pragma option push -b-
enum TSQLCommandTypeEh { cthSelectQuery, cthUpdateQuery, cthTable, cthStoredProc };
#pragma option pop

class PASCALIMPLEMENTATION TCustomSQLCommandEh : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	Classes::TStrings* FCommandText;
	TSQLCommandTypeEh FCommandType;
	TCustomSQLDataDriverEh* FDataDriver;
	bool __fastcall IsCommandTypeStored(void);
	
protected:
	virtual TSQLCommandTypeEh __fastcall DefaultCommandType(void);
	virtual Classes::TStrings* __fastcall GetCommandText(void);
	virtual TSQLCommandTypeEh __fastcall GetCommandType(void);
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall CommandTextChanged(System::TObject* Sender);
	virtual void __fastcall CommandTypeChanged(void);
	virtual void __fastcall SetCommandText(const Classes::TStrings* Value);
	virtual void __fastcall SetCommandType(const TSQLCommandTypeEh Value);
	
public:
	__fastcall TCustomSQLCommandEh(TCustomSQLDataDriverEh* ADataDriver);
	__fastcall virtual ~TCustomSQLCommandEh(void);
	virtual int __fastcall Execute(Db::TDataSet* &Cursor, bool &FreeOnEof);
	DYNAMIC AnsiString __fastcall GetNamePath();
	virtual Db::TParams* __fastcall GetParams(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual void __fastcall RefreshParams(Memtabledataeh::TMemoryRecordEh* MemRecord, Memtabledataeh::TDataValueVersionEh DataValueVersion);
	virtual void __fastcall SetParams(Db::TParams* AParams);
	__property Classes::TStrings* CommandText = {read=GetCommandText, write=SetCommandText};
	__property TSQLCommandTypeEh CommandType = {read=GetCommandType, write=SetCommandType, stored=IsCommandTypeStored, nodefault};
	__property TCustomSQLDataDriverEh* DataDriver = {read=FDataDriver};
};


typedef int __fastcall (__closure *TDataDriverExecuteCommandEhEvent)(TCustomSQLDataDriverEh* DataDriver, TCustomSQLCommandEh* Command, Db::TDataSet* &Cursor, bool &FreeOnEof);

typedef void __fastcall (__closure *TDataDriverGetBackUpdatedValuesEhEvent)(TCustomSQLDataDriverEh* DataDriver, Memtabledataeh::TMemoryRecordEh* MemRec, TCustomSQLCommandEh* Command, Db::TDataSet* ResDataSet);

class DELPHICLASS TServerSpecOperationsEh;
class PASCALIMPLEMENTATION TServerSpecOperationsEh : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	bool FIncludeInsertFieldsInUpdateCommand;
	
protected:
	virtual void __fastcall GenWhereClause(AnsiString KeyFields, Classes::TStrings* SQL);
	virtual void __fastcall BuildChangedFieldList(Memtabledataeh::TMemoryRecordEh* MemRec, Classes::TStringList* UpdateFieldList, Classes::TStringList* ChangedFieldList);
	
public:
	__fastcall virtual TServerSpecOperationsEh(void);
	virtual int __fastcall UpdateRecord(TCustomSQLDataDriverEh* SQLDataDriver, Memtabledataeh::TMemTableDataEh* MemTableData, Memtabledataeh::TMemoryRecordEh* MemRec);
	virtual void __fastcall GetBackUpdatedValues(Memtabledataeh::TMemoryRecordEh* MemRec, TCustomSQLCommandEh* Command, Db::TDataSet* ResDataSet);
	virtual void __fastcall GenerateDynaSQLCommand(Memtabledataeh::TMemoryRecordEh* MemRec, TCustomSQLCommandEh* Command);
	virtual void __fastcall GenerateDeleteCommand(Memtabledataeh::TMemoryRecordEh* MemRec, TCustomSQLCommandEh* Command);
	virtual void __fastcall GenerateUpdateCommand(Memtabledataeh::TMemoryRecordEh* MemRec, TCustomSQLCommandEh* Command);
	virtual void __fastcall GenerateInsertCommand(Memtabledataeh::TMemoryRecordEh* MemRec, TCustomSQLCommandEh* Command);
	__property bool IncludeInsertFieldsInUpdateCommand = {read=FIncludeInsertFieldsInUpdateCommand, write=FIncludeInsertFieldsInUpdateCommand, nodefault};
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TServerSpecOperationsEh(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TCustomSQLDataDriverEh : public TDataDriverEh 
{
	typedef TDataDriverEh inherited;
	
private:
	TCustomSQLCommandEh* FDeleteCommand;
	Classes::TComponent* FDesignDataBase;

⌨️ 快捷键说明

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