精易论坛

标题: MYSQL增删改查纯源码2.0|心跳功能 [打印本页]

作者: a707739277    时间: 2022-11-15 22:07
标题: MYSQL增删改查纯源码2.0|心跳功能
还是有待改进,不过基本功能已经完善,自用已经写了好几项目,借鉴的论坛的线程池,非常好用哈,
  
窗口程序集名保 留  保 留备 注
Mysql, , 公开   
变量名类 型数组备 注
集_Mysql句柄整数型  
集_许可证临界许可  
集_心跳句柄整数型  
集_心跳语句文本型  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
线程_初始化COM库 ()
集_许可证 = 临界_创建 ()
集_Mysql句柄 = 0
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用
线程_取消COM库 ()
临界_销毁 (集_许可证)
断开 ()
子程序名返回值类型公开备 注
心跳  
调试输出 (“开始执行心跳线程”, 集_Mysql句柄)
判断循环首 ()
临界_进入 (集_许可证)
执行SQL语句 (集_Mysql句柄, 集_心跳语句)
释放记录集 (取记录集 (集_Mysql句柄))  ' '释放记录集
临界_退出 (集_许可证)
Sleep (1000 × 300)
判断循环尾 ()
子程序名返回值类型公开备 注
编码逻辑型 
参数名类 型参考可空数组备 注
参_编码文本型
变量名类 型静态数组备 注
局_返回逻辑型 
临界_进入 (集_许可证)
局_返回 = 执行SQL语句 (集_Mysql句柄, “set names '” + 参_编码 + “'”)
临界_退出 (集_许可证)
返回 (局_返回)
子程序名返回值类型公开备 注
错误文本型 
变量名类 型静态数组备 注
ret_err文本型 
临界_进入 (集_许可证)
取错误文本 (集_Mysql句柄, ret_err)
临界_退出 (集_许可证)
返回 (ret_err)
子程序名返回值类型公开备 注
句柄整数型 
参数名类 型参考可空数组备 注
参_Mysql句柄整数型
如果真 (是否为空 (参_Mysql句柄))
集_Mysql句柄 = 参_Mysql句柄
返回 (集_Mysql句柄)
子程序名返回值类型公开备 注
连接逻辑型 连接时启动心跳线程,断开时销毁
参数名类 型参考可空数组备 注
参_服务器地址文本型
参_用户名文本型
参_密码文本型
参_数据库名文本型
参_端口整数型
参_心跳语句文本型
如果真 (集_Mysql句柄 ≠ 0)
关闭MySql (集_Mysql句柄)
集_Mysql句柄 = 连接MySql (参_服务器地址, 参_用户名, 参_密码, 参_数据库名, 参_端口)
如果真 (集_Mysql句柄 ≠ 0)
集_心跳句柄 = 线程_启动1 (类回调_取类地址 (3, , , ), , )
集_心跳语句 = 参_心跳语句
返回 (集_Mysql句柄 ≠ 0)
子程序名返回值类型公开备 注
断开逻辑型 
变量名类 型静态数组备 注
局_返回逻辑型 
如果真 (集_Mysql句柄 ≠ 0)
局_返回 = 关闭MySql (集_Mysql句柄)
集_Mysql句柄 = 0
线程_销毁 (集_心跳句柄)
线程_关闭句柄 (集_心跳句柄)
返回 (局_返回)
子程序名返回值类型公开备 注
增加逻辑型 
参数名类 型参考可空数组备 注
参_数据表名文本型
参_赋值Json文本型
变量名类 型静态数组备 注
局_SQL语句文本型 
局_Json类_json 
局_返回逻辑型 
局_属性名文本型0
局_计次整数型 
局_增加字段文本型 
局_增加内容文本型 
临界_进入 (集_许可证)
如果真 (局_Json.解析 (参_赋值Json))
计次循环首 (局_Json.取所有属性名 (局_属性名), 局_计次)
判断 (局_增加字段 = “”)
局_增加字段 = 局_属性名 [局_计次]
局_增加字段 = 局_增加字段 + “, ” + 局_属性名 [局_计次]
判断 (局_增加内容 = “”)
局_增加内容 = “'” + 局_Json.取通用属性 (局_属性名 [局_计次])“'”
局_增加内容 = 局_增加内容 + “, ”“'” + 局_Json.取通用属性 (局_属性名 [局_计次])“'”

计次循环尾 ()
如果真 (取文本长度 (局_增加字段) ≠ 0 取文本长度 (局_增加内容) ≠ 0)
局_SQL语句 = “INSERT INTO ” + 参_数据表名 + “ (” + 局_增加字段 + “) VALUES (” + 局_增加内容 + “)”
局_返回 = 执行SQL语句 (集_Mysql句柄, 局_SQL语句)
释放记录集 (取记录集 (集_Mysql句柄))  ' '释放记录集

临界_退出 (集_许可证)
返回 (局_返回)
子程序名返回值类型公开备 注
删除逻辑型 
参数名类 型参考可空数组备 注
参_数据表名文本型
参_删除条件文本型格式: name='1' or pass='2'
变量名类 型静态数组备 注
局_返回逻辑型 
局_SQL语句文本型 
临界_进入 (集_许可证)
局_SQL语句 = “DELETE FROM ” + 参_数据表名 + “ WHERE ” + 参_删除条件
局_返回 = 执行SQL语句 (集_Mysql句柄, 局_SQL语句)
释放记录集 (取记录集 (集_Mysql句柄))  ' '释放记录集
临界_退出 (集_许可证)
返回 (局_返回)
子程序名返回值类型公开备 注
修改逻辑型 
参数名类 型参考可空数组备 注
参_数据表名文本型
参_条件语句文本型格式:name='1' or pass='2'
参_赋值Json文本型
变量名类 型静态数组备 注
局_返回逻辑型 
局_SQL语句文本型 
局_Json类_json 
局_赋值语句文本型 
局_属性名文本型0
局_计次整数型 
临界_进入 (集_许可证)
如果真 (局_Json.解析 (参_赋值Json))
计次循环首 (局_Json.取所有属性名 (局_属性名), 局_计次)
如果真 (局_赋值语句 = “”)
局_赋值语句 = 局_属性名 [局_计次]“='” + 局_Json.取通用属性 (局_属性名 [局_计次])“'”
到循环尾 ()
局_赋值语句 = 局_赋值语句 + “, ” + 局_属性名 [局_计次]“='” + 局_Json.取通用属性 (局_属性名 [局_计次])“'”
计次循环尾 ()
如果真 (取文本长度 (局_赋值语句) ≠ 0)
局_SQL语句 = “UPDATE ” + 参_数据表名 + “ SET ” + 局_赋值语句 + “ WHERE ” + 参_条件语句
局_返回 = 执行SQL语句 (集_Mysql句柄, 局_SQL语句)
释放记录集 (取记录集 (集_Mysql句柄))  ' '释放记录集

临界_退出 (集_许可证)
返回 (局_返回)
子程序名返回值类型公开备 注
查找逻辑型 
参数名类 型参考可空数组备 注
参_数据表名文本型
参_查找条件文本型格式: name='1' and pass='2'  为空查找全部
参_返回Json文本型
局_返回字段文本型id,name,pass,user
变量名类 型静态数组备 注
局_返回逻辑型 
局_计次整数型 
局_结果字段文本型 
局_结果值文本型 
局_结果Json文本型 
局_SQL语句文本型 
局_记录集句柄整数型 
局_记录数量整数型 
临界_进入 (集_许可证)
清除数组 (参_返回Json)
判断 (是否为空 (参_查找条件))
判断 (是否为空 (局_返回字段))
局_SQL语句 = “SELECT * FROM ” + 参_数据表名
局_SQL语句 = “SELECT ” + 局_返回字段 + “ FROM ” + 参_数据表名



判断 (是否为空 (局_返回字段))
局_SQL语句 = “SELECT * FROM ” + 参_数据表名 + “ WHERE ” + 参_查找条件
局_SQL语句 = “SELECT ” + 局_返回字段 + “ FROM ” + 参_数据表名 + “ WHERE ” + 参_查找条件


