• 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;
        SQLQuery1.SQL.Clear;
        SQLQuery1.SQL.Text := 'set names utf8'; //设置mysql查询中文不乱码
        SQLQuery1.ExecSQL();    
        Label1.Caption := 'success!';
        button1.Enabled := False;
        Button3.Enabled := True;
      end else
      begin
        Label1.Caption := 'failed!';
        SQLConnection1.Close;
      end;
    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

        参考:liuweijie 技术博客  https://www.cnblogs.com/weijie-liu/p/9644635.html

  • 相关阅读:
    RPM Repositories for CentOS 6, 7 and 8
    oracle user clone script
    在 Linux 上安装和配置 VNC 服务器
    阿里云ORACLE RAC共享磁盘组扩容实战笔记
    如何在 SQL Server 中创建和配置链接服务器以连接到 MySQL
    oracle 11.2.0.4 windows64位下载
    How To Drop And Recreate Temp Tablespace In Oracle
    查询mysql没有主键的表
    hadoop常用端口及定义方法
    MySQL主从复制中问题排查过程总结
  • 原文地址:https://www.cnblogs.com/evil39c/p/3810624.html
Copyright © 2020-2023  润新知