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

📄 absbase.hpp

📁 Absolute Database 5.12 src. Absolute Database lets you forget the Borland Database Engine (BDE). Th
💻 HPP
📖 第 1 页 / 共 3 页
字号:
	virtual bool __fastcall TableExists(AnsiString TableName) = 0 ;
	virtual void __fastcall SetObject(TABSSessionNamedObject* Value);
	virtual TABSSessionNamedObject* __fastcall GetObjectByName(AnsiString ObjectName);
	virtual TABSSessionNamedObject* __fastcall GetObjectByID(int id);
	virtual void __fastcall DeleteObject(int id);
	virtual void __fastcall StartTransaction(void) = 0 ;
	virtual void __fastcall Commit(bool DoFlushBuffers = true) = 0 ;
	virtual void __fastcall Rollback(void) = 0 ;
	virtual void __fastcall FlushBuffers(void) = 0 ;
	__property bool Connected = {read=GetConnected, write=SetConnected, default=0};
	__property AnsiString DatabaseFileName = {read=FDatabaseFileName, write=FDatabaseFileName};
	__property AnsiString DatabaseName = {read=FDatabaseName, write=FDatabaseName};
	__property int SessionID = {read=FSessionID, write=FSessionID, nodefault};
	__property bool InTransaction = {read=FInTransaction, write=FInTransaction, nodefault};
	__property bool ReadOnly = {read=FReadOnly, write=FReadOnly, nodefault};
	__property bool Exclusive = {read=FExclusive, write=FExclusive, nodefault};
	__property bool InMemory = {read=FInMemory, write=FInMemory, nodefault};
	__property AnsiString Login = {read=FLogin, write=FLogin};
	__property TABSSessionComponentManager* SessionComponentManager = {read=FSessionHandle, write=FSessionHandle};
	__property int MaxSessionCount = {read=FMaxSessionCount, write=FMaxSessionCount, nodefault};
	__property bool RepairNeeded = {read=FRepairNeeded, write=FRepairNeeded, nodefault};
	__property bool SuppressDBHeaderErrors = {read=GetSuppressDBHeaderErrors, write=SetSuppressDBHeaderErrors, nodefault};
	__property bool MultiUser = {read=FMultiUser, write=FMultiUser, nodefault};
	__property AnsiString SessionName = {read=FSessionName, write=FSessionName};
};


class PASCALIMPLEMENTATION TABSCursor : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	bool FSettingProjection;
	AnsiString FTableName;
	AnsiString FIndexName;
	int FIndexID;
	bool FReadOnly;
	bool FExclusive;
	bool FInMemory;
	bool FTemporary;
	TABSBaseSession* FSession;
	bool FIsOpen;
	bool FPhysicalOrder;
	System::TObject* FCurrentRecordPositionInIndex;
	char *FCurrentRecordBuffer;
	char *FDistinctRecordBuffer;
	char *FEditRecordBuffer;
	Abssecurity::TABSPassword FPassword;
	TABSConstraintDefs* FConstraintDefs;
	#pragma pack(push,1)
	Abscompression::TABSCompression FBLOBCompression;
	#pragma pack(pop)
	TABSFieldDefs* FFieldDefs;
	TABSFieldDefs* FVisibleFieldDefs;
	TABSIndexDefs* FIndexDefs;
	Classes::TList* FBLOBStreams;
	void *FRecordBitmap;
	Abstypes::TABSIndexPositionCache* FIndexPositionCache;
	bool FTableLockedByCursor;
	bool FBatchUpdate;
	bool FDisableTempFiles;
	bool FIsRepairing;
	
private:
	int FErrorCode;
	AnsiString FErrorMessage;
	bool FIsDesignMode;
	int FRecordBufferSize;
	int FRecordSize;
	int FKeyBufferSize;
	int FKeyOffset;
	int FKeyFieldCount;
	int FFieldValuesOffset;
	int FCalculatedFieldsOffset;
	int FBookmarkOffset;
	void *FFilterExpression;
	void *FSQLFilterExpression;
	char *FKeyBuffer;
	char *FRangeStartBuffer;
	char *FRangeEndBuffer;
	bool FRangeStartExclusive;
	bool FRangeEndExclusive;
	int FRangeStartKeyFieldCount;
	int FRangeEndKeyFieldCount;
	int FDistinctFieldCount;
	
