TADOQuery的结果集问题

debussy 2002-07-15 09:01:25
我用TADOQuery来做查询,返回的结果集应该能够在TADOQuery.RecordSet里面吧?可是为什么我这样用不行呢?

TADOQuery1.Close;
TADOQuery1.SQL.Clear;
TADOQuery1.SQL.Add('select * from tablename');//表中不止一行数据
TADOQuery1.Open;

while not TADOQuery1.RecordSet.EOF do
begin
//..........
TADOQuery1.RecordSet.MoveNext;
end;

这样做的结果是在返回多行结果集的情况下,始终只能得到第一条记录,请问这是怎么回事?
...全文
95 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinvb 2002-07-16
  • 打赏
  • 举报
回复
TADOQuery1.Close;
TADOQuery1.SQL.Clear;
TADOQuery1.SQL.Add('select * from tablename');//表中不止一行数据
TADOQuery1.Open;

while not TADOQuery1.RecordSet.EOF do
begin
//..........
TADOQuery1.RecordSet.MoveNext;
end;


//以上循环内的语句有点像vb
你这样试试吧!

TADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from tablename');//表中不止一行数据
ADOQuery1.Open;

while not ADOQuery1.EOF do
begin
//..........
ADOQuery1.MoveNext;
end;



================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

tolimit 2002-07-16
  • 打赏
  • 举报
回复
可以说说你解决的方法吗?
caochsh 2002-07-15
  • 打赏
  • 举报
回复
TADOQuery1.Close;
TADOQuery1.SQL.Clear;
TADOQuery1.SQL.Add('select * from tablename');//表中不止一行数据
TADOQuery1.Open;

while not TADOQuery1.EOF do
begin
//..........
TADOQuery1.Next;
end;
debussy 2002-07-15
  • 打赏
  • 举报
回复
虽然是我自己找到了问题的原因,但是问了问题就得给分,虽然你没能帮助我,分还是给你
debussy 2002-07-15
  • 打赏
  • 举报
回复
我已经解决了
zsy_good 2002-07-15
  • 打赏
  • 举报
回复
如果你是这样使用的就可以
adoquery1.recordset.field[0].value;
zsy_good 2002-07-15
  • 打赏
  • 举报
回复
这个简单呀,你在那里面肯定使用了
adoquery1.fieldbyname('somefield').asstring;

所以你要使用

adoquery1.next;来移动指针
debussy 2002-07-15
  • 打赏
  • 举报
回复
奇怪就奇怪在这里,我也知道能够那么做,而且我写了个小程序来测试,也能成功,为什么在我现在的这个里面却不行了?估计是我现在这个有点问题。
byrrj 2002-07-15
  • 打赏
  • 举报
回复
这是DELPHI,它封装了ADO
改成
while not TADOQuery1.EOF do //刚才这里多了一点
begin
//..........
TADOQuery1.Next;
end;


byrrj 2002-07-15
  • 打赏
  • 举报
回复
这是DELPHI,它封装了ADO
改成
while not TADOQuery1..EOF do
begin
//..........
TADOQuery1.Next;
end;

debussy 2002-07-15
  • 打赏
  • 举报
回复
别沉阿,我多难得问一次问题,大家就给点面子,帮我一下

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