delphi 怎么执行mysql命令

delphi 怎么执行mysql命令,第1张

1、在delphi中,将bde控件板的query控件放在form中,在其SQL属性中输入你的查询语句,在将active属性设为true就可执行SQL命令。

当然,之前你要安装mysql的odbc驱动,建立mysql的bde别名,要设置好数据库(database)、数据源(datasource)、查询(query)相互之间的联系。

2、Delphi一般使用TADOStoredProc来访问存储过程,TADOStoredProc与TADOQuery都是继承自TCustomADODataSet类,实际上使用TADOQuery来访问存储过程会更灵活一点:

存储过程脚本:

DELIMITER $$

DROP PROCEDURE IF EXISTS p_test1

CREATE PROCEDURE p_test1(

iSqn: INT,

sName: VARCHAR(40))

BEGIN

insert into t1(sqn, name) value(iSqn, sName)

END$$

DELIMITER

执行存储过程代码:

function Exec_Proc1: Boolean

begin

result := true

query.close

query.sql.clear

query.sql.add('call p_test1(:sqn, :name)')

query.Parameters[0].value := 1

query.Parameters[1].value := 'test'

try

query.ExecSql

except

result := false

//写日志什么的处理

end

end

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

我是用ADO连接的,BDE没尝试过。如果是ADO连接的话需要做如下设置:

第一步:下载安装mysql-connector-odbc-5.1.12-win32.msi驱动程序,该驱动程序可以从mysql官方网站下载:http://dev.mysql.com/downloads/connector/odbc/。

第二步:在电脑上配置MYSQL ODBC驱动程序,如下:

1、打开“我的电脑”-“控制面板”-“管理工具”-“数据源 (ODBC)”-“驱动程序”标签页,检查mysql驱动安装情况。如出现“Mysql ODBC 5.1 Driver”则表示ODBC驱动已完成安装。

2、在“ODBC 数据源管理器”的“用户DSN”标签页添加MYSQL的选项,并配置mysql的ODBC属性。选择“添加”—“mysql ODBC 5.1 DRIVER”-“完成”。

第三步:在DELPHI上连接MYSQL数据库:

1、 在程序添加TADOconnection控件,并对TADOConnection控件属性进行设置。

(1)、配置ConnectionString属性

“提供程序”-“MicorosoftOLE DB Provider for ODBC Driver”-“下一步”。

在“使用数据源名称”的下拉菜单中选择mysql配置的选项。输入用户名和密码后选择“测试连接”进行连接测试。如果出现“测试成功”则代表已连接上数据库。注:“输入要使用的初始目录”必须留空,否则会出错。

(2)、配置“LoginPrompt”属性为false,“Connected”为true。

至此,delphi通过ODBC连接mysql全部配置完成。


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

原文地址: http://outofmemory.cn/zaji/6179241.html

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

发表评论

登录后才能评论

评论列表(0条)

保存