亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? myldbmain.pas

?? 一個(gè)本地database引擎,支持中文T_Sql查詢(xún),兼容DELPHI標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)控件
?? PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
   FIndexFieldCount:                Integer;
   FIndexFieldMap:                  array of Word;
   FKeySize:                        Integer;
   FDBFlags:                        TMYLDBDBFlags;
   FDatabase:                       TMYLDBDatabase;
   FDatabaseName:                   String;
   FInMemory:                       Boolean;
   FReadOnly:                       Boolean;
   FStoreDefs:                      Boolean;  // for FFieldDefs
   FEditRecordBuffer:               TMYLDBRecordBuffer; // for storing record on edit
   FMYLDBConstraintDefs:              TMYLDBConstraintDefs;  // Constraint definitions
   FExternalHandle:                 TMYLDBCursor;
{$IFDEF D6H}
   FOnUpdateRecord: TUpdateRecordEvent;
{$ENDIF}
  protected
   FIndexDefs:                      TIndexDefs; // index definitions
   FMYLDBFieldDefs:                   TMYLDBFieldDefs; // fields definitions
   FMYLDBIndexDefs:                   TMYLDBIndexDefs; // indexes definitions
   FAdvIndexDefs:                   TMYLDBAdvIndexDefs; // index definitions
   FAdvFieldDefs:                   TMYLDBAdvFieldDefs; // USER fields definitions
   FRestructureIndexDefs:           TMYLDBAdvIndexDefs; // restructure index definitions
   FRestructureFieldDefs:           TMYLDBAdvFieldDefs; // restructure field definitions
   FKeyBuffers:                     array[TMYLDBKeyIndex] of TMYLDBRecordBuffer;
   FKeyBuffer:                      TMYLDBRecordBuffer;
   FIsRefreshing:                   Boolean;
   FIgnoreDesignMode:               Boolean; // 5.05
{$IFDEF D6H}
   // IProviderSupport
   function PSGetUpdateException(E: Exception; Prev: EUpdateError): EUpdateError; override;
   function PSIsSQLSupported: Boolean; override;
   procedure PSReset; override;
   function PSUpdateRecord(UpdateKind: TUpdateKind; Delta: TDataSet): Boolean; override;
   procedure PSStartTransaction; override;
   procedure PSEndTransaction(Commit: Boolean); override;
   function PSExecuteStatement(const ASQL: string; AParams: TParams; ResultSet: Pointer = nil): Integer; override;
   procedure PSGetAttributes(List: TList); override;
   function PSGetQuoteChar: string; override;
   function PSInTransaction: Boolean; override;
   function PSIsSQLBased: Boolean; override;
{$ENDIF}
   function InitKeyBuffer(Buffer: TMYLDBRecordBuffer): TMYLDBRecordBuffer;
   procedure AllocKeyBuffers;
   procedure FreeKeyBuffers;
   // field defs support
   function FieldDefsStored: Boolean;
   // index defs support
   function IndexDefsStored: Boolean;
   // set index definitions
   procedure SetIndexDefs(Value: TIndexDefs);
   // get active buffer
   function GetActiveRecordBuffer: PChar;
   procedure CheckDBSessionName;
   function GetDBHandle: TMYLDBBaseSession;
   function GetDBSession: TMYLDBSession;
   procedure CheckInMemoryDatabaseName;
   procedure SetDatabaseName(const Value: string);
   procedure SetSessionName(const Value: string);
   procedure SetInMemory(const Value: Boolean);
   function GetCurrentVersion: String;
   property IgnoreDesignMode: Boolean read FIgnoreDesignMode write FIgnoreDesignMode;
  protected
   procedure OpenCursor(InfoQuery: Boolean); override;
   procedure CloseCursor; override;
   procedure Disconnect; virtual;
   procedure SetDBFlag(Flag: Integer; Value: Boolean); virtual;
   function CreateHandle: TMYLDBCursor; virtual;
   procedure DestroyHandle; virtual;
   function GetCanModify: Boolean; override;

   procedure DateTimeConvert(Field: TField; Source, Dest: Pointer; ToNative: Boolean);
   procedure DataConvert(Field: TField; Source, Dest: Pointer; ToNative: Boolean);
{$IFDEF D5H}
    override;
{$ENDIF}
   procedure SetActive(Value: Boolean); override;

   //---------------------------------------------------------------------------
   // indexes and ranges
   //---------------------------------------------------------------------------

   procedure SwitchToIndex(const IndexName: string);
   function GetIsIndexField(Field: TField): Boolean; override;
   procedure GetIndexInfo;
   function ResetCursorRange: Boolean;

   //---------------------------------------------------------------------------
   // navigation & bookmark methods
   //---------------------------------------------------------------------------

   // clear calculated fields
   procedure ClearCalcFields(Buffer: PChar); override;
   procedure InternalRefresh; override;
   function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override;
  public
   function GetCurrentRecord(Buffer: PChar): Boolean; override;
  protected
   // return record count
   function GetRecordCount: Integer; override;
   // go to record
   procedure SetRecNo(Value: Integer); override;
   // return current record number
   function GetRecNo: Integer; override;
   // go to first record
   procedure InternalFirst; override;
   // go to last record
   procedure InternalLast; override;
   // go to record in buffer
   procedure InternalSetToRecord(Buffer: PChar); override;
   // get bookmark flag
   function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; override;
   // get bookmark data
   procedure GetBookmarkData(Buffer: PChar; Data: Pointer); override;
   // go to bookmark
   procedure InternalGotoBookmark(Bookmark: Pointer); override;
   // set flag
   procedure SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag); override;
   // set data
   procedure SetBookmarkData(Buffer: PChar; Data: Pointer); override;
  public
   // compare bookmarks
   function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; override;
   // checks if bookmark is valid
   function BookmarkValid(Bookmark: TBookmark): Boolean; override;
  protected

   //---------------------------------------------------------------------------
   // Filters and search
   //---------------------------------------------------------------------------

   // for OnFilterRecord Event
   function IsOnFilterRecordApplied: Boolean;
  public
   function InternalFilterRecord(Buffer: TMYLDBRecordBuffer): Boolean;
   function FilterRecord(Buffer: TMYLDBRecordBuffer; Dataset: Pointer): Boolean;
  protected
   procedure SetOnFilterRecord(const Value: TFilterRecordEvent); override;
   function IsIndexApplied: Boolean;
   procedure PrepareCursor; virtual;
  public
   // set SQL Filter
   procedure SetSQLFilter(FilterExpr: TObject; ParentQueryAO: TObject; ParentCursor: TMYLDBCursor);
   // apply projection
   procedure ApplyProjection(FieldNamesList, AliasList: TStringList);
   // FindFirst, FindNext, Filters
   procedure ActivateFilters;
   procedure DeactivateFilters;
   procedure SetFilterData(const Text: string; Options: TFilterOptions);
   procedure SetFiltered(Value: Boolean); override;
   procedure SetFilterOptions(Value: TFilterOptions); override;
   procedure SetFilterText(const Value: string); override;
   function FindRecord(Restart, GoForward: Boolean): Boolean; override;
   function LocateRecord(
                         const KeyFields: String;
                         const KeyValues: Variant;
                         Options:         TLocateOptions
                        ): Boolean;
  public
   function Locate(const KeyFields: string; const KeyValues: Variant;
      Options: TLocateOptions): Boolean; override;
   function Lookup(const KeyFields: string; const KeyValues: Variant;
      const ResultFields: string): Variant; override;

   //---------------------------------------------------------------------------
   // insert, edit, post, delete methods
   //---------------------------------------------------------------------------
  protected
   procedure InitRecord(Buffer: PChar); override;
   // appending table (Append flag - ignored, record will be inserted at first empty position)
   procedure InternalAddRecord(Buffer: Pointer; Append: Boolean); override;
   // insert record
   procedure InternalInsert; override;
   // edit record
   procedure InternalEdit; override;
   // cancels updates
   procedure InternalCancel; override;
   // update record
   procedure InternalPost; override;
   // delete record
   procedure InternalDelete; override;

   //---------------------------------------------------------------------------
   // open, close methods
   //---------------------------------------------------------------------------

   procedure InternalHandleException; override;
   function IsCursorOpen: Boolean; override;
   procedure InternalOpen; override;
   procedure InternalClose; override;
   procedure InternalInitFieldDefs; override;


   //---------------------------------------------------------------------------
   // general methods
   //---------------------------------------------------------------------------

   // copy records and return error log
   function CopyRecords(DestinationDataset: TDataset): String;
   function InternalCopyRecords(SourceDataset: TDataset;
                                DestinationDataset: TDataset;
                                var Log: String;
                                var Continue: Boolean;
                                IgnoreErrors: Boolean = True;
                                RestructuringTable: Boolean = False;
                                ProgressEvent: TMYLDBProgressEvent = nil;
                                MinProgress: Integer = 0;
                                MaxProgress: Integer = 100
                               ): Boolean;

   // allocate record buffer
   function AllocRecordBuffer: PChar; override;
   // free record buffer
   procedure FreeRecordBuffer(var Buffer: PChar); override;
   // initialize record buffer
   procedure InternalInitRecord(Buffer: PChar); override;
   // return record size in bytes
   function GetRecordSize: Word; override;
   // return true if range is applied
   function IsRangeApplied: Boolean;
  public
   // return true if distinct is applied
   function IsDistinctApplied: Boolean;

  protected
   property DBFlags: TMYLDBDBFlags read FDBFlags;
  public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
   function OpenDatabase: TMYLDBDatabase;
   procedure CloseDatabase(Database: TMYLDBDatabase);
   // read field data to current record buffer
   function GetFieldData(Field: TField; Buffer: Pointer): Boolean; override;
  protected
   // write field data from buffer to current record buffer
   procedure SetFieldData(Field: TField; Buffer: Pointer); override;
  public
   procedure GetFieldValue(Value: TMYLDBVariant; FieldNo: Integer; DirectAccess: Boolean);
   procedure SetFieldValue(Value: TMYLDBVariant; FieldNo: Integer; DirectAccess: Boolean);
   procedure CopyFieldValue(SrcFieldNo: Integer; UseDirectFieldAccess: Boolean;
                            DestFieldNo: Integer; DestDataset: TMYLDBDataset);
   // create blob stream
  private
   function InternalCreateBlobStream(
    					Field: TField;
              Mode: TBlobStreamMode
              ): TMYLDBStream;
  public
   // create TMYLDBBlobStream
   function CreateBlobStream(
    					Field: TField;
              Mode: TBlobStreamMode
              ): TStream; override;
    // close blob stream, write blob field value to blob data file
    procedure CloseBlob(Field: TField); override;

    // Get list of names of all database components
    procedure GetDatabaseNameList(List: TStrings);
  public
   property Handle: TMYLDBCursor read FHandle;
   property Database: TMYLDBDatabase read FDatabase;
