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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mysqlclient.pas

?? 通過Tmysql來訪問MSQL Server數(shù)據(jù)庫的應(yīng)用案例.
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit mySQLClient;

{
  Unit:    TmySQLClient - Common Data Structures
  Project: TmySQL - http://www.productivity.org/projects/tmysql
  Author:  Justin P. Yunke <yunke@productivity.org>
  Date:    November 1998 - January 2002
  ** Join the TmySQL mailing list at http://www.elists.org **

  Copyrights/Credits:
    Parts Copyright (c) 2001 Justin P. Yunke <yunke@productivity.org>
    Parts Copyright (c) 2001 Ken Kyler
    MySQL AB (mySQL software and component bitmap art)
    Bob Silva <bsilva@umesd.k12.or.us> (_libmysql.pas)

  License:
    Open Source.  You must retain copyrights and distribution information
    listed in these files.

  Description:
    This Delphi VCL/Custom Component set allows TCP/IP-based connections
  to mySQL servers, and support code to allow full use of the libmysql.DLL
  library provided by TcX for mysql.
    Programmers can either use mySQLClient VCL directly, or indirectly
  by using the TmySQLDB VCLs (see mySQLDB.pas).

  Requirements:
    Delphi 3.0 (I believe)
    libmysql.dll dated 1/5/99 or later

  Date Log:

  8/9/2001: Tons of undocumented changes over many months.

  1/6/99: Refreshed log.  Switched some things around to fit a model
  suggested by Ken.  Once we get good documentation up, it'll start to
  make sense.  Today marked an important day due to Monty's fix for the
  libmysql DLL, making it thread safe.  I plan to add many nice Threaded
  goodies/options over the next few weeks.  jy

  1/14/99a: A week later, I have some working Threaded code.  A restructuring
  occurred on how one uses TmySQLClientQuery and TmySQLClientModify.

  1/27/99a: Cleaned up, reviewed code.

  2/14/99a: Major revisions completed over the past two weeks, including the
  implementation of a queuing system for SQL queries/modifications.

  2/16/99a: Generation of TmySQLClientUtility class.  Began work on making
  all utility functions (connect, close, ping, etc.) threaded.  Extensive
  reworking of TmySQLClient VCL events.

  2/16/99b: All utility functions have been moved into the TmySQLClientUtility
  class.  Next step is to build the test app so that it tests everything.

  2/17/99a: Test app built and is running fine.  Complete some minor changes
  and improvements to various functions in mySQLCommon.

  2/22/99a: Minor changes to Refresh and Options capabilities.

  3/8/99: Quick one-line bug fix for queries.

  3/16/99: Spent time bug hunting.

  1/5/00: Major bugfixes and addition of connection timeout.

  7/23/01: Massive memory leak found and removed.
}

interface

uses
  mySQLCommon, Classes, ExtCtrls, mysql;

const
{Last Modification Information}
  TMYSQLCLIENT_VERSION       = '2.1a';
  TMYSQLCLIENT_LAST_MODIFIED = '01.27.2002';
  TMYSQLCLIENT_LAST_AUTHOR   = 'jpy';

  DEFAULT_CONNECTED_TIMEOUT_INTERVAL = 300000; // 5 minutes

