原文:http://blog.csdn.net/akof1314/article/details/6822902/

网上有很多关于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",如下图所示:

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

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

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

在TADOQuery写查询语句,设置Active为True,数据都显示在表格上,如下图所示:
 
②驱动方式
    跟上面一样,先确认安装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,数据都显示在表格上,如下图所示:

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",如下图所示:

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

    再添加所编译完成的目录,即"...\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")或者工程目录下。程序如下图所示:
 
    当程序发给别人使用时,需要连同"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等等。

扩展资料:
1.MySQL with Delphihttp://delphi.about.com/od/mysql/MySQL_with_Delphi.htm
2.Zeoslib Portal :: Home http://zeos.firmos.at/
3.使用ZeosDbo元件與MySQL連線及建立Master/Detail資料表 http://cdwalkman.my-php.net/_tech/mysql_ZeosLib_delphi.htm

Delphi 7连接MySql 5.5.15的更多相关文章

  1. Delphi 7连接MySql 5.5.15(转)

    网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的方法,以备所需.系统环境:Windows XP SP3软件环境:Delphi 7 .mysql-installer- ...

  2. delphi 7 连接 MySql

    网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的方法,以备所需.系统环境:Windows XP SP3软件环境:Delphi 7 .mysql-installer- ...

  3. JDBC 连接 MySQL 8.0.15+ 常见错误记录

    课后复习 1. No suitable driver found for mysql:jdbc://localhost:3306/test 错误原因: mysql:jdbc://localhost:3 ...

  4. delphi 连接mysql

    Delphi连接MySQL真麻烦,研究了一天,从网上找了无数文章,下载了无数插件都没解决.最后返璞归真,老老实实用ADO来连接,发现也不是很顺利,但最终还是连接成功了.多少有点心得:ADO各个组件的作 ...

  5. Delphi能通过SSH登录Linux,连接MYSQL取数么?像Navicat一样

    百度随时就能搜,你就懒得搜下.http://tieba.baidu.com/p/671327617 Ssh tunnel通常能实现3种功能1) 加密网络传输2) 绕过防火墙3) 让位于广域网的机器连接 ...

  6. Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决(对三层的例子配置有帮助)

    Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...

  7. Delphi XE3通过ADOConnection 连接 MySQL 5.5.27 数据库

    Delphi XE3通过ADOConnection 连接 MySQL 5.5.27 数据库 unit Unit1; interface uses Winapi.Windows, Winapi.Mess ...

  8. Ununtu 15.04 安装MySql(Django连接Mysql)

    本文介绍Ubuntu 15.04下安装MySQL ubuntu 15.04安装mysql django项目连接mysql 一.安装数据库 1.sudo apt-get install mysql-se ...

  9. Delphi XE8中的DBExpress使用ODBC方式连接MySQL 5.6.24 X64!!!!

    Delphi:XE2.XE8 MySQL:5.6.24 X64 今天准备做一个使用数据库的REST程序,最开始使用XE2,后来使用XE8,但是我遇到一个让我头疼的问题,就是无法连接我要使用的数据库,这 ...

随机推荐

  1. Oracle中函数/过程返回结果集的几种方式

    原文 Oracle中函数/过程返回结果集的几种方式 Oracle中函数/过程返回结果集的几种方式:    以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过.    ...

  2. FTP文件上传与下载

    实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方式:使用jdk中的ftpClie ...

  3. LAMP网站架构分析

    转自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包 ...

  4. Matlab编程实例(3) 函数向左或向右平移N点 左移右移

    %函数移动 close all; clear all; dir=input('请输入平移方向,“1”为向左,“2”为向右'); if dir~=1&&dir~=2;%输入控制    e ...

  5. Webdriver API (三)- actions

    Actions类主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用perform()方法进行执行. actions类可以完成单一的操作,也可以完成几个操作的组合. 有 ...

  6. ASP.NET导出excel表方法汇总

    asp.net里导出excel表方法汇总  1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...

  7. mapreduce优化总结

    集群的优化 1.合理分配map和reduce任务的数量(单个节点上map任务.reduce任务的最大数量) 2.其他配置 io.file.buffer.size hadoop访问文件的IO操作都需要通 ...

  8. 安装CPqD/ofdissector遭遇的错误

    为了安装支持openflow1.3的wireshark插件,在下载了ofdissector.git,并进入了其src目录后,执行scons install,出现如下错误: util/FieldMana ...

  9. (转载)OC学习篇之---类的初始化方法和点语法的使用

    昨天介绍了OC中类的定义和使用,今天我们来继续学习类的初始化方法和点语法的使用. 一.首先来看一下类的初始化方法 在Java中我们知道一个每个类都有构造方法,这里的初始化方法就是和构造方法一个概念的, ...

  10. 软件开发杂谈之从需求到上线---valen

    背景 IT已经成为当代企业必不可少的竞争手段,从无到有到标配,可以说以后不懂IT的就是文盲这句一点也不过,而软件开发是个复杂工程,零零碎碎各种理论工具和技巧,一言难尽. 本文意在言简意赅,简述软件开发 ...