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

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

?? boldmysqlinterfaces.pas

?? BDA mysql component for accessing mysql databases
?? PAS
?? 第 1 頁 / 共 2 頁
字號:

/////////////////////////////////////////////////////////
//                                                     //
//            Bold MySQL DataBase Adapter              //
//           Copyright (c) 2006 Borland, Grikon        //
//                                                     //
/////////////////////////////////////////////////////////

{ Global compiler directives }

{$include bold.inc}

unit BoldMYSQLInterfaces;

                                   INTERFACE
uses
  Classes,
  Db, mySQLDbTables,
  BoldSQLDatabaseConfig,
  BoldDBInterfaces;
type
  { forward declarations }

  TBoldMYSQLParameter = class;
  TBoldMYSQLDatabase = class;
  TBoldMYSQLQuery = class;
  TBoldMYSQLQueryClass = class of TBoldMYSQLQuery;


  { TBoldMYSQLParameter }
  TBoldMYSQLParameter = class(TBoldParameterWrapper, IBoldParameter)
  private
    fParameter: TParam;
    function GetAsVariant: Variant;
    procedure SetAsVariant(const NewValue: Variant);
    function GetName: String;
    procedure Clear;
    function GetDataType: TFieldType;
    procedure SetDataType(Value: TFieldType);
    function GetAsBCD: Currency;
    function GetAsBoolean: Boolean;
    function GetAsDateTime: TDateTime;
    function GetAsCurrency: Currency;
    function GetAsFloat: Double;
    function GetAsInteger: Longint;
    function GetAsMemo: string;
    function GetAsString: string;
    function GetIsNull: Boolean;
    procedure SetAsBCD(const Value: Currency);
    procedure SetAsBlob(const Value: TBlobData);
    procedure SetAsBoolean(Value: Boolean);
    procedure SetAsCurrency(const Value: Currency);
    procedure SetAsDate(const Value: TDateTime);
    procedure SetAsDateTime(const Value: TDateTime);
    procedure SetAsFloat(const Value: Double);
    procedure SetAsInteger(Value: Longint);
    procedure SetAsMemo(const Value: string);
    procedure SetAsString(const Value: string);
    procedure SetAsSmallInt(Value: LongInt);
    procedure SetAsTime(const Value: TDateTime);
    procedure SetAsWord(Value: LongInt);
    procedure SetText(const Value: string);
    function GetParameter: TParam;
    procedure AssignFieldValue(source: IBoldField);
    property Parameter: TParam read GetParameter;
  public
    constructor create(MYSQLParameter: TParam; DatasetWrapper: TBoldDatasetWrapper);
  end;
 
  { TBoldMYSQLQuery }
  TBoldMYSQLQuery = class(TBoldDataSetWrapper, IBoldQuery, IBoldExecQuery, IBoldParameterized)
  private
    FQuery: TmySQLQuery;
    function GetParamCount: integer;
    function GetParams(i: integer): IBoldParameter;
    function GetQuery: TmySQLQuery;
    function GetRecordCount: integer;
    function GetRequestLiveQuery: Boolean;
    procedure ClearParams;
    function GetRowsAffected: integer;
    function GetSQLText: String;
    function ParamByName(const Value: string): IBoldParameter;
    procedure AssignParams(Sourceparams: TParams);
    procedure AssignSQL(SQL: TStrings);
    procedure AssignSQLText(SQL: String);
    procedure SetRequestLiveQuery(NewValue: Boolean);
    function Createparam(FldType: TFieldType; const ParamName: string; ParamType: TParamType; Size: integer): IBoldParameter;
  protected
    function GetDataSet: TDataSet; override;
    procedure EndSQLBatch; virtual;
    procedure ExecSQL;
    procedure FailSQLBatch; virtual;
    procedure Open; override;
    procedure StartSQLBatch; virtual;
    property Query: TmySQLQuery read GetQuery;
  public
    constructor Create(Query: TmySQLQuery; DatabaseWrapper: TBoldDatabaseWrapper);
  end;

  { TBoldMYSQLDataBase }
  TBoldMYSQLDatabase = class(TBolddatabaseWrapper, IBoldDataBase)
  private
    FDatabase: TmySQLDatabase;
    FCachedQuery: TmySQLQuery;
    function GetConnected: Boolean;
    function GetDataBase: TmySQLDatabase;
    function GetInTransaction: Boolean;
    function GetIsSQLBased: Boolean;
    function GetKeepConnection: Boolean;
    function GetLogInPrompt: Boolean;
    function SupportsTableCreation: boolean;
    procedure Close;
    procedure Commit;
    procedure Open;
    function GetTable: IBoldTable;
    procedure ReleaseTable(var Table: IBoldTable);
    procedure Rollback;
    procedure SetKeepConnection(NewValue: Boolean);
    procedure SetlogInPrompt(NewValue: Boolean);
    procedure StartTransaction;
    property Database: TmySQLDatabase read GetDatabase;
    procedure ReleaseCachedObjects;
  protected
    procedure AllTableNames(Pattern: String; ShowSystemTables: Boolean; TableNameList: TStrings); override;
    function GetQuery: IBoldQuery; override;
    procedure ReleaseQuery(var Query: IBoldQuery); override;
  public
    constructor create(Database: TmySQLDatabase; SQLDataBaseConfig: TBoldSQLDatabaseConfig);
    destructor destroy; override;
  end;

