开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 3175|回复: 177
收起左侧

[易源码分享] [例程]NX线程池 MySql连接池 超级喂饭式 例程 纯源码 超级好用

  [复制链接]
结帖率:100% (10/10)
发表于 2024-4-19 21:17:21 | 显示全部楼层 |阅读模式   广东省茂名市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
这个 nx线程池 很是简洁但也很是实用, 自己也是在用, 所以也会不定时更新而且已经共有一千多人下载过, 至于现在已经在使用的有多少, 就不清楚了
可以在这里举个脚, 说说使用感受 ,让我感受下分享的动力

昨天新增MYSQL连接池 进去, 虽然很是简洁简单,但真的是实用

但是...
连接池始初化后, 之后的每一次 增 删 改 查 操作
都需要取连接池中的某一条句柄, 还要归还句柄,还要释放记录集句柄等等....
每次都需要调用一大堆这些东东....
于是... 我封装了几个子程序, 供大家调用
这下子真的是简单得来, 又非常之实用了哈

对了, NX_cha询数据() 这个返回的是 JSON 数据
其它的只返回真假
: mysql采用的是官方支持库,可直接使用官方的mysql各种命令

VX截图_20240419204551.jpg
  
子程序名返回值类型公开备 注
_按钮_MY开启_被单击 开启始初化线程池
如果真 (MYSQL.创建连接 (, “json”, “json123”, “video”, , 到整数 (编辑框_MY数量.内容), ))  ' 填写你的数据库连接信息
如果 (MYSQL.取空闲数 () > 0)
调试输出 (“mysql连接池 已存在”)
编辑框_返回值.内容 = “mysql连接池 已存在”
调试输出 (“mysql连接池 失败,请查看 连接参数 或 mysql数据库 是否正常”)
编辑框_返回值.内容 = “mysql连接池 失败,请查看 连接参数 或 mysql数据库 是否正常”


