已经验证OK通过。

参考地址:

https://www.oschina.net/code/snippet_579976_48967

https://files.cnblogs.com/files/mobilecard/MySQLHelper.rar

  这是一个操作MySQL的类,该类必须和libmysql.dll,dbxmys.dll两个文件一起使用.
  安装:
      将dll拷贝到C:\Windows\System32下和项目目录下,发行的时候放到exe目录下即可.
  使用:
    //使用insert,update,delete语句时请使用:TMySQLHelper.ExecSQL();返回受影响行数Integer;
    //使用select语句时请使用TMySQLHelper.Query();返回数据集TSQLQuery;
  测试:
      WIN7 SP1 X86 , MySQL 5.5.51 , Delphi XE7 测试通过.
{*
* MySQL Helper v1.
* 2015.6.
* 说明:
* 这是一个操作MySQL的类,该类必须和libmysql.dll,dbxmys.dll两个文件一起使用.
* 安装:
* 将dll拷贝到C:\Windows\System32下和项目目录下,发行的时候放到exe目录下即可.
* 使用:
* //使用insert,update,delete语句时请使用:TMySQLHelper.ExecSQL();返回受影响行数Integer;
* //使用select语句时请使用TMySQLHelper.Query();返回数据集TSQLQuery;
* 测试:
* WIN7 SP1 X86 , MySQL 5.6. , Delphi XE7 测试通过.
* ==========================================
* var
* MySQLHelper : TMySQLHelper;
* begin
* MySQLHelper := TMySQLHelper.Create;
* MySQLHelper.User_name := 'root';
* MySQLHelper.Password := 'root';
* MySQLHelper.Database := 'Test';
* ShowMessage('影响行数:'+IntToStr(MySQLHelper.ExecSQL('INSERT INTO test(name)values(''FangJun'')')));
* MySQLHelper.Free;
* end;
* ==========================================
* var
* MySQLHelper : TMySQLHelper;
* SQLQuery : TSQLQuery;
* begin
* MySQLHelper := TMySQLHelper.Create;
* MySQLHelper.User_name := 'root';
* MySQLHelper.Password := 'root';
* MySQLHelper.Database := 'Test';
* SQLQuery := TSQLQuery.Create(nil);
* SQLQuery := MySQLHelper.Query('select * from test');
* while not SQLQuery.Eof do
* begin
* ShowMessage('姓名:'+VarToStr(SQLQuery.FieldValues['name']);
* SQLQuery.Next;
* end;
* MySQLHelper.MySQLClose;
* MySQLHelper.Free;
* end;
* ==========================================
}
unit MySQLHelper; interface uses
SysUtils,StdCtrls,Classes,Variants,DB,SqlExpr,DBXMySQL; type
TMySQLHelper = class(TObject)
private
_PORT : Integer;
_HOST : string;
_DATABASE : string;
_USER_NAME : string;
_PASSWORD : string;
_SERVERCHARSET : string;
_SQLQuery : TSQLQuery;
_SQLConnection : TSQLConnection; procedure Set_PORT(const Value: Integer);
procedure Set_HOST(const Value: string);
procedure Set_DATABASE (const Value: string);
procedure Set_USER_NAME(const Value: string);
procedure Set_PASSWORD (const Value: string);
procedure Set_SERVERCHARSET(const Value: string);
function MySQLConnection:TSQLConnection; public
constructor Create; overload;
property Post:Integer write Set_PORT;
property Host:string write Set_HOST;
property Database:string write Set_DATABASE;
property User_name:string write Set_USER_NAME;
property Password:string write Set_PASSWORD;
property ServerCharSet:string write Set_SERVERCHARSET; function ExecSQL(const SQL:string):Integer;
function Query(const SQL:string):TSQLQuery;
procedure MySQLClose;
end; implementation //初始化
constructor TMySQLHelper.Create;
begin
_HOST := '192.168.1.222';
_PORT := ;
_SERVERCHARSET := 'utf8';
end; //执行 SQL 语句 INSERT , UPDATE , DELETE 返回影响行数
function TMySQLHelper.ExecSQL(const SQL:string):Integer;
begin
if not Assigned(_SQLQuery) then
_SQLQuery := TSQLQuery.Create(nil);
with _SQLQuery do
begin
Close;
SQL.Clear;
SQLConnection := MySQLConnection;
end;
try
_SQLQuery.SQL.Add(SQL);
result := _SQLQuery.ExecSQL;
except on E: Exception do
raise Exception.Create('SQL语句执行失败 :'+E.Message);
end;
MySQLClose;
end; //执行 SQL 语句 Select 返回 数据集
function TMySQLHelper.Query(const SQL:string):TSQLQuery;
begin
if not Assigned(_SQLQuery) then
_SQLQuery := TSQLQuery.Create(nil);
with _SQLQuery do
begin
Close;
SQL.Clear;
SQLConnection := MySQLConnection;
end;
try
_SQLQuery.SQL.Add(SQL);
_SQLQuery.Open;
_SQLQuery.Active := true;
result := _SQLQuery;
except on E: Exception do
raise Exception.Create('SQL语句查询失败 :'+E.Message);
end;
end; //关闭连接
procedure TMySQLHelper.MySQLClose;
begin
_SQLQuery.Close;
_SQLConnection.Close;
end; //连接MySQL 返回 TSQLConnection
function TMySQLHelper.MySQLConnection:TSQLConnection;
begin
if not Assigned(_SQLConnection) then
_SQLConnection := TSQLConnection.Create(nil);
with _SQLConnection do
begin
Close;
GetDriverFunc := 'getSQLDriverMYSQL';
LibraryName := 'dbxmys.dll';
VendorLib := 'LIBMYSQL.dll';
DriverName:= 'MySQL';
Params.Values['drivername']:= 'MySQL';
Params.Values['port'] := IntToStr(_PORT);
Params.Values['hostname'] := _HOST;
Params.Values['database'] := _DATABASE;
Params.Values['user_name'] := _USER_NAME;
Params.Values['password'] := _PASSWORD;
Params.Values['ServerCharSet'] := _SERVERCHARSET;
end;
try
_SQLConnection.Open;
_SQLConnection.Connected := true;
result := _SQLConnection;
except on E: Exception do
raise Exception.Create('数据库连接错误:'+E.Message);
end;
end; procedure TMySQLHelper.Set_PORT(const Value: Integer);
begin
if Value<> then
_PORT := Value
end; procedure TMySQLHelper.Set_HOST (const Value: string);
begin
if Value<>'' then
_HOST := Value
end; procedure TMySQLHelper.Set_DATABASE (const Value: string);
begin
_DATABASE := Value
end; procedure TMySQLHelper.Set_USER_NAME (const Value: string);
begin
_USER_NAME := Value;
end; procedure TMySQLHelper.Set_PASSWORD (const Value: string);
begin
_PASSWORD := Value;
end; procedure TMySQLHelper.Set_SERVERCHARSET (const Value: string);
begin
if Value<>'' then
_SERVERCHARSET := Value
end; end.

使用mysqlhelper可以连接mysql的更多相关文章

  1. C#连接Mysql数据库 MysqlHelper.cs文件

    mysql.data.dll下载_c#连接mysql必要插件mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库.当你的电脑 ...

  2. .NET连接MySQL数据库的方法实现

    突然对.NET连接MySQL数据库有点兴趣,于是乎网上到处找资料,学习MySQL的安装,MySQL的使用等等等等,终于搞定了! 最终效果就是显示数据库中数据表的数据: 首先,当然要有MySQL数据库啦 ...

  3. .net连接MySQL的方法

    摘自:http://www.cnblogs.com/huayangmeng/archive/2011/04/06/2006866.html 最近要用C#做一个东西,连接之前项目的数据库(用MySQL建 ...

  4. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  5. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  6. Node.js Express连接mysql完整的登陆注册系统(windows)

    windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...

  7. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  8. 使用ABP EntityFramework连接MySQL数据库

    ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见 ...

  9. jmeter之连接mysql和SQL Server配置

    下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ...

随机推荐

  1. [Swift]LeetCode254.因子组合 $ Factor Combinations

    Numbers can be regarded as product of its factors. For example, 8 = 2 x 2 x 2; = 2 x 4. Write a func ...

  2. [Swift]LeetCode718. 最长重复子数组 | Maximum Length of Repeated Subarray

    Given two integer arrays A and B, return the maximum length of an subarray that appears in both arra ...

  3. zookeeper使用详解(命令、客户端、源码)

    1. zookeeper使用详解(命令.客户端.源码) 1.1. 前言   zookeeper我们常用来做分布式协调中间件,很多时候我们都接触不到它的原理和用法,我对他的了解也仅限于知道它可以做分布式 ...

  4. Kubernetes---Pod控制器

    Pod作为kubernetes的最基本单元,它的控制器有以下这些 Pod的控制器: 1,  RC ( ReplicationController): 2, RS(ReplicaSet) : 3, De ...

  5. java设计模式(1)---总则

    设计模式总则 一.概述 1.什么是设计模式 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. 解释下: 分类编目:就是说可以找到一些特征去划分这些设计模式,从而进行分类. ...

  6. ESXI开启snmp协议方法

    公司用VMware做虚拟化,15+HPE 服务器做集群,现需要用zabbix监控其状态,于是想通过打开主机的snmp协议来采集数据,监控其状态,注意其数据是ESXI系统返回的. ssh登录到ESXI上 ...

  7. IdentityServer4之Client Credentials(客户端凭据许可)

    IdentityServer4之Client Credentials(客户端凭据许可) 参考 项目创建:0_overview,1_client_credentials 概念:客户端凭据许可 认证服务端 ...

  8. 模板模式之clone()方法

    clone()方法的使用,体现了模板模式的思想,常见用法可以参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201

  9. Android Hybrid App自动化测试实战讲解(基于python)

    1.Hybrid App自动化测试概要 什么是Hybrid App? Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App ...

  10. Java开发知识之Java字符串类

    Java开发知识之Java字符串类 一丶简介 任何语言中.字符串都是很重要的.都涉及到字符串的处理. 例如C++中. 字符串使用内存. 并提供相应的函数进行处理 strcmp strcat strcp ...