开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 11350|回复: 30
收起左侧

[技术专题] 易语言连接Mysql模块,类似thinkphp的链式操作2.0版

[复制链接]
发表于 2020-3-31 10:26:08 | 显示全部楼层 |阅读模式   山东省济宁市
易语言连接Mysql模块,类似thinkphp的链式操作,使用简单,支持所有的CURD操作,可以有效的提高数据存取的代码清晰度和开发效率。本次更新较1.0版本改动较大,直接命名为2.0版本。

更新说明:
1.修复了insert,update操作内容含有特殊字符或敏感无法存储的问题
2.新增输出窗口直接输出mysql错误信息
3.新增 Error 方法获取mysql错误信息
4.新增 SQL 方法获取运行时的mysql语句
5.新增Mysql表达式类,更灵活更方便的生成where条件和data内容
6.新增对多线程的支持

由于精力和水平有限,开发使用过程中发现bug,欢迎广大易友留言反馈

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
线程句柄整数型  
线程句柄1整数型  
MysqlMysql类  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
记录集Mysql记录集 
自增长ID长整数型 
计次整数型 
Mysql表达式Mysql表达式 
' 连接数据库
Mysql.Connect (“127.0.0.1”, “root”, “root”, “test”)
' 查询一条记录
记录集 = Mysql.Table (“user”).Field (“name”).Find ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 记录集.取字段值 (“name”))
' 输出数据: 夏明
' 使用left jion 查询
记录集 = Mysql.Table (“article a”).Left (“user b”, “a.user_id = b.user_id”).Where (“b.user_id = 2”).Find ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 记录集.取数据文本 ())
' 输出数据: {"article_id":"2","title":"珍惜吧!没有谁会一直等你","user_id":"2","content":"","name":"张翰","age":"23","sex":"1"}
' 查询多条记录
记录集 = Mysql.Table (“article”).Field (“article_id,title”).Select ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL ())
' 数据格式: [{"article_id":"1","title":"原谅别人就等于解脱自己"},{"article_id":"2","title":"珍惜吧!没有谁会一直等你"},{"article_id":"3","title":" 木拉提和古丽娜尔的故事"},{"article_id":"4","title":"再陪你吃一顿早餐"}]
计次循环首 (记录集.记录集数 (), 计次)
调试输出 (取程序名称 (1), 记录集.取字段值 (“article_id”, 计次), 记录集.取字段值 (“title”, 计次))  ' 这里计次无需减1
计次循环尾 ()
' 使用Mysql表达式进行where查询 article_id = 2 的记录,Or 和 And 的用法相同
Mysql表达式.And (“article_id”, “2”)  ' 第三个参数为表达式,缺省为 = ,可以使用 > , < , like , in , not in , butween , no butween
记录集 = Mysql.Table (“article”).Field (“article_id,title”).Where (Mysql表达式.取Where ()).Select ()
调试输出 (取程序名称 (1), “语句:” + Mysql.SQL (), 记录集.取数据文本 ())
' 输出数据:[{"article_id":"2","title":"珍惜吧!没有谁会一直等你"}]
' 查询article_id > 2 的记录
Mysql表达式.And (“article_id”, “2”, “>”)
记录集 = Mysql.Table (“article”).Field (“article_id,title”).Where (Mysql表达式.取Where ()).Select ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 记录集.取数据文本 ())
' 查询name 包含 明 ,并且 user_id > 1 的记录
Mysql表达式.And (“name”, “%明%”, “like”)
Mysql表达式.And (“user_id”, “1”, “>”)
记录集 = Mysql.Table (“user”).Where (Mysql表达式.取Where ()).Select ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 记录集.取数据文本 ())
启动线程 (&子程序1, , 线程句柄)
启动线程 (&子程序2, , 线程句柄1)
子程序名返回值类型公开备 注
子程序1  
变量名类 型静态数组备 注
记录集Mysql记录集 
Mysql表达式Mysql表达式 
自增长ID长整数型 
影响行数长整数型 
计次整数型 
记录集 = Mysql.Table (“article a”).Order (“article_id”, #DESC ).Select ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 记录集.取数据文本 ())
' 使用Mysql表达式 Data 新增数据,data
Mysql表达式.Data (“title”, “测试标题”)
Mysql表达式.Data (“content”, “测试数'据\'内容 %含有\”#引号“特殊(敏感)字符\\\\\' and or 1 = 2”)
自增长ID = Mysql.Table (“article”).Data (Mysql表达式.取Data ()).Insert ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 自增长ID)
Mysql表达式.Data (“name”, “王强”)
Mysql表达式.Data (“age”, “12”)
自增长ID = Mysql.Table (“user”).Data (Mysql表达式.取Data ()).Insert ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 自增长ID)
强制结束线程 (线程句柄)
子程序名返回值类型公开备 注
子程序2  
变量名类 型静态数组备 注
记录集Mysql记录集 
Mysql表达式Mysql表达式 
自增长ID长整数型 
影响行数长整数型 
计次整数型 
记录集 = Mysql.Table (“article a”).Left (“user b”, “a.user_id = b.user_id”).Where (“b.user_id = 2”).Find ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 记录集.取数据文本 ())
' 使用Mysql表达式 Data 更新数据,data
Mysql表达式.And (“user_id”, “4”)
Mysql表达式.Data (“name”, “王强A”)
Mysql表达式.Data (“age”, “18”)
Mysql表达式.Data (“sex”, “1”)
影响行数 = Mysql.Table (“user”).Data (Mysql表达式.取Data ()).Where (Mysql表达式.取Where ()).Update ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 影响行数)
' 删除记录
Mysql表达式.And (“user_id”, “4”, “>”)
影响行数 = Mysql.Table (“user”).Where (Mysql表达式.取Where ()).Delete ()
调试输出 (取程序名称 (1), “SQL语句:” + Mysql.SQL (), 影响行数)
强制结束线程 (线程句柄1)
子程序名返回值类型公开备 注
_按钮1_被单击  
调试输出 (“----------------------------_按钮1_被单击--------------------------------------------”)
启动线程 (&子程序2, , 线程句柄1)