子程序名返回值类型公开备 注
_按钮_执行MY_被单击 增 删 改 查 ,全部例子
变量名类 型静态数组备 注
局_记录集句柄整数型 
句柄整数型 
返回值文本型 
测试整数型 
如果真 (MYSQL.取MY状态 ())
调试输出 (“mysql连接池 未创建”)
返回 ()
编辑框_返回值.内容 = “”
测试 = 2
如果真 (测试 = 1)
' 取出一个连接句柄,如没空闲句柄,将等待 5秒再取
MYSQL.取出句柄 (句柄, 5)
' 查找数据库内容,用易自带的 mysql支持库命令即可
局_记录集句柄 = 查找记录 (句柄, “nx_ks_uid”, “msname”, “”, “”)
' 读数据库字段内容
读字段值 (局_记录集句柄, “msname”, 返回值)
' 输出内容
调试输出 (“取出的数量”, 取记录集行数 (局_记录集句柄), “取出的句柄”, 句柄, “记录集的句柄”, 局_记录集句柄, “cha询到的内容”, 返回值)
编辑框_返回值.内容 = “取出的数量 ”到文本 (取记录集行数 (局_记录集句柄)) + “ 取出的句柄 ”到文本 (句柄)“ 记录集的句柄 ”到文本 (局_记录集句柄)“ cha询到的内容 ” + 返回值
' 记得释放记录集
释放记录集 (局_记录集句柄)
' 用完记得归还一个句柄,好让别的任务使用
调试输出 (“归还句柄”, MYSQL.归还句柄 (句柄))
如果真 (测试 = 2)  ' 查数据
编辑框_返回值.加入文本 ( #换行符NX_cha询数据 (“nx_user”, “uid,name,pass”, “uid<6”, “uid DESC”, 2, ))
如果真 (测试 = 3)  ' 改数据
如果 (NX_修改数据 (“table_name”, “name='999999999'”, “id=1”, ))
调试输出 (“修改成功”)
编辑框_返回值.加入文本 ( #换行符“修改成功”)
调试输出 (“修改失败”)
编辑框_返回值.加入文本 ( #换行符“修改失败”)

如果真 (测试 = 4)  ' 删数据
如果 (NX_删除数据 (“table_name”, “name='999999999'”, ))
调试输出 (“删除成功”)
编辑框_返回值.加入文本 ( #换行符“删除成功”)
调试输出 (“删除失败”)
编辑框_返回值.加入文本 ( #换行符“删除失败”)

如果真 (测试 = 5)  ' 增数据
如果 (NX_新增数据 (“table_name”, “name='999999999'”, ))
调试输出 (“添加成功”)
编辑框_返回值.加入文本 ( #换行符“添加成功”)
调试输出 (“添加失败”)
编辑框_返回值.加入文本 ( #换行符“添加失败”)


子程序名返回值类型公开备 注
NX_cha询数据文本型 MYSQL查找数据,返回 json 数据
参数名类 型参考可空数组备 注
表名文本型本参数是您要cha询的表的名称,如果为中文表名请在表名两边加“`”,如:`姓名`
字段名文本型默认 * 所有字段 , 例子1 单个字段 name  例子2 多个字段 name,email,id
查找条件文本型如果您要查找name的值为jack并且id的值为2的记录 name='jack' and id=2 或者id的值为2的记录 name='jack' or id=2
排序条件文本型本参数是排序的条件,ASC为升序,DESC为降序。例如要对name字段进行降序排序: name DESC
取行数量整数型默认取全部
等待时间整数型默认10秒 ,连接池满时,等待多少秒钟后再取.
变量名类 型静态数组备 注
句柄整数型 
局_记录集整数型 
返回值文本型 
json类_json 
i整数型 
u整数型 
取字段名文本型 
取数量值文本型 
记录集行数整数型 
' 检测连接状态 ()
如果真 (是否为空 (等待时间) 等待时间 < 1)
等待时间 = 10
如果真 (MYSQL.取出句柄 (句柄, 等待时间))
如果真 (是否为空 (字段名))
字段名 = “*”
如果真 (是否为空 (查找条件))
查找条件 = “ WHERE ” + 查找条件
如果真 (是否为空 (排序条件))
排序条件 = “ ORDER BY ” + 排序条件
如果真 (是否为空 (取行数量) 取行数量 > 0)
取数量值 = “ LIMIT ”到文本 (取行数量)
如果 (执行SQL语句 (句柄, “SELECT ” + 字段名 + “ FROM ” + 表名 + 查找条件 + 排序条件 + 取数量值))
局_记录集 = 取记录集 (句柄)
记录集行数 = 取记录集行数 (局_记录集)
json.置属性 (“['状态']”, “成功”, )
json.置属性 (“['数量']”, 到文本 (记录集行数), )
json.置属性 (“['” + 表名 + “']”, “[]”, )
计次循环首 (记录集行数, u)
json.置属性 (“['” + 表名 + “'][”到文本 (u - 1)“]”, “{}”, )
计次循环首 (取字段总数 (局_记录集), i)
序号到字段名 (局_记录集, i - 1, 取字段名)
读字段值 (局_记录集, 取字段名, 返回值)
json.置属性 (“['” + 表名 + “']['”到文本 (u - 1)“']['” + 取字段名 + “']”, “[]”, )
json.置属性 (“['” + 表名 + “']['”到文本 (u - 1)“']['” + 取字段名 + “']”, 返回值, )
计次循环尾 ()
到下一行 (局_记录集)
计次循环尾 ()
返回值 = json.取数据文本 ()
json.置属性 (“['状态']”, “失败”, )
返回值 = json.取数据文本 ()
释放记录集 (局_记录集)
MYSQL.归还句柄 (句柄)
返回 (返回值)
子程序名返回值类型公开备 注
NX_新增数据逻辑型 MYSQL保存数据 到数据库
参数名类 型参考可空数组备 注
表名文本型本参数是您要写入新记录的表的名称,如果为中文表名请在表名两边加“`”,如:`姓名`
赋值语句文本型例如增加一条记录并且为字段name与email分别赋予值“jack”、“jack@126.com”: name='jack',email='jack@126.com'
等待时间整数型默认10秒 ,连接池满时,等待多少秒钟后再取.
变量名类 型静态数组备 注
句柄整数型 
' 检测连接状态 ()
如果真 (是否为空 (等待时间) 等待时间 < 1)
等待时间 = 10
如果真 (MYSQL.取出句柄 (句柄, 等待时间))
如果真 (增加记录 (句柄, 表名, 赋值语句))
MYSQL.归还句柄 (句柄)
返回 ()
MYSQL.归还句柄 (句柄)
返回 ()
子程序名返回值类型公开备 注
NX_修改数据逻辑型 MYSQL修改数据
参数名类 型参考可空数组备 注
表名文本型本参数是您要更新数据的表的名称,如果为中文表名请在表名两边加“`”,如:`姓名`
赋值语句文本型例如为字段name与email分别赋予值“sun”、“sun@126.com”: name='sun',email='sun@126.com',如果为中文字段名请在字段名两边加“`”,如:`姓名`
条件文本型本参数是查找符合条件的记录。如果为“”空字符串那么将更新所有记录。例如当字段name的内容“jack”时更新记录: name='jack'
等待时间整数型默认10秒 ,连接池满时,等待多少秒钟后再取.
变量名类 型静态数组备 注
句柄整数型 
' 检测连接状态 ()
如果真 (是否为空 (等待时间) 等待时间 < 1)
等待时间 = 10
如果真 (MYSQL.取出句柄 (句柄, 等待时间))
如果真 (更新记录 (句柄, 表名, 赋值语句, 条件))
MYSQL.归还句柄 (句柄)
返回 ()
MYSQL.归还句柄 (句柄)
返回 ()
子程序名返回值类型公开备 注
NX_删除数据逻辑型 MYSQL删除数据
参数名类 型参考可空数组备 注
表名文本型需删除操作的表的名称,如果为中文表名请在表名两边加“`”,如:`姓名`
条件文本型如果为“”(空字符串)将删除所有记录。例如当字段name的内容为“jack”时删除记录: name='jack',如果为中文字段名请在字段名两边加“`”,如:`姓名`
等待时间整数型默认10秒 ,连接池满时,等待多少秒钟后再取.
变量名类 型静态数组备 注
句柄整数型 
' 检测连接状态 ()
如果真 (是否为空 (等待时间) 等待时间 < 1)
等待时间 = 10
如果真 (MYSQL.取出句柄 (句柄, 等待时间))
如果真 (删除记录 (句柄, 表名, 条件))
MYSQL.归还句柄 (句柄)
返回 ()
MYSQL.归还句柄 (句柄)
返回 ()


i支持库列表   支持库注释   
spec特殊功能支持库
mysqlMySql支持库


不想花精币的, 就复制上面的源码去 测试就行
: mysql采用的是官方支持库,可直接使用官方的mysql各种命令


最新例子源码在此下载:(回复下载)
游客,如果您要查看本帖隐藏内容请回复

整个源码及成品在此:
https://bbs.125.la/forum.php?mod=viewthread&tid=14818656
欢迎使用, 欢迎二创三创, 有好的想法及改造后, 请记得分享出来,谢谢!
我们一起为广大易友做贡献!
补充内容 (2024-4-22 11:26):
经发现, 线程池使用多参数传递后,线程执行后会有问题,  等我有空后再重新弄过吧, 到时弄成 通用型传参, 现在这个放弃使用, 还有mysql连接池心跳问题.

补充内容 (2024-4-23 01:38):
2024/04/23 更新
修复MySql心跳,
修复线程池传参,
调整传参数量
,

https://bbs.125.la/forum.php?mod=viewthread&tid=14819247

点评

2024/04/23 更新 修复MySql心跳, 修复线程池传参, 调整传参数量, https://bbs.125.la/forum.php?mod=viewthread&tid=14819247   广东省茂名市  发表于 2024-4-23 01:38

评分

参与人数 22好评 +2 精币 +24 收起 理由
wa690602724 + 1 感谢分享,很给力!~
种植 + 1 感谢分享,很给力!~
金少yy + 1 感谢分享,很给力!~
网络注册会员 + 1 + 1 感谢分享,很给力!~
pj小黑屋 + 1 感谢分享,很给力!~
六先生 + 1 + 2 感谢分享,很给力!~
无尘666 + 1 感谢分享,很给力!~
t176 + 1 感谢分享,很给力!~
望尘莫及 + 1 感谢分享,很给力!~
qweipuq + 1 感谢分享,很给力!~
1828902364 + 1 感谢分享,很给力!~
风雨3137 + 1 感谢分享,很给力!~
qiyuer + 1 感谢分享,很给力!~
聿聿 + 1 感谢分享,很给力!~
ewake + 1 感谢分享,很给力!~
Zźh926 + 1 感谢分享,很给力!~
ican8 + 1 感谢分享,很给力!~
光影魔术 + 2 新技能已get√
YzZA + 1 感谢分享,很给力!~
kyo9766 + 1 感谢分享,很给力!~
XXGL2005 + 1 感谢分享,很给力!~
keyi5566 + 1 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

发表于 昨天 23:03 | 显示全部楼层   江苏省苏州市
回复 支持 反对

使用道具 举报

结帖率:67% (4/6)

签到天数: 14 天

发表于 4 天前 | 显示全部楼层   河南省商丘市
谢谢,下载下来学习一下
回复 支持 反对

使用道具 举报

结帖率:25% (1/4)

签到天数: 4 天

发表于 4 天前 | 显示全部楼层   江苏省徐州市
不错正好需要太好了1
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层   云南省昆明市
感谢您的分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 1 天

发表于 2024-5-2 08:58:56 | 显示全部楼层   广东省深圳市
        感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:93% (80/86)

签到天数: 6 天

发表于 2024-5-1 18:37:05 | 显示全部楼层   重庆市重庆市
WallBreaker
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)

签到天数: 4 天

发表于 2024-4-26 22:07:56 | 显示全部楼层   江苏省连云港市
感谢分享,正需要呢
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2024-4-26 21:21:57 | 显示全部楼层   广东省佛山市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-4-26 14:51:51 | 显示全部楼层   广西壮族自治区南宁市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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