protected:
	void __fastcall SetIndexName(AnsiString Value);
	
public:
	__property int RecordBufferSize = {read=FRecordBufferSize, write=FRecordBufferSize, nodefault};
	__property int RecordSize = {read=FRecordSize, write=FRecordSize, nodefault};
	__property int FieldValuesOffset = {read=FFieldValuesOffset, write=FFieldValuesOffset, nodefault};
	__property int CalculatedFieldsOffset = {read=FCalculatedFieldsOffset, write=FCalculatedFieldsOffset, nodefault};
	__property int BookmarkOffset = {read=FBookmarkOffset, write=FBookmarkOffset, nodefault};
	__property int KeyOffset = {read=FKeyOffset, write=FKeyOffset, nodefault};
	__property int KeyBufferSize = {read=FKeyBufferSize, write=FKeyBufferSize, nodefault};
	virtual void __fastcall CreateTable(TABSFieldDefs* FieldDefs, TABSIndexDefs* IndexDefs, TABSConstraintDefs* ConstraintDefs) = 0 ;
	virtual void __fastcall DeleteTable(void) = 0 ;
	virtual void __fastcall EmptyTable(void) = 0 ;
	virtual void __fastcall RenameTable(AnsiString NewTableName) = 0 ;
	virtual void __fastcall InternalInitFieldDefs(void) = 0 ;
	virtual void __fastcall OpenTableByFieldDefs(TABSFieldDefs* FieldDefs, TABSIndexDefs* IndexDefs, TABSConstraintDefs* ConstraintDefs) = 0 ;
	virtual void __fastcall CloseTable(void) = 0 ;
	virtual void __fastcall LockTableData(void) = 0 ;
	virtual void __fastcall UnlockTableData(void) = 0 ;
	virtual bool __fastcall LockTable(Abstypes::TABSLockType LockType, int TryCount, int Delay, bool AllowXIRWAfterSIRW = true) = 0 ;
	virtual bool __fastcall UnlockTable(Abstypes::TABSLockType LockType, bool IgnoreIfNoLock = false) = 0 ;
	virtual void __fastcall RenameField(AnsiString FieldName, AnsiString NewFieldName);
	virtual TABSIndexDefs* __fastcall GetIndexDefs(void);
	virtual void __fastcall AddIndex(TABSIndexDef* IndexDef) = 0 ;
	virtual void __fastcall DeleteIndex(AnsiString Name) = 0 ;
	virtual void __fastcall DeleteAllIndexes(void) = 0 ;
	virtual AnsiString __fastcall FindOrCreateIndex(Classes::TStringList* FieldNamesList, Classes::TStringList* AscDescList, Classes::TStringList* CaseSensitivityList, bool &IsCreated) = 0 ;
	virtual bool __fastcall IndexExists(Classes::TStringList* FieldNamesList, Classes::TStringList* AscDescList, Classes::TStringList* CaseSensitivityList) = 0 ;
	bool __fastcall GetFieldData(int FieldNo, void * Buffer, char * RecordBuffer);
	void __fastcall SetFieldData(int FieldNo, void * Buffer, char * RecordBuffer);
	void __fastcall ClearStringFieldsGarbage(char * RecordBuffer);
	void __fastcall GetFieldValue(Absvariant::TABSVariant* Value, int FieldNo, bool DirectAccess);
	void __fastcall SetFieldValue(Absvariant::TABSVariant* Value, int FieldNo, bool DirectAccess, char * RecordBuffer = (void *)(0x0));
	virtual void __fastcall CopyFieldValue(int SrcFieldNo, bool DirectAccess, int DestFieldNo, TABSCursor* DestCursor) = 0 ;
	char * __fastcall AllocateRecordBuffer(void);
	virtual void __fastcall InternalInitRecord(char * RecordBuffer, bool InsertMode) = 0 ;
	virtual void __fastcall FreeRecordBuffer(char * &Buffer);
	char * __fastcall AllocateKeyRecordBuffer(void);
	void __fastcall InternalInitKeyBuffer(char * RecordBuffer);
	virtual __int64 __fastcall GetRecordCount(void) = 0 ;
	virtual Abstypes::TABSGetRecordResult __fastcall GetRecordBuffer(Abstypes::TABSGetRecordMode GetRecordMode) = 0 ;
	virtual void __fastcall SetRecNo(__int64 Value) = 0 ;
	virtual __int64 __fastcall GetRecNo(void) = 0 ;
	virtual void __fastcall InternalFirst(void) = 0 ;
	virtual void __fastcall InternalLast(void) = 0 ;
	void * __fastcall SavePosition(void);
	void __fastcall RestorePosition(void * Pos);
	void __fastcall FreePosition(void * Pos);
	virtual void __fastcall InternalInsert(void) = 0 ;
	virtual void __fastcall InternalEdit(void) = 0 ;
	virtual void __fastcall InternalCancel(bool ToInsert) = 0 ;
	virtual void __fastcall InternalPost(bool ToInsert) = 0 ;
	virtual void __fastcall InternalDelete(void) = 0 ;
	void __fastcall DisableRecordBitmap(void);
	virtual void __fastcall ApplyDistinct(Classes::TStringList* FieldNamesList, Classes::TStringList* AscDescList, Classes::TStringList* CaseSensitivityList) = 0 ;
	void __fastcall ApplyProjection(Classes::TStringList* FieldNamesList, Classes::TStringList* AliasList);
	virtual void __fastcall ActivateFilters(AnsiString FilterText, bool CaseInsensitive, bool PartialKey) = 0 ;
	virtual void __fastcall DeactivateFilters(void) = 0 ;
	virtual bool __fastcall Locate(const AnsiString KeyFields, const Variant &KeyValues, bool CaseInsensitive, bool PartialKey) = 0 ;
	virtual bool __fastcall FindKey(Abstypes::TABSSearchCondition SearchCondition) = 0 ;
	virtual bool __fastcall IsAnyRecordMatchCondition(const AnsiString FieldName, const Abstypes::TABSDataOperator Operator, const Absvariant::TABSVariant* Value) = 0 ;
	bool __fastcall IsIndexApplied(void);
	bool __fastcall IsDistinctApplied(void);
	bool __fastcall IsFilterApplied(void);
	bool __fastcall IsRangeApplied(void);
	bool __fastcall IsViewRestricted(void);
	void __fastcall ResetRange(void);
	void __fastcall ApplyRange(char * StartBuffer, char * EndBuffer, int StartKeyFieldCount, int EndKeyFieldCount, bool StartExclusive, bool EndExclusive);
	void __fastcall SetSQLFilter(System::TObject* FilterExpr, System::TObject* ParentQueryAO, TABSCursor* ParentCursor);
	virtual Abscompression::TABSStream* __fastcall InternalCreateBlobStream(bool ToInsert, bool ToEdit, int FieldNo, Abstypes::TABSBLOBOpenMode OpenMode, bool CanDoGetRecordBuffer) = 0 ;
	virtual void __fastcall InternalCloseBLOB(int FieldNo) = 0 ;
	virtual void __fastcall ClearBLOBStreams(bool WriteOnly = false) = 0 ;
	virtual __int64 __fastcall LastAutoincValue(int FieldNo) = 0 ;
	virtual void __fastcall BeginBatchUpdate(void) = 0 ;
	virtual void __fastcall EndBatchUpdate(void) = 0 ;
	virtual void __fastcall CancelBatchUpdate(void) = 0 ;
	virtual bool __fastcall CheckConstraints(bool ToInsert) = 0 ;
	#pragma pack(push,1)
	Abstypes::TABSPageItemID CurrentRecordID;
	#pragma pack(pop)
	int CurrentIndexID;
	bool FirstPosition;
	bool LastPosition;
	void *FilterRecord;
	void *Dataset;
	__property void * RecordBitmap = {read=FRecordBitmap, write=FRecordBitmap};
	__property Abstypes::TABSIndexPositionCache* IndexPositionCache = {read=FIndexPositionCache};
	__property int DistinctFieldCount = {read=FDistinctFieldCount, write=FDistinctFieldCount, nodefault};
	__property void * FilterExpression = {read=FFilterExpression, write=FFilterExpression};
	__property void * SQLFilterExpression = {read=FSQLFilterExpression, write=FSQLFilterExpression};
	__property Classes::TList* BLOBStreams = {read=FBLOBStreams};
	__property int ErrorCode = {read=FErrorCode, write=FErrorCode, nodefault};
	__property AnsiString ErrorMessage = {read=FErrorMessage, write=FErrorMessage};
	__property bool IsDesignMode = {read=FIsDesignMode, write=FIsDesignMode, nodefault};
	__property AnsiString TableName = {read=FTableName, write=FTableName};
	__property AnsiString IndexName = {read=FIndexName, write=SetIndexName};
	__property int IndexID = {read=FIndexID, write=FIndexID, nodefault};
	__property bool ReadOnly = {read=FReadOnly, write=FReadOnly, nodefault};
	__property bool Exclusive = {read=FExclusive, write=FExclusive, nodefault};
	__property bool InMemory = {read=FInMemory, write=FInMemory, nodefault};
	__property bool Temporary = {read=FTemporary, write=FTemporary, nodefault};
	__property TABSBaseSession* Session = {read=FSession, write=FSession};
	__property bool IsOpen = {read=FIsOpen, write=FIsOpen, nodefault};
	__property bool IsRepairing = {read=FIsRepairing, write=FIsRepairing, nodefault};
	__property __int64 RecordCount = {read=GetRecordCount};
	__property TABSFieldDefs* FieldDefs = {read=FFieldDefs};
	__property TABSFieldDefs* VisibleFieldDefs = {read=FVisibleFieldDefs};
	__property TABSIndexDefs* IndexDefs = {read=GetIndexDefs};
	__property TABSConstraintDefs* ConstraintDefs = {read=FConstraintDefs};
	__property Abscompression::TABSCompression BLOBCompression = {read=FBLOBCompression, write=FBLOBCompression};
	__property Abssecurity::TABSPassword Password = {read=FPassword, write=FPassword};
	__property int KeyFieldCount = {read=FKeyFieldCount, write=FKeyFieldCount, nodefault};
	__property char * KeyBuffer = {read=FKeyBuffer, write=FKeyBuffer};
	__property char * RangeStartBuffer = {read=FRangeStartBuffer, write=FRangeStartBuffer};
	__property char * RangeEndBuffer = {read=FRangeEndBuffer, write=FRangeEndBuffer};
	__property bool RangeStartExclusive = {read=FRangeStartExclusive, write=FRangeStartExclusive, nodefault};
	__property bool RangeEndExclusive = {read=FRangeEndExclusive, write=FRangeEndExclusive, nodefault};
	__property int RangeStartKeyFieldCount = {read=FRangeStartKeyFieldCount, write=FRangeStartKeyFieldCount, nodefault};
	__property int RangeEndKeyFieldCount = {read=FRangeEndKeyFieldCount, write=FRangeEndKeyFieldCount, nodefault};
	__property char * CurrentRecordBuffer = {read=FCurrentRecordBuffer, write=FCurrentRecordBuffer};
	__property char * DistinctRecordBuffer = {read=FDistinctRecordBuffer, write=FDistinctRecordBuffer};
	__property char * EditRecordBuffer = {read=FEditRecordBuffer, write=FEditRecordBuffer};
	__property bool PhysicalOrder = {read=FPhysicalOrder, write=FPhysicalOrder, nodefault};
	__property System::TObject* CurrentRecordPositionInIndex = {read=FCurrentRecordPositionInIndex, write=FCurrentRecordPositionInIndex};
	__property bool TableLockedByCursor = {read=FTableLockedByCursor, write=FTableLockedByCursor, nodefault};
	__property bool InBatchUpdate = {read=FBatchUpdate, write=FBatchUpdate, nodefault};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TABSCursor(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TABSCursor(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TABSSessionNamedObject : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	int FObjectID;
	System::ShortString FName;
	
public:
	__fastcall TABSSessionNamedObject(AnsiString Name)/* overload */;
	__fastcall TABSSessionNamedObject(int ObjectID)/* overload */;
	__property System::ShortString Name = {read=FName, write=FName};
	__property int ObjectID = {read=FObjectID, write=FObjectID, nodefault};
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TABSSessionNamedObject(void) { }
	#pragma option pop
	
};


class DELPHICLASS TABSSessionNamedObjectSequenceValue;
class PASCALIMPLEMENTATION TABSSessionNamedObjectSequenceValue : public TABSSessionNamedObject 
{
	typedef TABSSessionNamedObject inherited;
	
public:
	__int64 FValue;
	__fastcall TABSSessionNamedObjectSequenceValue(int ObjectID, __int64 Value);
	__property __int64 Value = {read=FValue, write=FValue};
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TABSSessionNamedObjectSequenceValue(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Absbase */
using namespace Absbase;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Absbase

⌨️ 快捷键说明

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