{ The TCustom_mySQLClient component is for deriving your own custom components. }
{ Most people will probably use TmySQLClient through the VCL palette.         jy}
type
  TCustom_mySQLClient = class(TComponent)
  private
    FThreaded                 : boolean;

    FSession                  : tmysql;

    FCap                      : integer;

    FTaskHandler              : TmySQLClientTaskHandler;

    FQuery                    : TmySQLClientQuery;
    FModify                   : TmySQLClientModify;
    FUtility                  : TmySQLClientUtility;

    FConnected                : boolean;

    FConnectedTimeoutInterval : integer;
    FConnectedTimer           : TTimer;
    FTimedOut                 : boolean;

    FBlockOnClose             : boolean;

    FDLLPath,
    FHost,
    FUser,
    FPasswd,
    FDb                       : string;
    FPort                     : integer;
    FCapabilities             : TSetClientCapabilities;

    FOnConnect                : TmySQLClientTask_OnComplete;
    FOnConnectError           : TmySQLClientTask_OnError;

    FOnClose                  : TmySQLClientTask_OnComplete;

    FOnQuery                  : TmySQLClientTask_OnComplete;
    FOnQueryError             : TmySQLClientTask_OnError;

    FOnModify                 : TmySQLClientTask_OnComplete;
    FOnModifyError            : TmySQLClientTask_OnError;

    FOnSelectDatabase         : TmySQLClientTask_OnComplete;
    FOnSelectDatabaseError    : TmySQLClientTask_OnError;

    FOnCreateDatabase         : TmySQLClientTask_OnComplete;
    FOnCreateDatabaseError    : TmySQLClientTask_OnError;

    FOnDropDatabase           : TmySQLClientTask_OnComplete;
    FOnDropDatabaseError      : TmySQLClientTask_OnError;

    FOnListDatabases          : TmySQLClientTask_OnComplete;
    FOnListDatabasesError     : TmySQLClientTask_OnError;

    FOnListTables             : TmySQLClientTask_OnComplete;
    FOnListTablesError        : TmySQLClientTask_OnError;

    FOnListFields             : TmySQLClientTask_OnComplete;
    FOnListFieldsError        : TmySQLClientTask_OnError;

    FOnListProcesses          : TmySQLClientTask_OnComplete;
    FOnListProcessesError     : TmySQLClientTask_OnError;

    FOnPing                   : TmySQLClientTask_OnComplete;
    FOnPingError              : TmySQLClientTask_OnError;

    FOnShutdown               : TmySQLClientTask_OnComplete;
    FOnShutdownError          : TmySQLClientTask_OnError;

    FOnKill                   : TmySQLClientTask_OnComplete;
    FOnKillError              : TmySQLClientTask_OnError;

    FOnOptions                : TmySQLClientTask_OnComplete;
    FOnOptionsError           : TmySQLClientTask_OnError;

    FOnRefresh                : TmySQLClientTask_OnComplete;
    FOnRefreshError           : TmySQLClientTask_OnError;

    FOnStatus                 : TmySQLClientTask_OnStatus;

    procedure   SetDLLPath(const S : string);
    function    GetDLLPath : string;

    procedure   SetHostname(const S : string);
    function    GetHostname : string;
    procedure   SetPort(const i : integer);
    function    GetPort : integer;

    procedure   SetUsername(const S : string);
    function    GetUsername : string;
    procedure   SetPassword(const S : string);
    function    GetPassword : string;

    procedure   SetDatabase(const S : string);
    function    GetDatabase : string;

    procedure   SetCapabilities (const C : TSetClientCapabilities);
    function    GetCapabilities : TSetClientCapabilities;

    procedure   SetOnStatus(OS : TmySQLClientTask_OnStatus);
    function    GetOnStatus : TmySQLClientTask_OnStatus;

    function    GetThreaded : boolean;
    procedure   SetThreaded(const b : boolean);

    procedure   _OnConnect(Sender : TObject);
    procedure   _OnClose(Sender : TObject);
    procedure   _OnTimeOut(Sender : TObject);
    procedure   _OnTaskFinished(Sender : TObject);

    procedure   StartTimer;
    procedure   StopTimer;

    function    CreateQuery : TmySQLClientQuery;
    function    CreateModify : TmySQLClientModify;
  protected
    property    Connected             : boolean read FConnected;

    property    BlockOnClose          : boolean read FBlockOnClose write FBlockOnClose;

    property    Threaded              : boolean read GetThreaded  write SetThreaded;

    property    DLLPath               : string read GetDLLPath write SetDLLPath;

    property    Hostname              : string read GetHostname write SetHostname;
    property    Port                  : integer read GetPort write SetPort;

    property    Username              : string read GetUsername write SetUsername;
    property    Password              : string read GetPassword write SetPassword;

    property    Database              : string read GetDatabase write SetDatabase;

    property    ConnectedTimer        : TTimer read FConnectedTimer write FConnectedTimer;
    property    ConnectedTimeOutInterval : integer read FConnectedTimeOutInterval write FConnectedTimeOutInterval;

    property    Capabilities          : TSetClientCapabilities read GetCapabilities write SetCapabilities;

    property    OnConnect             : TmySQLClientTask_OnComplete read FOnConnect      write FOnConnect;
    property    OnConnectError        : TmySQLClientTask_OnError    read FOnConnectError write FOnConnectError;

    property    OnClose               : TmySQLClientTask_OnComplete read FOnClose write FOnClose;

    property    OnQuery               : TmySQLClientTask_OnComplete read FOnQuery         write FOnQuery;
    property    OnQueryError          : TmySQLClientTask_OnError    read FOnQueryError    write FOnQueryError;

    property    OnModify              : TmySQLClientTask_OnComplete read FOnModify write FOnModify;
    property    OnModifyError         : TmySQLClientTask_OnError    read FOnModifyError    write FOnModifyError;

    property    OnSelectDatabase      : TmySQLClientTask_OnComplete read FOnSelectDatabase write FOnSelectDatabase;
    property    OnSelectDatabaseError : TmySQLClientTask_OnError    read FOnSelectDatabaseError write FOnSelectDatabaseError;

    property    OnCreateDatabase      : TmySQLClientTask_OnComplete read FOnCreateDatabase write FOnCreateDatabase;
    property    OnCreateDatabaseError : TmySQLClientTask_OnError    read FOnCreateDatabaseError write FOnCreateDatabaseError;

    property    OnDropDatabase        : TmySQLClientTask_OnComplete read FOnDropDatabase write FOnDropDatabase;
    property    OnDropDatabaseError   : TmySQLClientTask_OnError    read FOnDropDatabaseError write FOnDropDatabaseError;

    property    OnListDatabases       : TmySQLClientTask_OnComplete read FOnListDatabases write FOnListDatabases;
    property    OnListDatabasesError  : TmySQLClientTask_OnError    read FOnListDatabasesError write FOnListDatabasesError;

    property    OnListTables          : TmySQLClientTask_OnComplete read FOnListTables write FOnListTables;
    property    OnListTablesError     : TmySQLClientTask_OnError    read FOnListTablesError write FOnListTablesError;

    property    OnListFields          : TmySQLClientTask_OnComplete read FOnListFields write FOnListFields;
    property    OnListFieldsError     : TmySQLClientTask_OnError    read FOnListFieldsError write FOnListFieldsError;

    property    OnListProcesses       : TmySQLClientTask_OnComplete read FOnListProcesses write FOnListProcesses;
    property    OnListProcessesError  : TmySQLClientTask_OnError    read FOnListProcessesError write FOnListProcessesError;

    property    OnPing                : TmySQLClientTask_OnComplete read FOnPing write FOnPing;
    property    OnPingError           : TmySQLClientTask_OnError    read FOnPingError write FOnPingError;

    property    OnOptions             : TmySQLClientTask_OnComplete read FOnOptions write FOnOptions;
    property    OnOptionsError        : TmySQLClientTask_OnError    read FOnOptionsError write FOnOptionsError;

    property    OnRefresh             : TmySQLClientTask_OnComplete read FOnRefresh write FOnRefresh;
    property    OnRefreshError        : TmySQLClientTask_OnError    read FOnRefreshError write FOnRefreshError;

    property    OnShutdown            : TmySQLClientTask_OnComplete read FOnShutdown write FOnShutdown;
    property    OnShutdownError       : TmySQLClientTask_OnError    read FOnShutdownError write FOnShutdownError;

    property    OnStatus              : TmySQLClientTask_OnStatus  read GetOnStatus write SetOnStatus;
  public
    property    Query   : TmySQLClientQuery   read FQuery   write FQuery;
    property    Modify  : TmySQLClientModify  read FModify  write FModify;
    property    Utility : TmySQLClientUtility read FUtility write FUtility;

    property    TaskHandler : TmySQLClientTaskHandler read FTaskHandler write FTaskHandler;

    constructor Create(AOwner : TComponent); override;
    destructor  Destroy; override;

    procedure   Connect;
    procedure   Close;
    procedure   ForceClose;

    procedure   Execute;
  end;

