DAO操作结果显示问题,快帮帮我呀!来者有分,分不够可以再加!

时间:2022-09-13 19:56:39
最近在做一个小东东,要访问ACCESS数据库,采用DAO方式.

在操作结果显示时碰到了麻烦:我照着一本讲VC数据库编程的书上做的:

把记录显示在列表控件里,在进行排序,修改,添加,删除等操作后,先清空列表控件中

原有的内容,再重新读取更新后的数据库,然后又全部重新显示到列表控件,可速度慢

得象蜗牛一样;

我试了,在数据库记录很少时这种方法道还去意得去,偏偏我的数据库记录又很多!

众高手们,快帮帮我呀!

你们遇到这种问题都怎么处理的?提供点好的方法和建议,好吗?

谢谢了先!在线等待!

20 个解决方案

#1


怎么没人吗?

大家快来帮帮我这个菜鸟呀!

#2


你的数据有多少?

#3


TOlshadow(光影) :

其实也不多,近一千条记录吧,每条记录有28个字段!

#4


慢的象蜗牛?等多长时间才出现?

#5


说具体点吧!

我能看见列表控件的滚动条,从长到慢慢变短!最后才显示出记录来!

在ACCESS里,可是很快的呀!

#6


我试了,1100条记录,用了2秒钟读出,我的机器K6-2 450的,96兆内存

28个字段?就是说有28列吗?

#7


是的,28列

970多条记录

我的机器是C400/128M/大概也是要2至4秒吧!

因为用户时常要进行排序,修改,添加,删除操作,要是这种速度,我想不管是哪个用户都受不了!他们会说还不如直接用ACCESS呢!

#8


老兄:
看你出你在这方面是一个高手!还是两星会员

你遇到这种问题都怎么处理的,
有其它好的方法吗?

谢谢你了先!你一定要帮我!

#9


我是分页显示的,一页只显示300条记录,然后翻页
我看了Access的,它实际上也要大概2秒多读出,但毕竟比我们快
你看到的快是因为它先显示出大概100条记录,然后在继续添加的
你也可以这样做
要是想一下子全显示出来,就先hide然后show

#10


分页显示,具体怎么实现呢?能说说思路嘛?

还有,如果一个全显示出来,就先hide然后show,这句话的意思我不太明白,能说具体点吗?

感谢你这么热心肠!

#11


不要谢,是我以前做过的,也是DAO+ACCESS+ListCtrl

ListCtrl.ShowWindow(SW_HIDE);
...
加入数据
...
ListCtrl.ShowWindow(SW_SHOW);

#12


分页显示就是一次只读取300个数据,然后添加
但选择上一页或下一页时,读取上300个数据或者下300个数据
也可以有一个选项是选择哪一页,然后读取相映的数据

#13


如上面哪样,所需的时间还是一样呀!

分页显示你以前是怎么做的呢?

在ACCESS里面,如果删除一条记录,一闪就过了呀!

说明一下:
表主萦引是姓名字段,我在定位时用的是FINDFIRST()函数找到列表中当前选定行的姓名,进行定位,因为记录很多,在查找时定位,这里会不会有所影响呢?

#14


关于分页显示:

你是接收是列表控件的"滚动条消息"还是主框架的"滚动条消息"呢?如果这样,用户就只能以页用单位滚动,而不能一条一条的移动记录是吗?

#15


关于分页,你可以自己添加按钮来让用户控制不好吗?

#16


在数据库中定位是很快的,不用担心

#17


不明白你说的,你删一条记录也应该是一下就好了啊

有qq吗?931661

#18


谢谢你了!

我现在心里总算有点"谱"了,我明天试试看(我现在在网吧)!

我想我还会碰上难题的,到时候多向你请教,希望你不要"烦"我哟!

分改天一定给,决不失言!

#19


大家还有其它好的见意嘛!

你们以前都怎么做的,快帮帮忙嘛!

谢谢了先!

分不够我可以另外开贴子给!

#20


http://www.csdn.net/Develop/read_article.asp?id=9581

#1


怎么没人吗?

大家快来帮帮我这个菜鸟呀!

#2


你的数据有多少?

#3


TOlshadow(光影) :

其实也不多,近一千条记录吧,每条记录有28个字段!

#4


慢的象蜗牛?等多长时间才出现?

#5


说具体点吧!

我能看见列表控件的滚动条,从长到慢慢变短!最后才显示出记录来!

在ACCESS里,可是很快的呀!

#6


我试了,1100条记录,用了2秒钟读出,我的机器K6-2 450的,96兆内存

28个字段?就是说有28列吗?

#7


是的,28列

970多条记录

我的机器是C400/128M/大概也是要2至4秒吧!

因为用户时常要进行排序,修改,添加,删除操作,要是这种速度,我想不管是哪个用户都受不了!他们会说还不如直接用ACCESS呢!

#8


老兄:
看你出你在这方面是一个高手!还是两星会员

你遇到这种问题都怎么处理的,
有其它好的方法吗?

谢谢你了先!你一定要帮我!

#9


我是分页显示的,一页只显示300条记录,然后翻页
我看了Access的,它实际上也要大概2秒多读出,但毕竟比我们快
你看到的快是因为它先显示出大概100条记录,然后在继续添加的
你也可以这样做
要是想一下子全显示出来,就先hide然后show

#10


分页显示,具体怎么实现呢?能说说思路嘛?

还有,如果一个全显示出来,就先hide然后show,这句话的意思我不太明白,能说具体点吗?

感谢你这么热心肠!

#11


不要谢,是我以前做过的,也是DAO+ACCESS+ListCtrl

ListCtrl.ShowWindow(SW_HIDE);
...
加入数据
...
ListCtrl.ShowWindow(SW_SHOW);

#12


分页显示就是一次只读取300个数据,然后添加
但选择上一页或下一页时,读取上300个数据或者下300个数据
也可以有一个选项是选择哪一页,然后读取相映的数据

#13


如上面哪样,所需的时间还是一样呀!

分页显示你以前是怎么做的呢?

在ACCESS里面,如果删除一条记录,一闪就过了呀!

说明一下:
表主萦引是姓名字段,我在定位时用的是FINDFIRST()函数找到列表中当前选定行的姓名,进行定位,因为记录很多,在查找时定位,这里会不会有所影响呢?

#14


关于分页显示:

你是接收是列表控件的"滚动条消息"还是主框架的"滚动条消息"呢?如果这样,用户就只能以页用单位滚动,而不能一条一条的移动记录是吗?

#15


关于分页,你可以自己添加按钮来让用户控制不好吗?

#16


在数据库中定位是很快的,不用担心

#17


不明白你说的,你删一条记录也应该是一下就好了啊

有qq吗?931661

#18


谢谢你了!

我现在心里总算有点"谱"了,我明天试试看(我现在在网吧)!

我想我还会碰上难题的,到时候多向你请教,希望你不要"烦"我哟!

分改天一定给,决不失言!

#19


大家还有其它好的见意嘛!

你们以前都怎么做的,快帮帮忙嘛!

谢谢了先!

分不够我可以另外开贴子给!

#20


http://www.csdn.net/Develop/read_article.asp?id=9581

#21