DelphiXE连接MySQL5.1

新建位图图像

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后即可用动态方式创建连接。

  conMySQL.ConnectionString:= ('DRIVER={MYSQL ODBC 5.1 Driver};'+
      'SERVER=localhost;'+
      'DATABASE=mysql;'+
      'USER=root;'+
      'PASSWORD=123456;'+
      'OPTION=3;');

      try
        conMySQL.Close;
        conMySQL.Open();
        qryMySQL.SQL.Clear;
        qryMySQL.SQL.Add('Select * from user;');
        qryMySQL.Active := True;

   ......执行相关操作...

       finally
        conMySQL.Close;
      end;

posted on 2010-12-07 23:26  Delphi7456  阅读(4411)  评论(0编辑  收藏  举报

导航