{ This CLASS is the visual component you will most likely }
{ use.                                                  jy}
  TmySQLClient = class(TCustom_mySQLClient)
  public
    property    Connected;
  published
    property    DLLPath;

    property    Hostname;
    property    Port;

    property    Username;
    property    Password;

    property    Database;

    property    Capabilities;

    property    Threaded;

    property    ConnectedTimeOutInterval;
    property    ConnectedTimer;

    property    BlockOnClose;

    property    OnConnect;
    property    OnConnectError;

    property    OnClose;

    property    OnQuery;
    property    OnQueryError;

    property    OnModify;
    property    OnModifyError;

    property    OnSelectDatabase;
    property    OnSelectDatabaseError;

    property    OnCreateDatabase;
    property    OnCreateDatabaseError;

    property    OnDropDatabase;
    property    OnDropDatabaseError;

    property    OnListDatabases;
    property    OnListDatabasesError;

    property    OnListTables;
    property    OnListTablesError;

    property    OnListFields;
    property    OnListFieldsError;

    property    OnListProcesses;
    property    OnListProcessesError;

    property    OnPing;
    property    OnPingError;

    property    OnRefresh;
    property    OnRefreshError;

    property    OnOptions;
    property    OnOptionsError;

    property    OnShutdown;
    property    OnShutdownError;

    property    OnStatus;
  end;

procedure Register;

implementation

uses
  SysUtils;

constructor TCustom_mySQLClient.Create(AOwner : TComponent);
begin
  inherited Create(AOwner);

  FConnected               :=FALSE;

  FConnectedTimer          :=nil;
  FConnectedTimeOutInterval:=DEFAULT_CONNECTED_TIMEOUT_INTERVAL;
  FTimedOut                :=FALSE;

  FBlockOnClose            :=TRUE;

  FThreaded                :=FALSE;

  FTaskHandler             :=TmySQLClientTaskHandler.Create(FThreaded);
  FTaskHandler.Session     :=@Fsession;
  FTaskHandler.Thread.OnFinished:=_OnTaskFinished;

  FUtility                 :=TmySQLClientUtility.Create;
  FUtility.TaskHandler     :=FTaskHandler;
  FQuery                   :=nil;
  FModify                  :=nil;

  FHost                    :='localhost';
  FUser                    :='';
  FPasswd                  :='';
  FDb                      :='';
  FPort                    :=MYSQL_PORT;
  FCapabilities            :=[_CLIENT_LONG_PASSWORD,_CLIENT_CONNECT_WITH_DB];

  FOnConnect               :=nil;
  FOnConnectError          :=nil;

  FOnQuery                 :=nil;
  FOnQueryError            :=nil;

  FOnModify                :=nil;
  FOnModifyError           :=nil;

  FOnSelectDatabase        :=nil;
  FOnSelectDatabaseError   :=nil;
end;