局_返回 = 执行SQL语句 (集_Mysql句柄, 局_SQL语句)
判断 (局_返回 = )
局_记录集句柄 = 取记录集 (集_Mysql句柄)
局_记录数量 = 取记录集行数 (局_记录集句柄)
计次循环首 (局_记录数量, )
局_结果Json = “{”
计次循环首 (取字段总数 (局_记录集句柄), 局_计次)
序号到字段名 (局_记录集句柄, 局_计次 - 1, 局_结果字段)
读字段值 (局_记录集句柄, 局_结果字段, 局_结果值)
判断 (局_结果Json = “{”)
局_结果Json = 局_结果Json + #引号 + 局_结果字段 + #引号“:”#引号 + 局_结果值 + #引号
局_结果Json = 局_结果Json + “, ”#引号 + 局_结果字段 + #引号“:”#引号 + 局_结果值 + #引号

计次循环尾 ()
局_结果Json = 局_结果Json + “}”
加入成员 (参_返回Json, 局_结果Json)
到下一行 (局_记录集句柄)
计次循环尾 ()
释放记录集 (局_记录集句柄)
释放记录集 (取记录集 (集_Mysql句柄))  ' '释放记录集

临界_退出 (集_许可证)
返回 (局_返回)


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


作者: a707739277    时间: 2022-11-15 22:10
用到了临界许可,用线程池会出现一些乱七八糟的问题。然后心跳功能不能用,临界的几个功能精易模块都有,自己套一个子程序完事了
作者: 694336034    时间: 2022-11-15 22:24
这是你发布的升级版的么
作者: a707739277    时间: 2022-11-15 22:25
694336034 发表于 2022-11-15 22:24
这是你发布的升级版的么

是的,以前没有心跳功能,然后也有一些BUG。现在基本增删改查都可以了。然后也比较简洁,不需要记sql语句
作者: 小飞爱精易    时间: 2022-11-16 00:41

作者: 剧终0616    时间: 2022-11-16 03:53
你这个多线程效率应该不高吧,,可能用连接池会比较好。。。你直接把增删改查语句封整起来就好!
作者: singlecolor    时间: 2022-11-16 07:34
感谢分享,很给力!~
作者: cfvgbhnj    时间: 2022-11-16 07:49
感谢分享,很给力!~
作者: wuqingg    时间: 2022-11-16 08:38
就发个文件就好了~~~~~~~~~~~~
作者: FUYUEPC    时间: 2022-11-16 08:39
感谢分享,很给力!~
作者: pt1314    时间: 2022-11-16 10:23
感谢分享,很给力!~

作者: a707739277    时间: 2022-11-16 10:26
剧终0616 发表于 2022-11-16 03:53
你这个多线程效率应该不高吧,,可能用连接池会比较好。。。你直接把增删改查语句封整起来就好! ...

多线程就是为了规避原MYSQL不支持多线程的,实际上也没有用到多线程,
作者: boomsa    时间: 2022-11-16 11:03
谢谢分享
作者: kyo9766    时间: 2022-11-16 11:08
学习一下,感谢分享
作者: 杨明煜    时间: 2022-11-16 11:51
支持一下,谢谢!......
作者: 可爱阳阳    时间: 2022-11-16 15:43
支持一下,谢谢!..
作者: yxl2008    时间: 2022-11-16 16:38
支持一下,谢谢!..
作者: happyweeks365    时间: 2022-11-16 18:35
持开源~!感谢分享
作者: kingchain    时间: 2022-11-16 19:59
支持分享
作者: zhaode2888    时间: 2022-11-16 22:52
感谢分享
作者: 蓝河笑月    时间: 2022-11-18 09:27
支持开源~!感谢分享
作者: cuizheng514    时间: 2022-11-18 16:31
666666666666666666
作者: q27585306    时间: 2022-11-18 18:45
论坛这类模块也不少 主要还是得靠自己能不能习惯这些操作
作者: 哥只是一个传说    时间: 2022-11-18 20:47
这个SQL好像是连接服务器版的,不是本地SQL ?
作者: 396384183    时间: 2022-11-18 20:55

支持一下
作者: qq85668684    时间: 2022-11-19 16:08
感谢分享,很给力
作者: fyh505099    时间: 2022-11-19 20:04
感谢分享 学习一下!
作者: qinmi    时间: 2022-11-21 17:09
需要本地部署Mysql吗
作者: qinmi    时间: 2022-11-21 17:10
这种心跳检测
作者: 千狐    时间: 2022-11-22 15:31
连接时的心跳语句要填啥?话说有没有案例源码?
作者: 想学易语言    时间: 2022-11-25 21:24
感谢分享。谢
作者: znhds    时间: 2022-11-26 00:50
谢谢,学习了
作者: OUYB    时间: 2022-12-11 17:06
感觉这个是 用 json 来配合Mysql的 应该是写网络验证的 而且是用http的网络验证很合适
作者: jxm1010    时间: 2022-12-19 20:39
谢谢,学习了
作者: tina0597    时间: 2022-12-24 19:43
开源精神必须支持~ 来学习了
作者: tina0597    时间: 2022-12-24 19:45

作者: yonyoner    时间: 2022-12-25 23:24
学习一下!!!
作者: yonyoner    时间: 2022-12-26 19:40
要有例程就完美了。。。
作者: boomsa    时间: 2023-1-7 10:20
谢谢分享
作者: 为你忧伤    时间: 2023-3-7 13:08
感谢楼主分享,正好最近学习要用到
作者: 1109898791    时间: 2023-3-9 10:44

作者: fach    时间: 2023-3-11 22:57
111111111111111111111111111111111
作者: 704910100    时间: 2023-3-20 15:52
学习下
作者: wgqxj    时间: 2023-3-21 23:37
谢谢分享
作者: 李有才    时间: 2023-4-1 10:04
sadasdsad sad
作者: 李有才    时间: 2023-4-1 10:05
asdsadsadsadsadsad sad
作者: 小子轩    时间: 2023-4-13 16:15

谢谢分享
作者: dxp04    时间: 2023-4-15 16:02
谢谢分享
作者: aa583    时间: 2023-5-11 01:42
66666666666666666666666666666666666666
作者: kingcyl    时间: 2023-5-11 09:42
感谢分享
作者: wgqxj    时间: 2023-11-14 08:54
谢谢分享
作者: xiaosongle    时间: 2023-12-2 05:37
谢谢分享
作者: 月殇    时间: 2025-3-23 01:52
学习一下




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