delphi7连接mysql5一方法

今天开始研究mysql,在网上搜了一下资料,都是要安装这个,安装那个,很麻烦。

经过一直摸索、测试,得到一个快速的方法,很实用,只是稳定性有待发现。

先去下载:http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html 

然后把下载到的dbxopenmysql5_dll.zip解压出来,再把dbxopenmysql50.dll和libmysql.dll都放到工程文件夹下。

在Form上放上TSQLConnection、TSQLQuery、TStringGrid、3个TButton、TLable。

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, DBXpress, FMTBcd, StdCtrls, Grids, DB, SqlExpr;



type

  TForm1 = class(TForm)

    SQLConnection1: TSQLConnection;

    SQLQuery1: TSQLQuery;

    StringGrid1: TStringGrid;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Label1: TLabel;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);

begin

  SQLConnection1 := TSQLConnection.Create(nil);

  SQLConnection1.DriverName := 'dbxmysql';

  SQLConnection1.GetDriverFunc := 'getSQLDriverMYSQL50';

  SQLConnection1.LibraryName := 'dbxopenmysql50.dll';

  SQLConnection1.VendorLib := 'libmysql.dll';

  SQLConnection1.LoginPrompt := false;

  SQLConnection1.Params.Append('Database=mysql');

  SQLConnection1.Params.Append('User_Name=root');

  SQLConnection1.Params.Append('Password=');

  SQLConnection1.Params.Append('HostName=localhost');

  SQLConnection1.Open;

  if SQLConnection1.Connected = true then

  begin

    SQLQuery1.SQLConnection := SQLConnection1;

    Label1.Caption := 'success!';

  end

  else

    Label1.Caption := 'failed!';

end;



procedure TForm1.Button2Click(Sender: TObject);

var

  i, j: Integer;

begin   

  SQLQuery1.SQL.Clear;

  SQLQuery1.SQL.Add('SELECT * FROM user');

  SQLQuery1.Active := true;

  i := 0;

  SQLQuery1.First;

  while not SQLQuery1.eof do

  begin

    for j := 0 to SQLQuery1.FieldCount - 1 do

      StringGrid1.cells[j, i] := SQLQuery1.Fields[j].AsString;

    SQLQuery1.next;

    inc(i);

  end;

  SQLQuery1.Active := false;

end;



procedure TForm1.Button3Click(Sender: TObject);

begin

  if SQLConnection1.Connected = true then

    SQLConnection1.Close;

  SQLConnection1.Free;

end;



end.

  经测试,连接OK,查询OK。

    参考:JackSun's 技术博客 http://www.cnblogs.com/JackSun/archive/2010/12/16/1908145.html

 

你可能感兴趣的:(Delphi)