i支持库列表   支持库注释   
spec特殊功能支持库
EThread多线程支持库





易语言连接mysql模块.zip

20.11 KB, 下载次数: 228, 下载积分: 精币 -2 枚

附件中包含模块和测试代码以及数据库文件

评分

参与人数 1好评 +1 收起 理由
revolt + 1 支持开源~!感谢分享

查看全部评分


发表于 2024-8-25 04:57:33 | 显示全部楼层   湖北省武汉市
感谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2024-4-17 21:53:55 | 显示全部楼层   广东省河源市
#在这里快速回复#66666666666666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-4-2 17:38:41 | 显示全部楼层   广东省江门市
增加记录可以吗
回复 支持 反对

使用道具 举报

结帖率:57% (4/7)
发表于 2024-2-17 17:18:59 | 显示全部楼层   贵州省遵义市
谢谢楼主的分享
回复 支持 反对

使用道具 举报

结帖率:40% (2/5)
发表于 2023-12-27 13:29:22 | 显示全部楼层   江西省*
大佬牛逼哎
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2021-7-13 22:08:19 | 显示全部楼层   福建省厦门市
没有断开链接操作???
回复 支持 反对

使用道具 举报

发表于 2020-12-13 20:32:28 | 显示全部楼层   北京市北京市
收藏了,多谢
回复 支持 反对

使用道具 举报

结帖率:50% (3/6)
发表于 2020-11-28 15:15:47 | 显示全部楼层   广东省汕尾市
牛逼了,很喜欢
回复 支持 反对

使用道具 举报

结帖率:100% (31/31)
发表于 2020-11-18 17:01:40 | 显示全部楼层   广东省广州市
一只小萌 发表于 2020-4-2 20:11
我也觉得花里胡哨的。用自带mysql 我就碰到一个问题,程序长时间不用mysql  然后cha询取个字段就乱码,ch ...

使用mysql连接池
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2020-10-6 08:35:15 | 显示全部楼层   安徽省宣城市
6666666666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表