//   property DBHandle: TMYLDBBaseSession read GetDBHandle;
   property DBSession: TMYLDBSession read GetDBSession;
   // index definitions, used by CreateTable;
   property IndexDefs: TIndexDefs read FIndexDefs write SetIndexDefs stored IndexDefsStored;
   // field definitions, used by CreateTable;
   property FieldDefs stored FieldDefsStored;
   // index definitions, used by CreateTable;
   property AdvIndexDefs: TMYLDBAdvIndexDefs read FAdvIndexDefs;
   // field definitions, used by CreateTable;
   property AdvFieldDefs: TMYLDBAdvFieldDefs read FAdvFieldDefs;
   property KeySize: Integer read FKeySize;
   property StoreDefs: Boolean read FStoreDefs write FStoreDefs default False;
  published
   property CurrentVersion: String read GetCurrentVersion write FCurrentVersion;
   // fielddefs support
   property DatabaseName: String read FDatabaseName write SetDatabaseName;
   property SessionName: String read FSessionName write SetSessionName;
   property InMemory: Boolean read FInMemory write SetInMemory;
   property ReadOnly: Boolean read FReadOnly write FReadOnly;

   property Active;
   property AutoCalcFields;
   property Filter;
   property Filtered;
   property FilterOptions;
   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;
{$IFDEF D5H}
   property BeforeRefresh;
   property AfterRefresh;
{$ENDIF}
   property OnCalcFields;
   property OnDeleteError;
   property OnEditError;
   property OnFilterRecord;
   property OnNewRecord;
   property OnPostError;
{$IFDEF D6H}
   property OnUpdateRecord: TUpdateRecordEvent read FOnUpdateRecord write FOnUpdateRecord;
{$ENDIF}
 end; // TMYLDBDataset



 TMYLDBExportToSqlOptions = class(TPersistent)
  private
   FStructure:            Boolean;
   FAddDropTable:         Boolean;
   FBlobSettings:         Boolean;
   FData:                 Boolean;
   FFieldNamesInInserts:  Boolean;
  public

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va| 毛片av一区二区| 一区二区视频免费在线观看| 欧美激情一区二区三区不卡 | 亚洲欧洲av另类| 日本一区二区视频在线观看| 国产视频一区二区三区在线观看| 久久先锋资源网| 久久精品一区二区三区不卡| 欧美激情在线看| 亚洲视频一二三区| 亚洲综合色噜噜狠狠| 午夜不卡av免费| 97精品久久久久中文字幕 | 欧美韩国一区二区| 国产精品丝袜一区| 亚洲激情中文1区| 亚洲h动漫在线| 六月婷婷色综合| 成人毛片视频在线观看| 一本色道久久加勒比精品| 欧美日免费三级在线| 日韩丝袜情趣美女图片| 日韩一卡二卡三卡| 欧美精品一区二| 国产精品高清亚洲| 亚洲午夜精品久久久久久久久| 天天免费综合色| 国产一区二区三区日韩| 91麻豆国产香蕉久久精品| 欧美精选一区二区| 日本一区二区视频在线观看| 亚洲国产一区二区在线播放| 激情图片小说一区| 99r国产精品| 欧美一区二区三区视频在线观看| 久久久久久亚洲综合影院红桃| 亚洲精品日产精品乱码不卡| 免费在线观看日韩欧美| 不卡高清视频专区| 91.成人天堂一区| 国产精品天天摸av网| 亚洲成av人片| 成人白浆超碰人人人人| 欧美日韩精品三区| 国产欧美一区二区三区在线老狼| 亚洲午夜久久久久久久久电影网| 国产揄拍国内精品对白| 欧美最猛黑人xxxxx猛交| 久久人人爽爽爽人久久久| 亚洲一区二区av在线| 国产一区二区福利视频| 欧美三级日韩三级国产三级| 国产精品嫩草影院av蜜臀| 免费看欧美美女黄的网站| 91在线免费看| 久久久精品影视| 日本中文字幕不卡| 91一区一区三区| 久久久久久免费| 五月婷婷另类国产| 成人白浆超碰人人人人| 亚洲精品一线二线三线无人区| 亚洲国产成人av好男人在线观看| 成人午夜av电影| 欧美sm极限捆绑bd| 丝袜亚洲另类欧美综合| 色噜噜夜夜夜综合网| 久久久久久**毛片大全| 蜜臀av一区二区| 欧美另类一区二区三区| 亚洲人成网站色在线观看| 国产suv一区二区三区88区| 欧美xxx久久| 日韩精品国产欧美| 在线观看91精品国产入口| 18涩涩午夜精品.www| 国产jizzjizz一区二区| 精品福利视频一区二区三区| 视频在线观看一区| 欧美唯美清纯偷拍| 亚洲精品你懂的| 色综合中文字幕| 一色屋精品亚洲香蕉网站| 国产成人综合自拍| 久久久久88色偷偷免费| 国产一区二区h| 精品sm在线观看| 久久99日本精品| 精品人在线二区三区| 免费成人av在线播放| 欧美一级片免费看| 日韩国产精品久久| 777欧美精品| 免费在线观看一区二区三区| 日韩一区二区高清| 麻豆91在线播放免费| 日韩欧美123| 韩国精品主播一区二区在线观看| 日韩欧美精品三级| 激情五月激情综合网| 久久久久免费观看| 粉嫩一区二区三区在线看| 国产精品色哟哟网站| jlzzjlzz亚洲日本少妇| 国产精品久久久久久久久免费桃花| 成人午夜视频在线观看| 国产精品久久网站| 色欧美片视频在线观看| 一区二区三区波多野结衣在线观看 | 麻豆成人av在线| 2欧美一区二区三区在线观看视频| 精久久久久久久久久久| 国产农村妇女毛片精品久久麻豆| 成人免费三级在线| 亚洲另类一区二区| 制服丝袜亚洲色图| 久久丁香综合五月国产三级网站 | 日韩成人午夜电影| 欧美大片在线观看一区| 国产精一区二区三区| 国产精品入口麻豆原神| 95精品视频在线| 亚洲aaa精品| 精品国产凹凸成av人网站| 成人av片在线观看| 亚洲电影视频在线| 日韩精品自拍偷拍| 成人一区在线观看| 亚洲一区二区欧美日韩 | 日韩av中文在线观看| 亚洲精品一区二区在线观看| va亚洲va日韩不卡在线观看| 亚洲777理论| 国产日韩欧美激情| 欧美伊人精品成人久久综合97| 日韩av电影天堂| 日本一区二区久久| 欧美日韩中文精品| 国产一区二区三区蝌蚪| 亚洲色欲色欲www| 91精品国产综合久久精品性色| 国产精品一线二线三线| 一区二区三区四区中文字幕| 欧美一区二区三区性视频| 国产精品18久久久久久vr| 一区二区三区加勒比av| 久久人人爽爽爽人久久久| 在线观看日韩毛片| 国产精品夜夜嗨| 亚洲成人自拍网| 欧美激情一区二区| 91精品欧美综合在线观看最新 | 欧美日韩国产高清一区| 国产成人精品一区二区三区四区| 一区二区三区中文字幕| xnxx国产精品| 欧美午夜精品久久久久久超碰| 国产乱码精品一区二区三区忘忧草| 亚洲综合色网站| 国产精品日韩精品欧美在线| 日韩一区二区三区av| 99久久精品国产导航| 国产一区二区三区美女| 日本午夜精品一区二区三区电影 | 91同城在线观看| 国产一区欧美日韩| 三级欧美韩日大片在线看| 亚洲人妖av一区二区| 国产色91在线| 日韩三区在线观看| 欧洲av在线精品| voyeur盗摄精品| 国产福利91精品一区| 久久精品av麻豆的观看方式| 亚洲愉拍自拍另类高清精品| 国产精品毛片大码女人| 久久这里只有精品首页| 91精品国产品国语在线不卡| 日本精品一区二区三区高清 | 91免费观看视频在线| 国产精品一二三四| 黄色精品一二区| 日本亚洲免费观看| 日韩国产欧美视频| 午夜不卡av免费| 亚洲大尺度视频在线观看| 亚洲理论在线观看| 亚洲视频 欧洲视频| 国产精品灌醉下药二区| 欧美国产亚洲另类动漫| 国产午夜精品久久久久久久| 精品国产一区二区三区久久影院| 91精品国产入口| 欧美精品第1页| 欧美久久久久久久久久| 欧美日韩国产综合一区二区三区| 91福利社在线观看| 欧美性猛交xxxx黑人交| 在线观看免费一区|