精易论坛

标题: 条件cha询分页显示-2种cha询显示方法 [打印本页]

作者: 李泽勇2    时间: 2024-7-24 09:27
标题: 条件cha询分页显示-2种cha询显示方法
本帖最后由 李泽勇2 于 2024-7-24 16:02 编辑


  
子程序名返回值类型公开备 注
cha询数据_SQL_方法1  
参数名类 型参考可空数组备 注
页数整数型
显示数量整数型
变量名类 型静态数组备 注
SQL文本型 
已过数量整数型 
总行数整数型 
总列数整数型 
行数整数型 
列数整数型 
当前页编辑框.内容 = 到文本 (页数)
页数 = 页数 - 1  ' 默认从0开始
已过数量 = 显示数量 × 页数
' ACCESS数据库已过数量不能小于0,否则SQL语法错误,这里+1,从第2行开始显示。
' SQL SERVER数据库是支持0的,使用这个数据库需要把+1删除。
' SQLite不支持 TOP 命令,不能用于这类数据库。
' ----------------------------------SQL方法1
' SQL = “SELECT TOP ” + 到文本 (显示数量) + “ * FROM 基金净值 WHERE 序号 NOT IN (SELECT TOP ”
' SQL = SQL + 到文本 (已过数量) + “ 序号 FROM 基金净值) AND 投资类型 like '%”
' SQL = SQL + 投资类型编辑框.内容 + “%' and  管理公司 like '%” + 管理公司编辑框.内容 + “%'”
' ----------------------------------SQL方法2
' ACCESS数据库不支持这种方法,SQL SERVER数据库支持这种方法。
' SQLite不支持 TOP 命令,不能用于这类数据库。
' SQL = “select top ” + 到文本 (显示数量) + “ * from (”
' ' -- 子cha询,多加一个rownumber列返回数据
' SQL = SQL + “select   row_number() over(order by 序号 asc) as rownumber, * from 基金净值) temp_row”
' ' --限制起始行标
' SQL = SQL + “ where rownumber>” + 到文本 (已过数量)
' ----------------------------------SQL方法3
' 利用LIMIT限制输出数量实现分页显示,可惜支持MYSQL和SQLite而SQL SERVER 不支持
SQL = “SELECT * FROM 基金净值 WHERE 投资类型 like '%” + 投资类型编辑框.内容 + “%' and  管理公司 like '%” + 管理公司编辑框.内容 + “%' LIMIT ”到文本 (已过数量)“,”到文本 (显示数量)
记录集.打开 (SQL, )
总行数 = 记录集.记录数量 ()
总列数 = 记录集.字段数量 ()
超级列表框1.全部删除 ()
计次循环首 (总行数, 行数)
超级列表框1.插入表项 (, , , , , )
计次循环首 (总列数, 列数)
超级列表框1.置标题 (行数 - 1, 列数 - 1, 记录集.读字段值 (, 列数 - 1).取文本 ())
计次循环尾 ()
记录集.到下一条 ()
计次循环尾 ()
记录集.关闭 ()


i支持库列表   支持库注释   
iext扩展界面支持库一
  
子程序名返回值类型公开备 注
取数据_数组_方法2  
参数名类 型参考可空数组备 注
内容文本型二维数组
显示数量整数型行数
总数量整数型
总页数整数型
变量名类 型静态数组备 注
总列数整数型 
列数整数型 
行数整数型 
sql文本型 
sql = “select * from 基金净值  where 投资类型 like '%” + 投资类型编辑框.内容 + “%' and  管理公司 like '%” + 管理公司编辑框.内容 + “%'”
记录集.打开 (sql, 数据库, )
总数量 = 记录集.记录数量 ()
总列数 = 记录集.字段数量 ()
如果真 (总数量 ≠ 0)
记录数编辑框.内容 = “共”到文本 (总数量)“条记录”
总页数 = ���取整 (-总数量 ÷ 显示数量)
总页数编辑框.内容 = 到文本 (总页数)
重定义数组 (内容, 假, 总数量, 总列数)
计次循环首 (总数量, 行数)
计次循环首 (总列数, 列数)
内容 [行数] [列数] = 记录集.读字段值 (, 列数 - 1).取文本 ()
计次循环尾 ()
记录集.到下一条 ()
计次循环尾 ()
记录集.关闭 ()




