anydac mysql_Delphi 7连接MySql 5.5.15(转)

网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的方法,以备所需。

系统环境:Windows XP SP3

软件环境:Delphi 7 、mysql-installer-5.5.15.0

1.ODBC方式

必须要先有MySql的ODBC驱动,我下载的是全安装版,包括MySql服务器、各种所支持的连接、工作台、示例数据库、文档,若是无ODBC驱动,可以到官网http://dev.mysql.com/downloads/connector/odbc/下载。

①数据源方式

首先,确认安装了MySql的ODBC驱动,打开“控制面板”→“管理工具”→“数据源”,切换到“驱动程序”页,查看“MySql ODBC 5.1 Driver",如下图所示:

0_131702758091R1.gif

切换到"系统DSN"→"添加"→"MySql ODBC 5.1 Driver",如下图所示:

0_1317027628mk4X.gif

弹出MySql数据源配置,数据源名称随意,TCP/IP Server为数据库地址,User用户名,Password密码,Database连接的数据库,点"Test"进行测试连接,如下图所示:

0_1317027659PhPU.gif

点击"OK"后,即可看到新增加了一个数据源。打开Delphi 7,在窗体上放置TADOConnection、TADOQuery、TDataSource和TDBGrid,相互之间关联,配置TADOConnection的连接字符串,"提供程序"选择"Microsoft OLE DB Provider for ODBC Drivers",下一步,选择"使用数据源名称",下拉选择刚才配置的数据源,其他的不用再填写,测试连接,如下图所示:

0_1317027708ae96.gif

0_1317027717t3rD.gif

在TADOQuery写查询语句,设置Active为True,数据都显示在表格上,如下图所示:

0_13170278029AwA.gif

②驱动方式

跟上面一样,先确认安装MySql的ODBC驱动。打开Delphi 7,在窗体上放置TADOConnection、TADOQuery、TDataSource和TDBGrid,相互之间关联,配置TADOConnection的连接字符串,为以下内容:

1

Driver={MySQL ODBC 5.1 Driver}; Server=127.0.0.1; Database=world; User=root; Password=a123; Option=3;

在TADOQuery写查询语句,设置Active为True,数据都显示在表格上,如下图所示:

0_1317027832eJte.gif

2.ZeosLib方式

ZeosLib是一个用于Borland开发工具的数据库中间件,包括Delphi、C++ Builder和Kylix。从http://sourceforge.net/projects/zeoslib/files/下载"ZEOSDBO-6.6.6-stable"版本,解压到文件夹。打开Delphi 7,加载工程项目包"...\ZEOSDBO\packages\delphi7\ZeosDbo.bpg",按顺序编译,或者右键选择"Compile All From Here",如下图所示:

0_13170279983cMm.gif

编译完成后,再选择"ZComponentDesign.bpl",右键选择"Install",安装组件成功,弹出如下对话框:

0_1317028011xVz2.gif

再添加所编译完成的目录,即"...\ZEOSDBO\packages\delphi7\build",菜单"Tools"→"Environment Options"→"Library"→"Library path",添加此目录。另外,若需要在编写代码时,能进入ZeosLib源代码的话,需要添加源代码文件夹目录,包括:"...\ZEOSDBO\src\core"、"...\ZEOSDBO\src\parsesql"、"...\ZEOSDBO\src\plain"、"...\ZEOSDBO\src\dbc"和"...\ZEOSDBO\src\component"(注意:会在这些目录下再次编译单元文件)。

新建一个应用程序,在窗体上放置TZConnection、TZQuery、TDataSource和TDBGrid,在窗体创建函数里,写入以下代码:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

procedure TForm1.FormCreate(Sender: TObject);

begin

//---------------互相关联------------------------

zqry1.Connection := zcon1;

ds1.DataSet := zqry1;

dbgrd1.DataSource := ds1;

//---------------设置参数------------------------

zcon1.Protocol := 'mysql';

zcon1.Port := 3306;

zcon1.HostName := '127.0.0.1';

zcon1.User := 'root';

zcon1.Password := 'a123';

zcon1.Database := 'world';

zcon1.Connected := True;

//---------------查询显示------------------------

zqry1.Close;

zqry1.SQL.Text := 'SELECT * FROM City';

zqry1.Active := True;

end;

当然手动在设计器上进行设置也可以。因为这里连接的是MySql数据库,需要拷贝MySql数据库客户端所需的DLL(即:libmysql.dll,这里我安装的是在"...\MySQL\MySQL Server 5.5\lib"里面)复制到Windows系统目录(通常是"C:\WINDOWS\system32")或者工程目录下。程序如下图所示:

0_1317028065qbqy.gif 

当程序发给别人使用时,需要连同"libmysql.dll"一起发送。若是显示的数据有乱码,这是因为MySQl数据库默认使用UTF-8字符集,则先在查询之前,设置字符集,如下代码所示:

1

2

3

4

5

6

7

begin

zqry1.Close;

zqry1.SQL.Text := 'set names gbk';

zqry1.ExecSQL;

zqry1.SQL.Text := 'select * from city';

zqry1.Active := True;

end;

或者在TZConnection的Properties属性添加"codepage=gbk"。

3.其他方式

另外,还有其他的第三方控件可以连接MySQL等其他数据库,如:AnyDAC、MyDAC 、DAC for MySQL等等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值