CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

显示返回数据集的问题!

楼主huawei55(新用户)2005-06-02 00:54:11 在 Delphi / 数据库相关 提问

我用adoquery   查找表yt   中no=1   的数据  
  adoquery1。sql。strings[0]:='select   *   from   yt   where   no=1'  
  if   adoquery1.recondcont>0   then  
  edit1.text:=adofieldbyname('ino_id').asstring;  
   
  可是如果返回的记录多于一条,例如返回:no         ino_id       ss  
                                                                              1               t             tit  
                                                                              1               f             dff  
  那edit1.text不会有值,有什么方法可以让edit1.text   为第一条记录的ino_id   也就是   t  
  如果加一个edit2.text   把第二条记录的ino_id   也就是   f赋值给它  
   
  有什么方法可以实现啊?  
  请大侠指教!  
  问题点数:50、回复次数:9Top

1 楼huawei55(新用户)回复于 2005-06-02 00:56:03 得分 0

只有一条是可以的,但一多就不行了,有办法解决么?Top

2 楼JetJack(喷气引擎)回复于 2005-06-02 08:36:40 得分 20

可不可以这样;  
  adoquery1.open;  
  if   not   adoquery1.isempty   then   begin  
        adoquery1.first;  
        edit1.text:=adofieldbyname('ino_id').asstring;  
        adoquery1.next;  
        if   not   adoquery1.eof   then  
            edit1.text:=adofieldbyname('ino_id').asstring;      
  end;Top

3 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-06-02 08:50:01 得分 10

用adoquery1.first读取第一条记录,next读取下一条记录  
  另外你加载sql语句的写法不大规范,最好用  
  adoquery1.sql.clear;  
  adoquery1.sql.add('select   *   from   yt   where   no=1');  
  Top

4 楼zjh527()回复于 2005-06-02 09:02:52 得分 10

同意楼上的。要么你在加个Button  
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
            if   not   adoquery1.eof   then  
            begin  
                    adoquery1.next;  
                    edit1.text:=adoquery1.fieldbyname('ino_id').asstring;  
            end  
            else  
            begin  
                    adoquery1.first;  
                    edit1.text:=adoquery1.fieldbyname('ino_id').asstring;  
            end;  
  end;Top

5 楼dashi111(sally)回复于 2005-06-02 09:06:38 得分 10

if   adoquery1.recondcont>0   then  
  adoquery1.first;  
  edit1.text:=adofieldbyname('ino_id').asstring;  
  edit1里面就为第一条的ino_id的值了  
   
  if   adoquery1.recondcont>0   then  
  当执行完这条语句的时候,遍历了所有的记录后,指针指向最后一条记录的下一条,即指向了空纪录,所以取不到值,edit1  
  的值就为空,Top

6 楼liu23xing(编程小猫1000号)回复于 2005-06-02 09:16:59 得分 0

adoquery1.first;  
  while   not   adoquery1.eof   do  
  begin  
      edit1.text:=adofieldbyname('ino_id').asstring;  
      adoquery1.next;  
  end;  
    edit2.text:=adofieldbyname('ino_id').asstring;Top

7 楼huawei55(新用户)回复于 2005-06-02 10:08:54 得分 0

谢谢大家的解答,如果返回的不止2条,有5,6条呢?  
  可以么?Top

8 楼JetJack(喷气引擎)回复于 2005-06-02 11:16:48 得分 0

如果记录数多的话还是用DBGrid控件好Top

9 楼huawei55(新用户)回复于 2005-06-02 11:52:41 得分 0

我已经解决了  
  谢谢大家!Top

相关问题

  • 如何将Query返回的数据集用DBGrid显示出来?
  • 请问,如何把这个SQL返回的数据集全显示出来?
  • 请问,如何把这个SQL返回的数据集全显示出来?
  • 怎么把存储过程中返回的数据集显示在datagrid中.
  • 在vb中如何将ado返回的数据集显示在一个列表中?(在线等待)
  • 如何把这句SQL返回的数据多显示出来
  • 页面返回,显示最新数据,怎么做?
  • 请教Interbase专家:不用DBGrid之类的数据显示组件,怎么就无法正常使用IBQuery返回的数据集?
  • 怎么的返回一个数据集?
  • 请问ORACLE能否返回数据集?

关键词

  • sql
  • adoquery
  • ino
  • adofieldbyname
  • asstring
  • recondcont
  • 记录
  • edit
  • 返回
  • yt

得分解答快速导航

  • 帖主:huawei55
  • JetJack
  • hellolongbin
  • zjh527
  • dashi111

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo