DELPHI 如何用ADO连接MYSQL数据库

DELPHI 如何用ADO连接MYSQL数据库,第1张

sql设置好用户名跟密码以后比如sa

密码123

打开delphi放一个按钮,然后在控件栏那里选datacontrol,选第一个dbgrid放到form上,选dataaccess里面的第一个datasource,然后选ado——adoconnection放到form上,再选ado——adoquery放到form上。点选adoconnection左边的框体有个connectionstring点"…":d出来的对话框中点Build,然后选择从下数上来第五个,双击或者下一步,填入用户名跟密码(sa

123),在“3.选择数据库”那里选择要打开的数据库,选上保存密码,点一下“测试连接”,点OK退出。出来以后继续在左边框体里面找LoginPrompt改成False。到adoquery了,点上它然后在左边框体的

Connection

那里下拉选择ADOConnection1,然后点选datasource,在左边框体找到dataset下拉选择adoquery1,然后再点选dbgrid,在左边框体找到datasource,下拉选择datasource1。双击刚才创建的按钮,假设你要打开的数据表名叫“

销售订单

”,输入

adoquery1.close

adoquery1.sql.clear

adoquery1.sql.add('select

*

from

销售订单

')

adoquery1.open

运行,按按钮如果dbgrid有数据显示表示连接成功了,以上所有功能实现均可通过代码或者手工设置。

delphi 连接MySQL数据库

由于在Delphi 7中并没有提供对应MySQL4.0以上版本的dbexpress驱动(虽然在Borland的CodeCentral中有相关的驱动下载,但我却使用不了,不知道是否是我的方法不对),所以在使用前先下载MySQL 3.23.x的驱动libmysql.dll,下载后的

由于在Delphi 7中并没有提供对应MySQL4.0以上版本的dbexpress驱动(虽然在Borland的CodeCentral中有相关的驱动下载,但我却使用不了,不知道是否是我的方法不对),所以在使用前先下载MySQL 3.23.x的驱动libmysql.dll,下载后的libmysql.dll请放在Delphi安装目录的bin文件夹或者系统目录下或您的程序的目录中,否则dbexpress将无法找到它(出现错误提示:not load "libmysql.dll")。另外,如果libmysql.dll的版本不对会出现"invalid username/password"的错误提示。

TSQLConnection连接参数设置:

DriverName: MySQL

Host:本地:localhost;安装MySQL的计算机名/IP地地址

远程:安装MySQL的计算机名/IP地地址

Database:数据库名

UserName:MySQL用户名

Password:MySQL用户密码

LoginPrompt:false //不出现登录对话框

在使用前需要确定用户名和用户密码在MySQL中对于对应的数据库是否合法、有效。

数据组件:

推荐使用TSQLDataSet+TDataSetProvider+TclientDataSet+TdataSource+Data Control;或TSimpleDataSet+TdataSource+Data Control。

注意:不能使用TSQLDataSet+TdataSource+Data Control,否则在使用某些数据感知组件时会出现“operation not allowed on a unidirectional dataset”的错误提示,因为TSQLDataSet是单向的。

如果使用TSQLTable来使用数据有可能无法在TableName中列出所有的表名来。TSQLQuery和TSQLTable还是少用为妙。

如果那个DLL文件版本不对,可以考虑用ADO

TADOConnection的ConnectionString = 'DRIVER={MySQL ODBC 3.51

Driver}SERVER=MySQL数据库服务器DATABASE=数据库名字USER=用户

名PASSWORD=密码OPTION=3'

DRIVER={MySQL ODBC 3.51

Driver}SERVER=192.168.1.22DATABASE=ruleUSER=WJHPASSWORD=123456OP

TION=3

如果连接数据库后,dbgrid中会显示乱码,则在TADOConnection的

AfterConnect事件中增加代码:

ADOConnection1.Execute('set character_set_connection=gbk',cmdText)

ADOConnection1.Execute('set character_set_results=gbk',cmdText)

ADOConnection1.Execute('set character_set_client=gbk',cmdText)

本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2010/0319/21181.php


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9894530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存