📄 mysqldataset.hpp
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved
// (DO NOT EDIT: machine generated header) 'MySQLDataset.pas' rev: 6.00
#ifndef MySQLDatasetHPP
#define MySQLDatasetHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <MySQLParser.hpp> // Pascal unit
#include <MySQLServer.hpp> // Pascal unit
#include <Variants.hpp> // Pascal unit
#include <Controls.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <SysUtils.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <DB.hpp> // Pascal unit
#include <SysInit.hpp> // Pascal unit
#include <System.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Mysqldataset
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TMySQLDatasetBase;
typedef void __fastcall (__closure *TMySQLEvent)(TMySQLDatasetBase* Dataset, AnsiString &SQL, bool &Continue);
typedef void __fastcall (__closure *TMySQLMacroEvent)(TMySQLDatasetBase* Dataset, AnsiString AMacro, AnsiString &AValue, bool &ADefault);
typedef void __fastcall (__closure *TMySQLFieldValue)(TMySQLDatasetBase* Dataset, AnsiString AField, __int64 AIndex, AnsiString &AValue);
typedef DynamicArray<AnsiString > TBlobList;
struct TRecInfo;
typedef TRecInfo *PRecInfo;
#pragma pack(push, 1)
struct TRecInfo
{
DynamicArray<char * > Data;
DynamicArray<AnsiString > Blob;
char *Calc;
int Tag;
__int64 Bookmark;
Db::TBookmarkFlag BookmarkFlag;
} ;
#pragma pack(pop)
class DELPHICLASS TFieldInfo;
class PASCALIMPLEMENTATION TFieldInfo : public System::TObject
{
typedef System::TObject inherited;
public:
AnsiString FieldName;
AnsiString FieldOriginal;
AnsiString FieldTable;
AnsiString FieldTableOriginal;
AnsiString FieldDB;
AnsiString FieldDefault;
AnsiString FieldOrigin;
AnsiString FieldFullName;
AnsiString FieldValues;
Byte FieldType;
unsigned FieldLength;
unsigned FieldMaxLength;
unsigned FieldFlags;
unsigned FieldDec;
unsigned FieldOfs;
bool FieldChanged;
bool FieldReal;
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TFieldInfo(void) : System::TObject() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TFieldInfo(void) { }
#pragma option pop
};
class DELPHICLASS TTableInfo;
class PASCALIMPLEMENTATION TTableInfo : public System::TObject
{
typedef System::TObject inherited;
public:
AnsiString TableName;
AnsiString TableOriginal;
AnsiString TableOrigin;
AnsiString TableDB;
AnsiString PrimFields;
AnsiString UniqFields;
AnsiString MultFields;
AnsiString AffectedRows;
AnsiString LastInsertID;
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TTableInfo(void) : System::TObject() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TTableInfo(void) { }
#pragma option pop
};
#pragma option push -b-
enum TMySQLStringTypes { stNone, stNormal, stEnum, stSet };
#pragma option pop
class DELPHICLASS TMySQLStringField;
class PASCALIMPLEMENTATION TMySQLStringField : public Db::TStringField
{
typedef Db::TStringField inherited;
private:
TMySQLStringTypes FStringType;
Classes::TStrings* FValues;
protected:
TMySQLStringTypes __fastcall GetStringType(void);
Classes::TStrings* __fastcall GetStringValues(void);
void __fastcall SetStringValues(Classes::TStrings* Value);
public:
__fastcall virtual TMySQLStringField(Classes::TComponent* AOwner);
__fastcall virtual ~TMySQLStringField(void);
/* virtual class method */ virtual void __fastcall CheckTypeSize(TMetaClass* vmt, int Value);
bool __fastcall StrInValue(const AnsiString Value);
__published:
__property TMySQLStringTypes StringType = {read=GetStringType, write=FStringType, nodefault};
__property Classes::TStrings* StringValues = {read=GetStringValues, write=SetStringValues};
};
class DELPHICLASS TMySQLBlobStream;
class PASCALIMPLEMENTATION TMySQLBlobStream : public Classes::TStream
{
typedef Classes::TStream inherited;
private:
Db::TBlobField* FField;
TMySQLDatasetBase* FDataSet;
char *FBuffer;
Db::TBlobStreamMode FMode;
bool FOpened;
bool FModified;
int FPosition;
bool FCached;
int __fastcall GetBlobSize(void);
AnsiString __fastcall GetBlobFromRecord(Db::TField* Field);
public:
__fastcall TMySQLBlobStream(Db::TBlobField* Field, Db::TBlobStreamMode Mode);
__fastcall virtual ~TMySQLBlobStream(void);
virtual int __fastcall Read(void *Buffer, int Count);
virtual int __fastcall Write(const void *Buffer, int Count);
virtual int __fastcall Seek(int Offset, Word Origin)/* overload */;
void __fastcall Truncate(void);
/* Hoisted overloads: */
public:
inline __int64 __fastcall Seek(const __int64 Offset, Classes::TSeekOrigin Origin){ return TStream::Seek(Offset, Origin); }
};
#pragma option push -b-
enum MySQLDataset__5 { loFirst, loNext, loPrior, loLast, loTextSearch, loMatchAll };
#pragma option pop
typedef Set<MySQLDataset__5, loFirst, loMatchAll> TMySQLLocateOptions;
#pragma option push -b-
enum TMySQLResultOptions { rtLocal, rtIncremental, rtUnidirectional };
#pragma option pop
#pragma option push -b-
enum MySQLDataset__6 { doShareConnection, doTransactions, doRecursiveUpdates, doCachedUpdates, doThreadedUpdate, doAutoCreate, doCreateTemp, doDropIfExists, doFieldsAsString, doRetrieveFieldValues, doRetrieveIndexDefs, doMacrosEnabled, doMacroCheck, do2KStrToMemo, doSmallMemoToStr, doEnumToBool, doTinyIntToBool, doSetToWord, doEditCalcFields, doUseCursor, doSingleSQL };
#pragma option pop
typedef Set<MySQLDataset__6, doShareConnection, doSingleSQL> TMySQLDatasetOptions;
class PASCALIMPLEMENTATION TMySQLDatasetBase : public Db::TDataSet
{
typedef Db::TDataSet inherited;
private:
void *FConnection;
void *FResult;
Classes::TStrings* FMasterFields;
Db::TMasterDataLink* FMasterLink;
bool FInTransaction;
bool FResultChanged;
bool FResultComplete;
bool FReadOnly;
Classes::TStringList* FDBInfo;
Classes::TStringList* FTableInfo;
Classes::TStringList* FFieldInfo;
Classes::TList* FRecInfo;
int FRawBufSize;
int FRecBufSize;
int FRecInfoOfs;
int FMemoToStrLimit;
Mysqlserver::TMySQLServer* FServer;
AnsiString FDatabaseName;
AnsiString FTableName;
AnsiString FResultSQL;
AnsiString FRealSQL;
Classes::TStrings* FSQL;
Classes::TStrings* FSQLUpdate;
Classes::TStrings* FSQLInsert;
Classes::TStrings* FSQLDelete;
Classes::TStrings* FSQLBatch;
Classes::TStrings* FSQLCached;
char *FTempRec;
__int64 FCurRec;
AnsiString FMacroStringStart;
AnsiString FMacroStringEnd;
Db::TParams* FMacros;
TMySQLMacroEvent FOnMacro;
TMySQLEvent FOnExecSQL;
TMySQLFieldValue FOnCustomValue;
TMySQLFieldValue FOnDefaultValue;
Classes::TNotifyEvent FOnThreadOpened;
Classes::TNotifyEvent FOnThreadPosted;
Db::TDataSetNotifyEvent FOnAfterAdd;
AnsiString FPrimFields;
AnsiString FUniqFields;
AnsiString FMultFields;
AnsiString FAffectedRows;
AnsiString FQueryInfo;
AnsiString FLastInsertID;
TMySQLResultOptions FResultType;
Controls::TCursor FCursor;
TMySQLDatasetOptions FOptions;
Db::TCheckConstraints* FConstraints;
Db::TFieldDefs* FCustomFieldDefs;
Db::TIndexDefs* FIndexDefs;
void __fastcall ReadAllFieldValues(Classes::TReader* Reader);
void __fastcall ReadMacrosEnabled(Classes::TReader* Reader);
void __fastcall SQLChanging(System::TObject* Sender);
void __fastcall SQLChange(System::TObject* Sender);
AnsiString __fastcall SQLPopulate(const AnsiString SQL, bool ParseMacro = true, bool PopulateOnly = false, const AnsiString ADB = "", const AnsiString ATable = "");
void __fastcall ApplyUpdates(void);
void __fastcall ResyncResult(void);
void __fastcall TableInfoClear(void);
void __fastcall FieldInfoClear(void);
void __fastcall RecInfoClear(void);
void __fastcall GetNextRow(void);
void __fastcall InternalOpenResultBlock(void);
PRecInfo __fastcall GetIndexRecord(int Index);
bool __fastcall CheckChanged(void);
void __fastcall MakeChanged(void);
void __fastcall GetRest(void);
void __fastcall ClearRest(void);
TMySQLDatasetOptions __fastcall GetOptions(void);
void __fastcall SetOptions(const TMySQLDatasetOptions Value);
void __fastcall ParseMacros(AnsiString SQL, const AnsiString AMacroStart, const AnsiString AMacroEnd, bool DoCreate);
protected:
AnsiString FFieldName;
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
void __fastcall ActivateConnection(void);
void __fastcall DeactivateConnection(void);
AnsiString __fastcall GetSelectFields();
AnsiString __fastcall GetMasterAndFilter();
void __fastcall MasterChanged(System::TObject* Sender);
void __fastcall MasterDisabled(System::TObject* Sender);
void __fastcall SetMacros(Db::TParams* Value);
Word __fastcall GetMacroCount(void);
AnsiString __fastcall GetMacroString();
void __fastcall SetMacroString(AnsiString Value);
virtual void __fastcall SetFiltered(bool Value);
virtual void __fastcall SetFilterText(const AnsiString Value);
void __fastcall InternalOpenResult(void);
virtual void __fastcall InternalOpen(void);
virtual void __fastcall InternalRefresh(void);
virtual void __fastcall InternalEdit(void);
virtual void __fastcall InternalCancel(void);
virtual void __fastcall InternalInitFieldDefs(void);
virtual void __fastcall InternalClose(void);
virtual bool __fastcall IsCursorOpen(void);
virtual bool __fastcall GetCanModify(void);
virtual void __fastcall GetBookmarkData(char * Buffer, void * Data);
virtual void __fastcall SetBookmarkData(char * Buffer, void * Data);
virtual Db::TBookmarkFlag __fastcall GetBookmarkFlag(char * Buffer);
virtual void __fastcall SetBookmarkFlag(char * Buffer, Db::TBookmarkFlag Value);
virtual void __fastcall InternalSetToRecord(char * Buffer);
virtual void __fastcall InternalGotoBookmark(void * Bookmark);
virtual int __fastcall GetRecordCount(void);
virtual char * __fastcall AllocRecordBuffer(void);
virtual void __fastcall ClearRecordBuffer(char * &Buffer);
virtual void __fastcall FreeRecordBuffer(char * &Buffer);
virtual Db::TGetResult __fastcall GetRecord(char * Buffer, Db::TGetMode GetMode, bool DoCheck);
virtual Word __fastcall GetRecordSize(void);
virtual void __fastcall InternalInitRecord(char * Buffer);
virtual void __fastcall InternalInsert(void);
void __fastcall StartTransaction(void);
void __fastcall CommitTransaction(void);
void __fastcall RollbackTransaction(void);
virtual void __fastcall InternalAddRecord(void * Buffer, bool Append);
virtual void __fastcall InternalPost(void);
virtual void __fastcall InternalDelete(void);
virtual void __fastcall SetFieldData(Db::TField* Field, void * Buffer)/* overload */;
virtual void __fastcall InternalFirst(void);
virtual void __fastcall InternalLast(void);
virtual int __fastcall GetRecNo(void);
virtual void __fastcall SetRecNo(int Value);
virtual void __fastcall InternalHandleException(void);
void __fastcall SetReadOnly(bool Value);
bool __fastcall GetParamCheck(void);
void __fastcall SetParamCheck(bool Value);
bool __fastcall GetUseCursor(void);
void __fastcall SetUseCursor(bool Value);
bool __fastcall GetCachedUpdates(void);
void __fastcall SetCachedUpdates(bool Value);
bool __fastcall GetShareConnection(void);
void __fastcall SetShareConnection(bool Value);
void __fastcall SetServer(Mysqlserver::TMySQLServer* Value);
void __fastcall SetDatabaseName(AnsiString Value);
bool __fastcall GetRawData(void);
void __fastcall SetRawData(bool Value);
void __fastcall SetFieldName(AnsiString Value);
void __fastcall SetSQL(Classes::TStrings* Value);
void __fastcall SetSQLUpdate(Classes::TStrings* Value);
void __fastcall SetSQLInsert(Classes::TStrings* Value);
void __fastcall SetSQLDelete(Classes::TStrings* Value);
void __fastcall SetSQLBatch(Classes::TStrings* Value);
void __fastcall SetSQLCached(Classes::TStrings* Value);
void __fastcall SetResultType(TMySQLResultOptions Value);
void __fastcall ParseAllSQL(void);
virtual bool __fastcall GetActiveRecBuf(char * &RecBuf);
AnsiString __fastcall GetBlobData(Db::TField* Field, char * Buffer);
void __fastcall SetBlobData(Db::TField* Field, char * Buffer, AnsiString Value);
virtual void __fastcall CloseBlob(Db::TField* Field);
virtual void __fastcall ClearCalcFields(char * Buffer);
virtual bool __fastcall GetIsIndexField(Db::TField* Field);
virtual TMetaClass* __fastcall GetFieldClass(Db::TFieldType FieldType);
TMySQLStringTypes __fastcall GetStringType(Db::TField* Sender);
AnsiString __fastcall GetStringValues(Db::TField* Sender);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -