delphi 中循环读取记录

zx005 2011-10-22 10:41:24
在delphi中使用ADOQuery 执行SELECT * FROM table 程序会卡老半天(数据库有50MB),不知道delphi中是否有类似于C# 中的DataReader 每次读取一条记录?请各位大侠指教
...全文
321 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kaikai_kk 2011-10-24
建索引,查询指定列,加条件,分页取数据,升级电脑
回复
truexf 2011-10-24
adoquery有一个cachesize属性,你自己调调看。
ado是微软的东西。delphi只是封装。因此你可能需要上msdn对ado进行一些研究。
回复

--/*楼主用 Top1 就可以只读1条数据了。*/

select top 1 * from 表


--/*读第二条*/

select top 1 * from (select top 2 * from 表 order by ID desc)

--/*读第N条*/
select top 1 * from (select top 2 * from 表 order by ID desc)
回复
shijies 2011-10-23
SELECT * FROM table是在服务器上执行的,但是把表全读到客户端受内存等因素的限制会很慢,ClientDataSet控件可以控制读取到客户端的记录数。
回复
IT154602009 2011-10-23
在ORACLE 中没有TOP
回复
funxu 2011-10-23
SELECT * FROM table 程序会卡老半天 那是数据库的原因,不是delphi的错吧
建索引
回复
hylf1985 2011-10-23
学习中,感觉3楼的想法不错
回复
zx005 2011-10-22
我要处理里面的每一条记录 表中的contant字段内容比较多, 我试着用C# 的 DataReader感觉就挺好,但是不知道delphi中有没有类似的方法 每次读取一条记录 循环往下读
回复
Oraclers 2011-10-22
可以根据需要列字段,如不是全部字段则建议不用*,另外你也可以在SQL语句中设置条件,每次只从数据库取需要的记录。
回复
相关推荐
发帖
数据库相关
创建于2007-08-02

2451

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2011-10-22 10:41
社区公告
暂无公告