var
  BoldMYSQLQueryClass: TBoldMYSQLQueryClass = TBoldMYSQLQuery;

                                  IMPLEMENTATION

uses
  SysUtils,
  BoldRev,
  BoldUtils,
  BoldDefs,
  dialogs,
  variants;


{ TBoldMYSQLQuery }
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.AssignParams(Sourceparams: tparams);
var
  i: integer;
  Opar : TParam;
begin
  Query.Params.Clear;
  if assigned(SourceParams) and (SourceParams.Count > 0) then
  begin
    for i := 0 to Sourceparams.Count - 1 do with OPar do
    begin
      OPar:=Query.Params.CreateParam( Sourceparams[i].DataType,Sourceparams[i].Name, ptInput) as TParam;
      Size:=0;
      Value:=SourceParams[i].Value;
    end;
  end;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.Clear;
begin
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.AssignSQL(SQL: TStrings);
begin
  Query.SQL.BeginUpdate;
  Query.SQL.Assign(SQL);
  Query.SQL.EndUpdate;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.AssignSQLText(SQL: String);
begin
  Query.SQL.BeginUpdate;
  Query.SQL.Clear;
  BoldAppendToStrings(Query.SQL, SQL, true);
  Query.SQL.EndUpdate;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.ClearParams;
begin
  Query.Params.Clear;
end;
//----------------------------------------------------------------------------------------
constructor TBoldMYSQLQuery.Create(Query: TmySQLQuery; DatabaseWrapper: TBoldDatabaseWrapper);
begin
  inherited create(DatabaseWrapper);
  FQuery := Query;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.CreateParam(FldType: TFieldType; const ParamName: string; ParamType: TParamType; Size: integer): IBoldParameter;
const
  ParamDir: Array[TParamType] of TParamType
           =(ptUnknown, ptInput, ptOutput, ptInputOutput,ptResult);
var MyPar : TParam;
begin
  MyPar:=Query.Params.CreateParam(fldType,ParamName,ParamDir[ParamType]) as TParam;
  result := TBoldMYSQLParameter.Create(MyPar, self);
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.EndSQLBatch;
begin
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.ExecSQL;
begin
try
  Query.ExecSQL;
  except
    on E: Exception do MessageDlg(E.Message + #13#10 +Query.SQL.Text, mtError, [mbOk], 0);
    end;
  end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.FailSQLBatch;
begin
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetDataSet: TDataSet;
begin
  result := Query;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetParamCount: integer;
begin
  result := Query.Params.count;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetParams(i: integer): IBoldParameter;
begin
  result := TBoldMYSQLParameter.Create(Query.Params[i], self);
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetQuery: TmySQLQuery;
begin
  result := FQuery;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetRecordCount: integer;
begin
  Result := Query.RecordCount;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetRequestLiveQuery: Boolean;
begin
  result := false;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetRowsAffected: integer;
begin
  result := Query.RowsAffected;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.GetSQLText: String;
begin
  result := Query.SQL.Text;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.Open;
begin
  BoldLogSQL(Query.SQL);
  inherited;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLQuery.ParamByName(const Value: string): IBoldParameter;
var
  Param: TParam;
begin
  Param := Query.ParamByName(Value);
  if assigned(Param) then result := TBoldMYSQLParameter.Create(Param, self)
  else result := nil;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.SetRequestLiveQuery(NewValue: Boolean);
begin
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLQuery.StartSQLBatch;
begin
end;
//----------------------------------------------------------------------------------------
{ TBoldMYSQLDataBase }
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.AllTableNames(Pattern: String; ShowSystemTables: Boolean; TableNameList: TStrings);
begin
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.Close;
begin
  Database.Close;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.Commit;
begin
  Database.Commit;
end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色综合| 视频一区二区国产| 久久国产精品第一页| 91欧美一区二区| 精品福利一区二区三区免费视频| 亚洲一区二区五区| 成人午夜视频福利| 欧美精品一区二区三区一线天视频 | 成人激情av网| 精品奇米国产一区二区三区| 亚洲一区二区综合| 成人动漫一区二区在线| 亚洲精品一区二区三区影院| 亚洲国产你懂的| 91小宝寻花一区二区三区| 久久嫩草精品久久久精品一| 日本不卡高清视频| 欧美日本一区二区| 亚洲自拍偷拍欧美| 91麻豆精品在线观看| 欧美激情综合在线| 国产乱淫av一区二区三区| 日韩一区二区视频| av不卡一区二区三区| 欧美r级在线观看| 免费成人美女在线观看.| 欧美写真视频网站| 一个色在线综合| 色欲综合视频天天天| 国产精品美女视频| 粉嫩av一区二区三区粉嫩| 26uuu精品一区二区| 免费精品视频在线| 日韩免费一区二区| 美女一区二区三区| 日韩免费观看高清完整版| 日本大胆欧美人术艺术动态| 欧美人牲a欧美精品| 亚洲国产精品久久人人爱| 91黄色免费看| 亚洲成人福利片| 欧美日韩一二区| 视频一区二区欧美| 欧美一区二区日韩| 久久国产夜色精品鲁鲁99| 日韩女同互慰一区二区| 激情亚洲综合在线| 久久精品一区二区三区不卡| 国产精品66部| 国产精品人成在线观看免费| gogo大胆日本视频一区| 亚洲天堂久久久久久久| 在线视频一区二区免费| 亚洲大片精品永久免费| 欧美高清一级片在线| 蜜桃一区二区三区四区| 精品国产91亚洲一区二区三区婷婷| 狠狠狠色丁香婷婷综合久久五月| 久久精品视频一区| 99久久久精品免费观看国产蜜| 一区二区三区毛片| 4438x成人网最大色成网站| 美女网站视频久久| 国产农村妇女毛片精品久久麻豆| 99久久亚洲一区二区三区青草| 依依成人综合视频| 91精品麻豆日日躁夜夜躁| 精品一区二区在线播放| 国产精品久久综合| 欧美日韩国产在线观看| 九色|91porny| 国产精品国产三级国产专播品爱网| 97精品视频在线观看自产线路二| 夜夜夜精品看看| 日韩亚洲欧美一区| 成人福利视频在线| 丝袜美腿一区二区三区| 久久―日本道色综合久久| 99国产精品视频免费观看| 亚洲1区2区3区4区| 国产午夜精品理论片a级大结局| 99国产精品久久久久久久久久| 亚洲h在线观看| 国产亚洲欧洲一区高清在线观看| 91蜜桃在线观看| 蜜桃精品视频在线| 最新国产成人在线观看| 日韩视频一区二区三区在线播放| 国产不卡在线一区| 亚洲电影第三页| 久久色.com| 欧美私人免费视频| 国产成人免费高清| 午夜精品久久久| 国产精品丝袜一区| 7777精品伊人久久久大香线蕉 | 久久电影网站中文字幕| 国产精品色在线观看| 欧美日韩精品久久久| 国产精品一区一区| 日韩国产精品91| 1000精品久久久久久久久| 日韩色在线观看| 91在线丨porny丨国产| 久久91精品久久久久久秒播| 亚洲九九爱视频| 国产婷婷色一区二区三区在线| 精品污污网站免费看| 成人在线视频首页| 理论片日本一区| 亚洲成av人在线观看| 中文字幕亚洲视频| 久久久国产精品麻豆| 欧美另类久久久品| 一本久久综合亚洲鲁鲁五月天| 国产精品白丝jk黑袜喷水| 五月婷婷欧美视频| 国产一区二区精品久久| 亚洲五码中文字幕| 中文字幕中文字幕一区二区| 精品国产乱码久久久久久夜甘婷婷| 在线观看免费成人| 91欧美激情一区二区三区成人| 国产精品888| 韩国一区二区三区| 日韩av电影免费观看高清完整版 | 天天操天天干天天综合网| 国产精品国模大尺度视频| 欧美va亚洲va| 欧美一区二区三区四区在线观看 | 韩国女主播成人在线| 天堂影院一区二区| 一区二区三区四区五区视频在线观看| 国产欧美一区二区精品忘忧草| 日韩一区二区三区三四区视频在线观看| 在线观看精品一区| 色偷偷久久一区二区三区| 成人丝袜高跟foot| 国产成人av影院| 国产成人精品免费网站| 韩国女主播成人在线| 另类小说一区二区三区| 免费成人在线观看| 日韩精品电影在线观看| 午夜精品在线看| 亚洲mv在线观看| 婷婷六月综合亚洲| 午夜国产不卡在线观看视频| 一片黄亚洲嫩模| 一区二区欧美国产| 伊人婷婷欧美激情| 一区二区三区四区激情| 中文字幕欧美一区| 中文字幕中文字幕中文字幕亚洲无线| 国产欧美一区二区精品久导航 | 日韩天堂在线观看| 欧美日韩国产首页| 欧美另类一区二区三区| 91精品国产综合久久精品性色| 在线电影一区二区三区| 欧美精品在线一区二区| 91精品国产高清一区二区三区| 欧美肥胖老妇做爰| 日韩一区二区三区三四区视频在线观看| 欧美一级在线观看| 欧美成人一区二区| 久久精品亚洲乱码伦伦中文| 久久久99精品免费观看不卡| 国产婷婷色一区二区三区四区| 国产亚洲综合av| 成人免费一区二区三区在线观看| 综合电影一区二区三区 | 久久午夜羞羞影院免费观看| 欧美精品一区视频| 国产精品美女一区二区三区 | 国产精品免费aⅴ片在线观看| 精品在线观看视频| 韩日av一区二区| 成人av电影在线网| 欧美伊人精品成人久久综合97| 在线不卡中文字幕| xf在线a精品一区二区视频网站| 久久久久久久久99精品| **性色生活片久久毛片| 亚洲成人免费影院| 黄页网站大全一区二区| 成人高清在线视频| 欧美视频日韩视频| 精品久久久久久久人人人人传媒 | 久久久亚洲欧洲日产国码αv| 亚洲国产成人私人影院tom| 亚洲三级免费观看| 五月激情六月综合| 国产一区三区三区| 91免费在线视频观看| 欧美精品自拍偷拍| 日本一区二区三区四区| 亚洲亚洲精品在线观看| 麻豆一区二区三| 99视频有精品|