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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adodatadriverdesigneh.pas

?? EHlib CN For Delphi2009
?? PAS
字號:
{*******************************************************}
{                                                       }
{                     EhLib v4.0                        }
{                                                       }
{         TADODesignDataBaseEh (Build 4.2.23)           }
{                                                       }
{     Copyright (c) 2004-2007 by Dmitry V. Bolshakov    }
{                                                       }
{*******************************************************}

unit ADODataDriverDesignEh;

{$I EHLIB.INC}

interface

{$IFDEF CIL}

//{$R DBXDataDriverEh.TDBXDataDriverEh.bmp}
{$R ADODataDriverEh.TADODataDriverEh.bmp}
//{$R BDEDataDriverEh.TBDEDataDriverEh.bmp}

{$ENDIF}

uses Windows, SysUtils, Classes, Controls, DB,
{$IFDEF EH_LIB_6} Variants, {$ENDIF}
{$IFDEF EH_LIB_5} Contnrs, {$ENDIF}
  ToolCtrlsEh, DBCommon, MemTableDataEh, DataDriverEh, ADODB, Dialogs,
  SQLDriverEditEh, ADODataDriverEh, ComCtrls, MemTableEh, Forms,
  UpdateSQLEditEh;

type

(*{ IADODesignDataBaseEh }

  IADODesignDataBaseEh = interface
  ['{9E53BD33-4E5E-414F-9E4A-4980A8F7637A}']
    function GetConnection: TADOConnection;
  end;*)

{ TADODesignDataBaseEh }

  TADODesignDataBaseEh = class(TDesignDataBaseEh)//, IADODesignDataBaseEh)
  private
    FTablesMT: TMemTableEh;
    FColumnsMT: TMemTableEh;
    FConnection: TADOConnection;
    FTreeNodeMan: TCustomDBService;
    FDBServiceClass: TCustomDBServiceClass;
    FApplicationConnection: TADOConnection;
    procedure SetApplicationConnection(const Value: TADOConnection);
  protected
    function GetConnected: Boolean; override;
    procedure SetConnected(const Value: Boolean); override;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  public
    constructor Create;
    destructor Destroy; override;
    function GetEngineName: String; override;
    function ServerTypeName: String;
    function CreateDesignCopy(RTDataDriver: TCustomSQLDataDriverEh): TCustomSQLDataDriverEh; override;
    function DesignDataBaseConnetionEqual(DataDriver: TCustomSQLDataDriverEh): Boolean; override;
    function Execute(Command: TCustomSQLCommandEh; var Cursor: TDataSet; var FreeOnEof: Boolean): Integer; override;
    function GetConnection: TADOConnection;
    function BuildUpdates(DataDriver: TCustomSQLDataDriverEh): Boolean; override;
    function CreateReader(SQL: String; FParams: TParamsArr): TDataSet; override;
    function BuildObjectTree(List: TList): Boolean; override;
//    function BuildInformixObjectTree(TreeView: TTreeView): Boolean;
    function BuildInterbaseObjectTree2(TreeView: TTreeView): Boolean;
    function BuildOracleObjectTree(TreeView: TTreeView): Boolean;
    function GetFieldList(const TableName: string; DataSet: TDataSet): Boolean; override;
    function GetSpecParamsList: String; override;
    function SupportCustomSQLDataDriver: Boolean; override;
    function GetCustomDBService: TCustomDBService; override;
    procedure EditDatabaseParams; override;
    property DBServiceClass: TCustomDBServiceClass read FDBServiceClass;
    property ApplicationConnection: TADOConnection read FApplicationConnection write SetApplicationConnection; 
  end;

{ TADOAccessEngineEh }

  TADOAccessEngineEh = class(TAccessEngineEh)
    function AccessEngineName: String; override;
    function CreateDesignDataBase(DataDriver: TCustomSQLDataDriverEh;
      DBServiceClass: TCustomDBServiceClass; DataBaseName: String): TDesignDataBaseEh; override;
//    function CreateDesignDataBase(DataDriver: TCustomSQLDataDriverEh): TDesignDataBaseEh; override;
  end;