destructor  TCustom_mySQLClient.Destroy;
begin
  ForceClose;

  FTaskHandler.Free;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品伦理在线| 精品久久久久久亚洲综合网| 欧美国产日产图区| 成人性生交大片免费看视频在线 | 91麻豆免费看片| 自拍视频在线观看一区二区| 欧洲一区二区三区在线| 亚洲亚洲精品在线观看| 777午夜精品视频在线播放| 91丨九色丨蝌蚪富婆spa| 亚洲精品视频在线看| 欧美视频第二页| 日本最新不卡在线| www精品美女久久久tv| 成人自拍视频在线观看| 一区二区日韩av| 91精品免费观看| 国产精品一区二区三区四区| 国产精品国产自产拍在线| 欧美性受xxxx黑人xyx性爽| 日韩精品乱码免费| 国产色产综合产在线视频| 99久久er热在这里只有精品66| 亚洲黄一区二区三区| 欧美一级免费大片| 成人免费看视频| 亚洲bt欧美bt精品777| 精品成人a区在线观看| 成人高清视频在线观看| 天天射综合影视| 国产欧美精品一区二区色综合朱莉 | 制服丝袜在线91| 高清国产午夜精品久久久久久| 一区二区三区四区不卡在线 | 国产91精品久久久久久久网曝门| 亚洲精品一二三四区| 日韩免费电影一区| 91尤物视频在线观看| 日韩vs国产vs欧美| 国产精品久久久久毛片软件| 欧美丰满一区二区免费视频 | 韩国一区二区视频| 亚洲一区二区三区激情| 欧美激情一区不卡| 日韩视频一区二区在线观看| 91麻豆6部合集magnet| 激情av综合网| 午夜伦欧美伦电影理论片| 国产精品区一区二区三| 日韩午夜av一区| 欧美日韩一级片在线观看| 国产精品一区二区在线观看不卡| 亚洲国产乱码最新视频 | 在线观看欧美日本| 国产超碰在线一区| 奇米色777欧美一区二区| 亚洲国产一区二区三区青草影视| 国产精品无人区| 精品国产免费一区二区三区香蕉| 欧美三区在线观看| 91在线无精精品入口| 国产成人综合亚洲91猫咪| 人禽交欧美网站| 三级欧美韩日大片在线看| 亚洲一二三四久久| 亚洲人成精品久久久久久| 国产精品网曝门| 国产三级精品视频| 26uuu色噜噜精品一区| 日韩一区二区精品| 91精品麻豆日日躁夜夜躁| 欧美日韩日本视频| 欧美日韩性生活| 欧美日韩视频专区在线播放| 欧美午夜影院一区| 欧美丝袜丝交足nylons图片| 色婷婷综合久久久中文字幕| 色欲综合视频天天天| 99re6这里只有精品视频在线观看| 国产99久久久精品| 成人黄色小视频| av欧美精品.com| a美女胸又www黄视频久久| 国产91露脸合集magnet| 成人国产精品免费网站| 99精品视频在线播放观看| 成人av片在线观看| 91麻豆精品在线观看| 欧美影院一区二区| 3751色影院一区二区三区| 欧美一区午夜视频在线观看| 日韩欧美国产三级电影视频| 精品久久一二三区| 国产免费观看久久| 亚洲色图一区二区| 亚洲一线二线三线久久久| 日本麻豆一区二区三区视频| 免费高清不卡av| 欧美唯美清纯偷拍| 欧美一卡二卡三卡| 国产亚洲自拍一区| 亚洲女性喷水在线观看一区| 亚洲午夜激情av| 裸体健美xxxx欧美裸体表演| 国产精品羞羞答答xxdd| 色综合久久中文字幕| 欧美日韩国产大片| 久久亚洲综合av| 亚洲欧美日韩人成在线播放| 一区二区三区视频在线看| 视频一区视频二区中文字幕| 国产一区二区在线观看免费| av在线综合网| 欧美三级一区二区| 国产亚洲1区2区3区| 亚洲激情自拍偷拍| 国产一区二区电影| 色婷婷国产精品综合在线观看| 欧美一区二区三区在线电影| 国产欧美日韩卡一| 日韩福利电影在线| av在线不卡免费看| 欧美一卡2卡3卡4卡| 综合久久综合久久| 激情小说欧美图片| 欧美视频在线不卡| 久久精品一区二区三区不卡| 亚洲高清视频的网址| 国产99久久久国产精品免费看| 欧美三级中文字| 国产精品久久午夜夜伦鲁鲁| 奇米一区二区三区| 一本色道亚洲精品aⅴ| 青青草91视频| 色8久久精品久久久久久蜜| 久久网这里都是精品| 亚洲一区二区三区爽爽爽爽爽| 国产成人h网站| 91麻豆精品国产91久久久资源速度| 国产精品入口麻豆九色| 久久9热精品视频| 欧美日韩免费一区二区三区| 中文字幕中文字幕一区二区| 激情成人综合网| 日韩一区二区三| 天堂午夜影视日韩欧美一区二区| 成人91在线观看| 国产亚洲欧美激情| 久久精工是国产品牌吗| 欧美日韩另类一区| 亚洲人成电影网站色mp4| 成人免费va视频| 久久久蜜臀国产一区二区| 久久se这里有精品| 日韩欧美电影一二三| 婷婷丁香久久五月婷婷| 在线视频你懂得一区| 中文字幕亚洲电影| 成人精品一区二区三区四区 | 欧美系列日韩一区| 一二三区精品视频| 欧美视频在线一区二区三区| 一区二区在线观看视频在线观看| 成人成人成人在线视频| 欧美国产精品一区| 成人免费视频caoporn| 国产日产欧美一区二区三区| 九九国产精品视频| 精品国产网站在线观看| 麻豆精品久久精品色综合| 欧美一区二区视频在线观看| 亚洲18女电影在线观看| 欧美色图12p| 日韩电影免费在线观看网站| 91精品国产综合久久福利| 日韩av二区在线播放| 日韩一区二区三区在线| 久久成人免费网站| 欧美精品一区二区高清在线观看 | 欧美疯狂做受xxxx富婆| 日本特黄久久久高潮| 日韩女优视频免费观看| 国内精品久久久久影院薰衣草 | 成人午夜看片网址| 国产一区久久久| 国产欧美日韩亚州综合| 91亚洲资源网| 亚洲成a人片在线不卡一二三区 | 欧美大片拔萝卜| 国产激情视频一区二区三区欧美| 欧美激情艳妇裸体舞| 91猫先生在线| 日韩国产精品久久久| 精品国精品自拍自在线| 成人黄色软件下载| 午夜精品福利在线| 国产偷国产偷亚洲高清人白洁| 97久久精品人人爽人人爽蜜臀| 亚洲综合自拍偷拍| 欧美成人性战久久|