精易论坛

标题: [例程]NX线程池 MySql连接池 超级喂饭式 例程 纯源码 超级好用 [打印本页]

作者: jcos    时间: 2024-4-19 21:17
标题: [例程]NX线程池 MySql连接池 超级喂饭式 例程 纯源码 超级好用
这个 nx线程池 很是简洁但也很是实用, 自己也是在用, 所以也会不定时更新而且已经共有一千多人下载过, 至于现在已经在使用的有多少, 就不清楚了
可以在这里举个脚, 说说使用感受 ,让我感受下分享的动力

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

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

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


  
子程序名返回值类型公开备 注
_按钮_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”、“[email protected]”: name='jack',email='[email protected]'
等待时间整数型默认10秒 ,连接池满时,等待多少秒钟后再取.
变量名类 型静态数组备 注
句柄整数型 
' 检测连接状态 ()
如果真 (是否为空 (等待时间) 等待时间 < 1)
等待时间 = 10
如果真 (MYSQL.取出句柄 (句柄, 等待时间))
如果真 (增加记录 (句柄, 表名, 赋值语句))
MYSQL.归还句柄 (句柄)
返回 ()
MYSQL.归还句柄 (句柄)
返回 ()
子程序名返回值类型公开备 注
NX_修改数据逻辑型 MYSQL修改数据
参数名类 型参考可空数组备 注
表名文本型本参数是您要更新数据的表的名称,如果为中文表名请在表名两边加“`”,如:`姓名`
赋值语句文本型例如为字段name与email分别赋予值“sun”、“[email protected]”: name='sun',email='[email protected]',如果为中文字段名请在字段名两边加“`”,如:`姓名`
条件文本型本参数是查找符合条件的记录。如果为“”空字符串那么将更新所有记录。例如当字段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://125.confly.eu.org/forum.php?mod=viewthread&tid=14818656
欢迎使用, 欢迎二创三创, 有好的想法及改造后, 请记得分享出来,谢谢!
我们一起为广大易友做贡献!
补充内容 (2024-4-22 11:26):
经发现, 线程池使用多参数传递后,线程执行后会有问题,  等我有空后再重新弄过吧, 到时弄成 通用型传参, 现在这个放弃使用, 还有mysql连接池心跳问题.

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

https://125.confly.eu.org/forum.php?mod=viewthread&tid=14819247

补充内容 (2024-7-23 22:00):
20240723最新版 https://125.confly.eu.org/forum.php?mod=viewthread&tid=14829142

补充内容 (2024-7-29 20:49):
20240729 最新版本  https://125.confly.eu.org/forum.php?mod=viewthread&tid=14829729

补充内容 (2024-11-7 12:35):
最新版已更新至 20241107 请下载新版 https://125.confly.eu.org/forum.php?mod=viewthread&tid=14839441
作者: 447485268    时间: 2024-4-19 21:20
支持开源~!感谢分享
作者: ゞωǒ天堂牧心    时间: 2024-4-19 21:25
复制上面的源码去 测试就行
作者: 不苦小和尚    时间: 2024-4-19 21:28
谢谢分享,不错不错
作者: 华庭大哥    时间: 2024-4-19 21:37
谢谢分享,不错不错
作者: wohenhao123    时间: 2024-4-19 21:47
谢谢分享,不错不错
作者: 君九    时间: 2024-4-19 21:56
感谢分享
作者: 广西彭于晏    时间: 2024-4-19 21:59
感谢分享
作者: 广西彭于晏    时间: 2024-4-19 21:59
这个很详细 可以很厉害
作者: 没事瞎琢磨    时间: 2024-4-19 22:01
回复本帖可获得 1 枚 精币奖励! 每人限 1 次(中奖概率 80 %)
作者: 不得了了    时间: 2024-4-19 22:02
好东西啊
作者: 2608881662    时间: 2024-4-19 22:12
6666666666666666666666666666666666666666666
作者: 清风徐来2    时间: 2024-4-19 22:23
感谢分享
作者: nihao6681    时间: 2024-4-19 22:37
感谢楼主分享

作者: 1946222945    时间: 2024-4-19 22:37
看看怎么样
作者: emodiyu    时间: 2024-4-19 22:38
这个很详细 可以很厉害
作者: xf702    时间: 2024-4-19 22:46
感谢感谢。。。
作者: qqmqqg    时间: 2024-4-19 22:48
66666666666666666666666666666
作者: 灵海雪缘    时间: 2024-4-19 22:52

作者: ljx111    时间: 2024-4-19 22:52
感谢分享~~~~~~~~~~~~~~~~~~~~
作者: static101    时间: 2024-4-19 22:59
多线程?还是数据库
作者: yl6666    时间: 2024-4-19 23:01
看看                  
作者: xcfzzzzz    时间: 2024-4-19 23:01
66666666666666666666666666
作者: cosset    时间: 2024-4-19 23:18
66666666666666666666666666
作者: xibeilon    时间: 2024-4-19 23:20
感谢分享
作者: chr8828    时间: 2024-4-19 23:26

看看                  

作者: peijun    时间: 2024-4-19 23:41
感谢分享
作者: vcqybq    时间: 2024-4-19 23:56
支持支持支持支持支持支持支持支持支持支持
作者: 长安啊    时间: 2024-4-20 00:30
6666666666666
作者: 香草?Triste°    时间: 2024-4-20 00:34
感谢分享,
作者: 北冥    时间: 2024-4-20 00:48
事务之类的其实也要有,弄myql就没有不用事务的
作者: hhf4977    时间: 2024-4-20 01:32
感谢分享
作者: hhf4977    时间: 2024-4-20 01:32
感谢分享
作者: fire9    时间: 2024-4-20 02:12
感谢分享。
作者: dzscuz    时间: 2024-4-20 02:15
看看,学学,支持楼主
作者: hardchao    时间: 2024-4-20 02:53
谢谢分享,学习下
作者: snufgpl    时间: 2024-4-20 03:10

谢谢分享,学习下
作者: ZHuanR    时间: 2024-4-20 03:48
新技能已get√
作者: fangcl20    时间: 2024-4-20 07:52
感谢分享
作者: 查过    时间: 2024-4-20 07:57
感谢发布原创作品,精易因你更精彩!6666666666666
作者: chenliben    时间: 2024-4-20 07:57
感谢分享
作者: mood100    时间: 2024-4-20 08:00
谢谢分享,学习了
作者: 豆豆灰常开心    时间: 2024-4-20 08:02
下个学习一下
作者: tsg2005    时间: 2024-4-20 08:21
赞一个   
作者: i165    时间: 2024-4-20 08:27
下个学习一下
作者: gdhong    时间: 2024-4-20 08:34
下个学习一下
作者: 网络注册网员    时间: 2024-4-20 08:42
支持开源
作者: 小虎来了    时间: 2024-4-20 08:44
支持开源~!感谢分享
作者: shituo    时间: 2024-4-20 08:47
迎使用, 欢迎二创三创, 有好
作者: fyh505099    时间: 2024-4-20 08:54
感谢分享 支持开源

作者: shinid8210    时间: 2024-4-20 09:02
感谢分享 支持开源
作者: 菜就多多练    时间: 2024-4-20 09:06
可直接使用官方的mysql各种命令
作者: 杰西卡技术传媒    时间: 2024-4-20 09:16
感谢分享 支持开源
作者: 萨比    时间: 2024-4-20 09:21

感谢分享 支持开源
作者: wuqingg    时间: 2024-4-20 09:30
感谢分享 支持开源
作者: wuqingg    时间: 2024-4-20 09:31
感谢分享 支持开源
作者: quary    时间: 2024-4-20 09:44
谢谢楼主分享!!! 好人一生平安!!!
作者: 鱼雨遇玉羽    时间: 2024-4-20 10:24
感谢分享支持一下
作者: kike    时间: 2024-4-20 10:26
精易有你更精彩
作者: 天雨时晴    时间: 2024-4-20 10:28
学习了
作者: 一指温柔    时间: 2024-4-20 10:45
支持开源~!感谢分享
作者: lrbf810    时间: 2024-4-20 10:52
谢谢大佬分享
作者: mytiger    时间: 2024-4-20 11:28
感谢分享~!
作者: jysoft2022    时间: 2024-4-20 11:33
谢谢分享
作者: kantal    时间: 2024-4-20 12:53
支持开源~!感谢分享
作者: pt1314    时间: 2024-4-20 13:33
支持开源~!感谢分享

作者: q35588    时间: 2024-4-20 14:54
感谢分享,很给力!~
作者: as526292663    时间: 2024-4-20 15:03
来个redis的
作者: frewthrthr    时间: 2024-4-20 15:04

支持开源~!感谢分享
作者: kyo9766    时间: 2024-4-20 15:22
学习一下连接池,感谢分享
作者: qq73s5456    时间: 2024-4-20 15:29
回帖有奖,
作者: 396384183    时间: 2024-4-20 15:55
NX线程池 MySql连接池 超级喂饭式 例程 纯源码 超级好用
作者: 18770426360    时间: 2024-4-20 16:41
MySql连接池 超级喂饭式 例程 纯源码 超级好用 [修改]
作者: po1718    时间: 2024-4-20 16:41
感谢分享,很给力!~
作者: zu616    时间: 2024-4-20 16:42
感谢分享,很给力!~
作者: chenqingtun2    时间: 2024-4-20 17:22
支持支持

作者: My刘    时间: 2024-4-20 18:57
支持支持
作者: yu520    时间: 2024-4-20 19:15
感谢分享
作者: yxl2008    时间: 2024-4-20 19:33
谢谢分享,下载学习!!!
作者: 红尘旧梦i    时间: 2024-4-20 20:08
感觉应该是多线程里面挺牛逼的了
作者: 想学易语言    时间: 2024-4-20 20:52
感谢分享,很给力!~
作者: ensurf    时间: 2024-4-20 21:04
学习一下

作者: ttggnn    时间: 2024-4-20 21:14
感谢分享,很给力!~
作者: Yy闲人    时间: 2024-4-20 22:35
感谢分享,很给力!~
作者: Yy闲人    时间: 2024-4-20 22:35
感谢分享,很给力!~
作者: 740949011    时间: 2024-4-20 22:50
66666666666666
作者: 光影魔术    时间: 2024-4-20 23:04
感谢分享、
作者: 雨落无尘    时间: 2024-4-20 23:29
66666666666666666
作者: 技术    时间: 2024-4-21 00:44
        感谢分享,很给力!~
作者: 查过    时间: 2024-4-21 07:09
感谢楼主分享!
作者: 豆豆灰常开心    时间: 2024-4-21 07:14
感谢您对论坛的支持!
作者: w521521    时间: 2024-4-21 07:56
感谢分享,很给力!~
作者: w521521    时间: 2024-4-21 07:57
感谢分享,很给力!~
作者: w521521    时间: 2024-4-21 08:00
感谢分享,很给力!~
作者: czvv    时间: 2024-4-21 08:59
学习学习~~~~
作者: 396384183    时间: 2024-4-21 09:13
学习一下
作者: 8187524    时间: 2024-4-21 09:50
正好需要 真好 感谢
作者: 2313291647    时间: 2024-4-21 09:53
66666666666666666666666666
作者: QQ46613952    时间: 2024-4-21 11:05
66666666666666666666666666666666666
作者: EkinCheng00    时间: 2024-4-21 11:36
感谢分享,很给力!~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4