请问:如果现在对一个学生信息表格进行查询,主键(key)为:学号(sn)。要查询5班的全体学生的姓名(name),生日(birthday),并按其出生日期升序排列。
现在俺采用的数据库是delphi自带的数据库Database desktop中的Paradox 7。数据连接方式为:BDE。问题是:怎么我的查询结果只能显示第一个同学啊?如何编码才能显示所有查询结果并按birthday排列啊?采用什么控键显示所有的查询结果?如何才能把这次查询的结果打印出来啊?谢谢啊! 代码如下:
procedure TForm2.Button1Click(Sender: TObject);
begin
with table1 do
begin
label1.Caption:='';
indexfieldnames:='class';
setkey;
if edit1.Text='' then
showmessage('请输入班级号')
else
fieldbyname('class').AsString:=edit1.Text;
if gotokey then
begin
label1.Caption:='查找成功';
edit1.Text:=fieldbyname('class').AsString;
edit2.Text:=fieldbyname('name').AsString;
edit3.Text:=fieldbyname('birthday').AsString;
end
else
begin
label1.Caption:='查找失败';
end;
end;
end;
end

解决方案 »

  1.   

    呵呵,你这样写坑定只能显示第一个,你可以用Grid控件!
      

  2.   

    对,循环读出table的所有记录
      

  3.   

    您说的是Data Controls下的DBGrid控键吗?又如何实现循环读出table中的数据能?谢谢!
      

  4.   

    用dbgrid多简单的,你为什么要用循环呢?
    SelectSQL:= 'Select * from 表名 where 条件'
    然后现实在dbgrid中就可以了
      

  5.   

    TQuery.sql = 'Select * from 表名 where 条件'
      

  6.   

    TQuery.sql.text = 'Select * from 表名 where 条件'
      

  7.   

    Query.sql.text = 'Select * from 表名 where 条件'
      

  8.   

    用一个数据控件话你的数据集DBGRID