注: 无需odbc配置

{*

*                         MySQL Helper v1.0

*                            2015.6.19

* 说明:

*     这是一个操作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.17 , Delphi XE 测试通过.

* ==========================================

* 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 := '127.0.0.1';

_PORT := 3306;

_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<>0 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.

delphi xe 连接mysql_DELPHI XE MYSQL数据库操作类 MYSQLHELPER相关推荐

  1. mysql数据库操作类

    mysql数据库操作类. 配置文件: <?php $db_config["hostname"] = "localhost"; //服务器地址 $db_co ...

  2. mysql db模块下载_易语言MySql数据库操作类V1.0模块源码

    易语言MySql数据库操作类V1.0模块源码 易语言MySql数据库操作类V1.0模块源码 系统结构:MySql数据库连接类_测试子程序,置连接选项,连接,关闭,是否已连接,取连接句柄,置连接句柄,执 ...

  3. php mysql 数据库操作类_php mysql数据库操作类

    分享一个本人一直在使用的一个mysql数据库操作类,比较初级,自己给别人做web网站的时候一直用的这个类,这个也是之前刚开始学习php的时候在网上找到的一个mysql数据库操作类,后来自己改了一些,比 ...

  4. c winform mysql类_C#连接MySQL数据库操作类

    首先需要安装MySQL Connector Net 6.8.3 然后在项目中引用MySQL Connector,如下图所示 C#连接MySQL的操作类代码如下:public class MySQLHe ...

  5. mysql 数据库操作类_【数据库操作类】10个php操作数据库类下载

    数据库(Database)操作是在开发过程中重要的组成部分,熟练掌握数据库的操作是开发人员必备的武器.PHP中文网为大家提供了各种封装好的php数据库操作类库,供大家下载和学习. 相关mysql视频教 ...

  6. discuz php mysql_php下mysql数据库操作类(改自discuz)

    /* -------------------------------- System:PT book - PT小说小偷 Code: 杰少Pakey -------------------------- ...

  7. php操作mysql的封装类_PHP封装的mysqli数据库操作类示例

    本文实例讲述了PHP封装的mysqli数据库操作类.分享给大家供大家参考,具体如下: 由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里 ...

  8. mysql的数据库操作类_MYSQL数据库操作类

    class MSSQLDB { //MYSQL数据库操作类 //使用说明: //该类完全按照ADO的习惯书写的,用过ASP的人都觉得ASP连接数据库比PHP好用(这是我的感觉), //但PHP得一个一 ...

  9. .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary>/// MySql 数 ...

最新文章

  1. 实例变量的访问及数据封装
  2. 单目图像深度估计 - 泛化篇:S2R-DepthNet
  3. kindeditor java 上传图片_java中KindEditor本地图片上传与上传失败问题
  4. oracle+connect+by+level,oracle connect by用法篇
  5. 基于Java jsp+mysql+Spring的汽车出租平台租赁网站平台设计和实现
  6. OpenResty概述
  7. 【干货】60 余家免费正版图片网站
  8. 在Qsys中创建用户自定义IP
  9. 大数据学习入门必备规划
  10. sai笔记3-钢笔图层
  11. 华为 常用的查看命令
  12. Mendix APP在腾讯云部署说明文档
  13. c++的priority_queue各种使用方法
  14. 什么是电脑pe系统?
  15. 处理器后面的字母什么意思?看了全搞懂
  16. LowB三人组--插入排序原理和java实现
  17. 只查看ett.txt文件(100行)内第20行到30行的内容
  18. iTunes 未能备份iphone,因为无法将备份存储在电脑上
  19. Leecode-动态规划专题训练
  20. Wind River Linux

热门文章

  1. python提取关键字所在句子_科学网-Python提取句子-吕波的博文
  2. nonebot2插件——百度贴吧攻略插件
  3. 4K Video Downloader(4K视频下载器)V6.2.26版本发布
  4. Mac OS X 下安装pyExifTool
  5. 3876: [Ahoi2014Jsoi2014]支线剧情
  6. 2020考研课程网盘资源_【学习资源】2020最新考研经济学(11月更新版)
  7. 2023年全国职业院校技能大赛网络系统管理赛项 正式赛项规程 GZ073
  8. 2022年中国大学生机械工程创新创意大赛第七届物流技术(起重机)创意赛的通知
  9. 【华人学者风采】金海 华中科技大学
  10. 单/双引号多次嵌套问题