delphi 连接mysql

时间:2022-10-07 23:18:17

Delphi连接MySQL真麻烦,研究了一天,从网上找了无数文章,下载了无数插件都没解决。最后返璞归真,老老实实用ADO来连接,发现也不是很顺利,但最终还是连接成功了。多少有点心得:ADO各个组件的作用和联系必须清楚,否则设置起来很容易混乱。总结一下用ADO连接MySQL5.1要点:

1、需要下载MySQL的ODBC支持,我用的官网mysql-connector-odbc-5.1.7-win32.msi(这个一般没问题,下载安装即可)

2、通过ODBC管理建立系统DSN(这个也简单,无非是选择MySQL的ODBC,设置服务器、用户名、密码)

3、熟悉ADO控件知道其作用和相互联系。(难点)

TADOConnection作用是通过设置ConnectionString连接字符串(例如:服务器localhost、用户名root、密码123456)连接默认数据库DefaultDatabas(mysql)。

TADOQuarry作用是执行查询语句保存查询结果,需要设置SQL(如 select * from user;),感觉这里SQL语句只能是一条。该组件与TADOConnection联系密切,Connection属性应该设置为TADOConnection的实例(如conMySQL)。

这样有数据库连接,有查询操作,剩下的任务就是把结果显示出来。这里需要两个组件支持:

TDataSource顾名思义:数据源,是数据显示和查询结果之间连接的一个桥梁,其DataSet属性设为TADOQuarry的实例(qryMySQL)

TDBGrid是显示结果的数据组件,其DataSource属性设置为TDataSource实例即可(如dsMySQL)

4、激活连接以生效,TADOConnection的connected设置为真,另外TADOQuarry的active设置为真。

在实际应用中,不用建立系统DSN,只需要安装ODBC后即可用动态方式创建连接。


procedure TForm1.Button1Click(Sender: TObject);

begin

try

    ADOConnection1.ConnectionString:=('DRIVER={MySQL ODBC 3.51 Driver};'+

                  'SERVER=localhost;'+

                  'DATABASE=wm;'+

                  'USER=root;'+

                  'PASSWORD=mcncc;'+

                  'OPTION=3;');

    ADOConnection1.Close;

    ADOConnection1.Open;

   except

    application.MessageBox('无法连接数据库服务器.请与管理员联系','提示',MB_ICONINFORMATION);

   end ;

     ADOQuery1.Active:=true;

end;