网上有很多关于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等等。

mysql delphi5_Delphi 7连接MySql 5.5.15相关推荐

  1. django本地安装mysql_Ununtu 15.04 安装MySql(Django连接Mysql)

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

  2. 使用php连接mysql数据库_PHP使用mysql与mysqli连接Mysql数据库用法示例

    本文实例讲述了PHP使用mysql与mysqli连接Mysql数据库的方法.分享给大家供大家参考,具体如下: 代码很简单直接上了 /** * @Author: HTL * @Description: ...

  3. c语言 连接 mysql,C语言连接mysql -select

    C语言实现查询mysql数据库的行数,列的属性,以及每条记录. /* select.c */ #include #include #include #include "/usr/includ ...

  4. go语言服务器连接mysql,golang中连接mysql数据库

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

  5. php连接mysql地址_PHP连接mysql

    PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP Data Objects) 在 ...

  6. delphi mysql 乱码_Delphi连接mysql中文乱码的解决办法

    MySQL数据库不常使用,以往使用都是连接已有的数据库,从未出现乱码问题.这次做到演示版的程序,需要自己建立MySQL数据库,而使用Delphi连接时,凡是数据库中文内容都显示为"???&q ...

  7. mysql submission_date_UiPath如何连接MySQL

    UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...

  8. mysql需要vc_VC连接MySql

    VC连接MySql 一丶MySql 需要了解的知识 VC连接MySql 需要了解几个关键的API: MYSQL * stdcall mysql init (MYSQL *mysql):  初始化一个数 ...

  9. 引入mysql+命名空间_C#连接MySQL操作详细教程

    C#如何连接MySQL进行操作,供大家参考,具体内容如下 1.引入MySql.Data.dll 例如小编是vs2017,创建工程之后,添加应用,选择工程,点击下面的引用,右击打开,选择添加引用 2.如 ...

  10. asp连接不到我mysql里_ASP连接MYSQL问题点解决

    错误编号:1251 问题分析: 如果你升级 MySQL 到 4.1 以上版本后遇到以上问题,请先确定你的 MySQL Client 是 4.1 或者更高版本(Windows 下有这个问题就可以直接跳到 ...

最新文章

  1. MyBatis的useGenerateKeys的使用方法
  2. Qt网络编程——TCP服务器与客户端互发信息
  3. 干货 | 图解 https 单向认证和双向认证!
  4. 在Centos7安装mysql
  5. windows 7 网卡物理地址修改方法
  6. 【算法知识】详解归并排序算法
  7. C语言变量初始化是必须的吗?不初始化会怎样?
  8. 如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
  9. unity 让一个数按一秒累加_万物皆数—深挖UWA Benchmark之渲染篇
  10. abap调用Linux命令,ABAP中输入write命令使用
  11. Excel VBA利用事件对图表自动更新
  12. cv mat保存图片_EmguCV创建/保存图片
  13. windows编译opencv+opencv_contrib 以及解决cmake下载boostdesc_bgm等文件失败问题
  14. 车牌号识别Python+OpenCV实现(含代码)
  15. i++、i--与++i、--i的区别
  16. ps制作的html手机怎么使用,ps制作手机的教程
  17. CG系统提交Java程序_Cg使用说明 第一章 介绍
  18. 苹果正式宣布4月20日举行春季活动,新的iPad,AirTags等许多新产品
  19. 如何搜索百度云盘里的文件
  20. 报错集-------docker中删除镜像时报错

热门文章

  1. 我的世界java启动失败_我的世界游戏启动失败怎么办 PC版游戏崩溃解决办法
  2. 数据结构复习-day01-SqList顺序表
  3. anaconda安装LabelImg
  4. 影音先锋 android下载地址,影音先锋app官方普通下载-影音先锋 安卓版v5.8.2-PC6安卓网...
  5. 【笔记整理】通信原理第二章复习——随机信号分析
  6. 可以做mysql题的网站_牛客网MySQL练习题
  7. 老外挑战360加固--实战分析(很详细)
  8. otool是mac自带的工具
  9. 华为鸿蒙专属文件后缀,华为鸿蒙——上传第三方APP【原理公布】
  10. IDEA 强大文件对比功能