作者: 一指温柔    时间: 2024-7-24 09:28
感谢分享
作者: love5618775    时间: 2024-7-24 09:34
当使用MYSQL,cha询的数据有几十万上百万行,如果不加limit,cha询返回结果会很慢,所以分页如果可以在cha询的SQL中加入,我个人觉得是最佳选择,单纯的使用COUNT来统计数量,然后计算分页,再到SQL里面加入limit,每次取一部分,能有效提高速度。
作者: ipkiller    时间: 2024-7-24 10:09
支持开源,感谢分享~
作者: tsg2005    时间: 2024-7-24 10:29
学习学习。
作者: 网络注册网员    时间: 2024-7-24 10:50
支持一下
作者: 撒加    时间: 2024-7-24 11:43
支持一下
作者: 李泽勇2    时间: 2024-7-24 12:29
love5618775 发表于 2024-7-24 09:34
当使用MYSQL,cha询的数据有几十万上百万行,如果不加limit,cha询返回结果会很慢,所以分页如果可以在cha ...

我也想过用limit,可是SQL SERVER不支持。
作者: LLZWWY    时间: 2024-7-24 12:48
感谢大佬无私分享
作者: kike    时间: 2024-7-24 13:11
精易有你更精彩
作者: love5618775    时间: 2024-7-24 15:05
李泽勇2 发表于 2024-7-24 12:29
我也想过用limit,可是SQL SERVER不支持。

讲道理各种数据库都支持,只是实现方式不太一样而已
作者: 高手95    时间: 2024-7-24 15:26
牛逼克里斯
作者: 李泽勇2    时间: 2024-7-24 15:58
love5618775 发表于 2024-7-24 15:05
讲道理各种数据库都支持,只是实现方式不太一样而已

MS SQL用TOP限制,MYSQL和SQLite可以用LIMIT限制。
作者: pipicool    时间: 2024-7-24 16:05
学习一下
作者: ZHuanR    时间: 2024-7-24 16:08
新技能已get√
作者: 高手95    时间: 2024-7-24 16:25
好不好用??????
作者: 李泽勇2    时间: 2024-7-24 16:39
love5618775 发表于 2024-7-24 15:05
讲道理各种数据库都支持,只是实现方式不太一样而已

我改了下,增加了SQLite数据库,使用的是LIMTI限制输出,速度还可以!!
作者: jysoft2022    时间: 2024-7-24 18:12
感谢分享
作者: 天雨时晴    时间: 2024-7-24 19:18
感谢分享
作者: elpaims1    时间: 2024-7-24 21:08
好好好好好好好好
作者: ttggnn    时间: 2024-7-24 21:41
支持开源~!感谢分享
作者: 1347379245    时间: 2024-7-24 23:25
感谢分享
作者: 查过    时间: 2024-7-25 07:21
已经顶贴,感谢您对论坛的支持!
作者: 豆豆灰常开心    时间: 2024-7-25 07:26
感谢楼主分享!
作者: 商务    时间: 2024-7-25 08:42
感谢无私分享!
作者: kyo9766    时间: 2024-7-25 09:46
注释很详细,感谢分享
作者: jtucar    时间: 2024-7-25 10:13
支持开源~!感谢分享
作者: qq73s5456    时间: 2024-7-25 11:17
#在这里快速回复#列数] = 记录集.读字段值 (, 列数 - 1).取文本 ()
作者: 胖子葛格    时间: 2024-7-25 13:46
感谢大神分享~!
作者: 396384183    时间: 2024-7-25 14:43
支持开源~!感谢分享
作者: 请按F1    时间: 2024-7-26 00:22

感谢大神分享~!
作者: hhf4977    时间: 2024-7-26 02:07
感谢分享
作者: 特权    时间: 2024-7-26 09:17
66666666666条件cha询分页显示
作者: 光影魔术    时间: 2024-7-26 14:09
感谢分享源码
作者: year1970    时间: 2024-7-27 09:56
感谢分享,学习一下
作者: fengyyun    时间: 2024-7-27 15:20

感谢分享源码
作者: ningjz    时间: 2024-7-27 17:20
开源精神必须支持~
作者: hjinpwhe1    时间: 2024-7-28 09:12
学习 学习 ~
作者: a萧哥    时间: 2024-7-29 00:52
这是用的sql数据库吗?
作者: 784326742    时间: 2024-7-29 01:19
其实都差不多,主要是语句
作者: ttai000    时间: 2024-7-29 16:28
认真学习!
作者: lm88818    时间: 2024-7-30 17:58
感谢分享,很给力!~
作者: cdzch    时间: 2024-8-2 08:48
感谢发布原创作品,精易因你更精彩!
作者: ningjz    时间: 2024-8-4 15:42
开源精神必须支持~
作者: 空竹    时间: 2024-8-8 22:10
空竹,如果您要查看本帖隐藏内容请回复
作者: 熊不熊    时间: 2024-12-4 22:39
感谢分享,很给力!~




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