超高难度:VC通过ODBC访问SQL数据库,使用CListCtrl虚表显示,速度N慢!!如何解决?? 请关注:http://www.csdn.net/expert/topic/411/411075.shtm分数为150分十万火级,如能给出答案,再送300分有兴趣的人留下email我把程序发给你们。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你一次就显示4000条?没必要吧?一个屏幕一次最多也就看到100条而已,翻页时再读取,或者放到idle中去读取。 这不是显示慢,是你处理的时候没有弄好。你使用一个SQL语句把所有的记录都读到内存当中来,然后再把内存中的内容显示到列表框当中去,这样速度会快,另外,你可以使用存储过程来读取这些字段,而不是使用CRecordset来读取。试试ADO方式也可以。 zzh你说的有些问题:1、读到内存中,则无法显示当前记录的内容(如被修改了)2、如果到读入内存,则效果更差,还不如直接添加到Clistctrl 控件,更节省空间。 因为这样只有CLISTCTL控件有存储记录3、使用其他方法,估计结果应该是一样的,因为每一次读取一条记录,效率肯定是很 差,除非使用一次读取多条记录的方法。Kronus(Kronus) 说的不错,可以试一试!!谢谢大家的关心、讨论。 jiangsheng(蒋晟) 你有什么办法,有没有SRC给我发送一份,或者在具体些。谢谢 我的地址是:[email protected]多多讨论,多多联系!! http://msdn.microsoft.com/library/en-us/shellcc/platform/CommCtls/ListView/ListView_Using.asp?frame=true#Using_Virtual_ListView_Controls 是的,使用存储过程取得总的记录数量,以后我还是使用一般的方法来读区每一条记录,另外一个问题,就是在屏幕REFRESH时,也要重新读取相同的记录,有些浪费!!有没有其他的好办法。?? 使用CListCtrl虚表显示数据所用时间和记录数量无关,你肯定搞错了,不管有多少记录,时间应该不会超过1秒,虚表事实上显示的只是一页数据, xc(xc),我在使用虚表时,每一次窗口重画都要重新读取SQL数据记录,显示速度肯定会相对慢一些!!即使只显示相同的一页! 不会吧!我用ODBC + 虚表,7万条记录也才10秒钟,不会慢的! 建议你用Ole DB会更快,那你的刷新需要自己控制一下了 本人已经解决:1、快速统计总的记录数,不管当前记录个数有多大,我只要调用SetAbsolutePosition和IsEOF函数 28 + 7 次就OK了!!!2、还有,通过处理,显示同一条记录只要读取一次,要效提高了显示速度!! 自绘static实现鼠标划过改变部分区域背景色 keybd_event触发两次的问题,求助啊 小弟,求各位哥哥,弟弟,姐姐,妹妹一个问题。 如果bind之后返回WSAEADDRINUSE 如何处理? 关于异或线的问题 如何用双缓存实现粘贴位图后刷新全屏而不出现闪烁 RTP包长度 我想请教关于VC++的一个问题(高手进来帮个忙) 大家介绍基本学习驱动程序编写的经典书和网址,学习汇编语言的书籍 关于声卡的编程 菜鸟问题:假设注册一个新用户,要求输入“姓名”和“密码”。(帮帮我^_^) 请问做一个简单的对话框程序。如何用按纽显示出一个文件对话框来?
1、读到内存中,则无法显示当前记录的内容(如被修改了)
2、如果到读入内存,则效果更差,还不如直接添加到Clistctrl 控件,更节省空间。
因为这样只有CLISTCTL控件有存储记录
3、使用其他方法,估计结果应该是一样的,因为每一次读取一条记录,效率肯定是很
差,除非使用一次读取多条记录的方法。Kronus(Kronus) 说的不错,
可以试一试!!
谢谢大家的关心、讨论。
有没有SRC给我发送一份,或者在具体些。谢谢
[email protected]多多讨论,多多联系!!
显示速度肯定会相对慢一些!!
即使只显示相同的一页!
1、快速统计总的记录数,不管当前记录个数有多大,我只要调用SetAbsolutePosition
和IsEOF函数 28 + 7 次就OK了!!!
2、还有,通过处理,显示同一条记录只要读取一次,要效提高了显示速度!!