{ TADODesignDataBaseEh }

  TADOUniService = class(TCustomDBService)
  private
    FDesignDB: TDesignDataBaseEh;
    FSpecPraramsService: TCustomDBService;
    FNoAskForSpecPraramsService: Boolean;
  protected
    function CreateReader(SQL: String; FParams: TParamsArr): TDataSet; override;
  public
    constructor Create(ADesignDB: TDesignDataBaseEh); override;
    destructor Destroy; override;
    function GetSpecParamsList: String; override;
    function ShowPopup(Source: TObject; Coord: TPoint; Params: TServicePopupParams): Integer; override;
    procedure GenGetSpecParams(DesignUpdateParams: TDesignUpdateParamsEh;
      DesignUpdateInfo: TDesignUpdateInfoEh); override;
    class function GetDBServiceName: String; override;
  end;

procedure UnregisterADOAccessEngines;
procedure RegisterADOAccessEngines;

procedure Register;

implementation

uses
{$IFDEF CIL}
  Borland.Vcl.Design.AdoConEd,
  Borland.Vcl.Design.AdoDBReg,
{$ELSE}
  AdoConEd,
{$ENDIF}
{$IFDEF DESIGNTIME}
	MemTableDesignEh,
{$IFDEF CIL}
  Borland.Vcl.Design.DesignIntf,
  Borland.Vcl.Design.DesignEditors,
{$ELSE}
  {$IFDEF EH_LIB_6}
     DesignIntf,
     DesignEditors,
  {$ELSE} //EH_LIB_6
      DsgnIntf,
  {$ENDIF}
  DBReg,
  ADOReg,
{$ENDIF}
{$ENDIF}
FormSelectFromList, DesignConnectionListEh, SelectFromListDialog;

(* 賅

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色哟哟在线观看一区二区三区| 精品一区二区免费视频| 国产三级欧美三级| 久久综合九色综合97婷婷| 精品美女一区二区| 久久久不卡网国产精品二区| 国产区在线观看成人精品| 国产欧美精品一区二区色综合朱莉| 久久久精品国产免大香伊| 国产精品蜜臀av| 亚洲欧美另类小说| 视频一区视频二区中文字幕| 日本视频中文字幕一区二区三区| 美女高潮久久久| 国产高清在线精品| 99国产精品视频免费观看| 欧美无砖专区一中文字| 7777精品伊人久久久大香线蕉| 欧美电影免费提供在线观看| 国产欧美精品一区aⅴ影院| 亚洲视频一二三| 日韩激情av在线| 国产成人h网站| 在线免费视频一区二区| 538prom精品视频线放| 亚洲精品一线二线三线无人区| 久久久欧美精品sm网站| 亚洲精品第1页| 久久99精品国产.久久久久久| 成人毛片视频在线观看| 欧美日韩精品免费| 久久久久久97三级| 亚洲第一搞黄网站| 精彩视频一区二区三区| 一本大道av一区二区在线播放| 欧美一区二区成人| 国产精品国产三级国产aⅴ原创| 亚洲日本免费电影| 久久av老司机精品网站导航| www.色精品| 亚洲精品一区二区精华| 亚洲精品国产成人久久av盗摄| 久久 天天综合| 91免费看`日韩一区二区| 日韩美女主播在线视频一区二区三区| 国产区在线观看成人精品| 亚洲国产综合在线| 丁香啪啪综合成人亚洲小说| 欧美日韩亚洲综合在线| 国产精品久久久久久久久快鸭 | 91精品国产综合久久久久久久久久| 国产女人水真多18毛片18精品视频| 亚洲午夜激情av| 99久久国产综合精品女不卡| 精品乱码亚洲一区二区不卡| 亚洲一二三级电影| 色屁屁一区二区| 亚洲日本乱码在线观看| 成人免费观看视频| 日本一区二区三区国色天香| 久久99久久99精品免视看婷婷 | 成人三级在线视频| 久久这里只有精品视频网| 日本 国产 欧美色综合| 欧美日韩1区2区| 高清在线成人网| 欧美日韩国产a| 亚洲一区免费视频| 色哟哟国产精品| 亚洲三级在线播放| 91网页版在线| 一区二区三区不卡视频| 91麻豆视频网站| 亚洲一区二区三区国产| 91麻豆免费在线观看| 日韩一区中文字幕| 91美女在线看| 五月天久久比比资源色| 欧美美女一区二区在线观看| 亚洲成人综合在线| 欧美日韩aaaaa| 久久爱www久久做| 久久精品视频免费| 成人av免费在线观看| 亚洲视频资源在线| 欧美色区777第一页| 丝袜诱惑亚洲看片| 日韩欧美卡一卡二| 国产91精品露脸国语对白| 中文字幕乱码一区二区免费| 日韩视频一区在线观看| 精品一区二区三区在线播放视频| 精品国产一区二区精华| 成人毛片老司机大片| 亚洲成av人影院在线观看网| 日韩女优av电影| 波多野结衣视频一区| 亚洲第一福利视频在线| 天天免费综合色| 看电视剧不卡顿的网站| 男女视频一区二区| 欧美国产日韩一二三区| 欧美色手机在线观看| 看片网站欧美日韩| 玉足女爽爽91| 精品入口麻豆88视频| 成人av资源在线观看| 香蕉久久一区二区不卡无毒影院| 精品对白一区国产伦| 日本韩国欧美国产| 精品一区二区免费在线观看| 国产精品久久久久影院| 欧美精品色综合| 成人午夜电影网站| 亚洲va韩国va欧美va精品| 国产亚洲自拍一区| 91麻豆精品国产91久久久久久| 成人h动漫精品| 免费在线一区观看| 一区二区三区四区中文字幕| 久久影院视频免费| 欧美三级中文字幕| 99re这里只有精品视频首页| 激情综合亚洲精品| 亚洲第一久久影院| 一区二区视频在线| 国产欧美一区二区三区在线老狼| 91精品国产高清一区二区三区蜜臀| 成人av在线网| 国产精品1024久久| 久久 天天综合| 麻豆一区二区三| 五月天激情小说综合| 亚洲乱码国产乱码精品精可以看| 国产午夜精品一区二区| 日韩欧美中文字幕精品| 欧美区在线观看| 欧美日韩大陆一区二区| 欧美性色黄大片| 在线观看日韩毛片| 日本高清不卡视频| 99精品视频一区二区| 国产精品亚洲成人| 国产一本一道久久香蕉| 久久精品国产精品亚洲精品| 五月婷婷激情综合| 日韩av不卡一区二区| 日韩电影在线看| 免费看黄色91| 韩国一区二区三区| 极品少妇xxxx偷拍精品少妇| 日韩av一二三| 精品一区二区三区免费播放| 久草这里只有精品视频| 精品亚洲porn| 国产成人免费在线| 97se亚洲国产综合自在线| 91猫先生在线| 欧美日本在线看| 日韩网站在线看片你懂的| 欧美电影免费观看高清完整版在线观看 | 日本不卡一二三区黄网| 久久精品国产在热久久| 久久精品国产在热久久| 国产一区二区三区四区在线观看| 久久精品国产成人一区二区三区| 国产美女一区二区| 91香蕉视频在线| 9191成人精品久久| 国产日韩欧美a| 亚洲欧美韩国综合色| 日韩电影一二三区| 国产91清纯白嫩初高中在线观看| 97se亚洲国产综合自在线| 欧美精三区欧美精三区| 久久人人97超碰com| 一区精品在线播放| 日韩av在线播放中文字幕| 国产精品综合视频| 色综合久久精品| 欧美成人欧美edvon| 中文字幕日本不卡| 日韩二区在线观看| 成人国产一区二区三区精品| 欧洲一区在线观看| 久久精品欧美一区二区三区不卡| 亚洲精品亚洲人成人网在线播放| 日韩激情视频在线观看| 懂色av一区二区三区免费看| 欧美三级三级三级| 国产欧美综合色| 蜜桃一区二区三区在线| 色综合天天狠狠| 久久夜色精品国产欧美乱极品| 亚洲人成小说网站色在线| 玖玖九九国产精品| 欧美性生活影院| 国产精品国产三级国产普通话99| 喷水一区二区三区| 在线观看免费亚洲|