| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:2 万行数据,如何显示比较快呢
只看楼主 加入收藏
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:10 
2 万行数据,如何显示比较快呢
我读取数据库2万多行数据,显示到MSFlexGrid1中,但是太慢了 如何改进呢?
 With MSFlexGrid1
            Do While Not rs.EOF
                     .AddItem "", 1
                    .ColWidth(0) = 1000
                    .ColWidth(1) = .Width - .ColWidth(0)
                    .Row = 1
                    .Col = 0
                    .CellAlignment = flexAlignCenterCenter

                    '在表中显示
                    .TextMatrix(1, 0) = 1
                    .TextMatrix(1, 1) =  rs(3)
                DoEvents
                rs.MoveNext
            loop
End With
搜索更多相关主题的帖子: 如何 数据库 
2014-04-16 09:15
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:4 
分页显示,所想即所见。
2014-04-16 09:30
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
收藏
得分:0 
有具体的思路吗
2014-04-16 09:30
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
收藏
得分:0 
回复 2 楼 lowxiong
有具体的思路吗
2014-04-16 09:36
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
如果不需要编辑,左右不需要滚动条。或者说滚动条不是很多。
那么可以使用 print 命令在 pictrue 上面 直接输出内容的方式来显示数据。

显示部分流程如下:
从第一行的记录号开始,可以 用 数据里的 不重复的关键字来确定,也可以用 记录号来确定。
取一行记录,显示,循环,并且判断 竖坐标。
如果竖坐标超出了显示区域,也就是 超过了 pictrue 的底边,则停止显示。
可能需要你自己找一个能支持 40000+ 的滚动条。VB自带的滚动条,+- 合计是 65000多。超出就会溢出。

代码量比较大,但好处就是 界面可以自定义,显示刷新迅速,响应滚动条速度快。可以增加自定义的特色功能,如选择一行。
---------------
如果不需要编辑,也可以试试 listview 控件。

---------------
再不行,那就只能 使用翻页技术。可以使用 MSFlexGrid1 ,但要自己填数据,不要直接把表绑定进去。
要么使用 内嵌 WEB 方式,到里面 放一个 HTML 页面,从外部或内部进行翻页。

授人于鱼,不如授人于渔
早已停用QQ了
2014-04-16 10:41
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
收藏
得分:0 
回复 5 楼 风吹过 b
但我数据库 表里的数据时随时更新的(就是其它客户端随时都在往里添加数据)。这个时候我要查询的话,相当于数据也是变动的(我是用Timer控件,1秒1刷新),问题:
1、假如用翻页的话,数据库更新后怎么办呢?
2、数据量比较大的时候,每秒都执行SQl语句,也挺慢的。
2014-04-16 11:05
vbvcr51
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:18
帖 子:364
专家分:1724
注 册:2013-11-3
收藏
得分:4 
表里面有时间吗,按时间查找数据和记录数,进行显示,不就是实现分页显示了吗?

[ 本帖最后由 vbvcr51 于 2014-4-16 11:47 编辑 ]
2014-04-16 11:32
alike123
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:107
专家分:428
注 册:2014-2-10
收藏
得分:4 
数据量大的话最好使用datagrid,一般数据使用小需要有特色的时候才用msflexgrid
2014-04-16 15:35
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:4 
2w条的记录有必要实时刷新嘛。。。。。。刷新一次能看到什么?
如果非得要刷新,就循环查询和显示吧
查询->自动分页显示(可设定停留时间)->显示到最后一页再重新查询->再分页显示 (循环)
2014-04-16 16:07
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:4 
显示那么多干嘛咧,就算喜欢拖动滚动条的快○也要看情况吧。
自己搞个分页吧,如一页20条数据什么的。
PS.就让数据呆着吧,咱只显示咱想看到的。
PS2.咱只搞过listbox 的ado数据同步显示,其他的就不清楚了。
2014-04-16 19:08
快速回复:2 万行数据,如何显示比较快呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017717 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved