with table2 do
begin
  first;
  while not eof do  
  begin
    for i:=0 to table2.fieldcount-1 do
      ?:=table2.fields[i].value;
    next;
  end;
end;

解决方案 »

  1.   

    to jianping0 
    你没有看懂我的问题,dbgird中显示的数据是table2数据的子集,我只想输出dbgrid中的数据,不想全部输出来。
      

  2.   

    你是怎么取得子集的?只要数据集没有被Close再Open,jianping0(ljp)的方法是可以的。
      

  3.   

    ? := DBGrid1.Fields[i].DisplayText;
      

  4.   

    用下面的方法试试。
    ////////////////BEGIN
      dbgrid1.DataSource.DataSet.First;
      while (not dbgrid1.DataSource.DataSet.Eof) do
      begin
        s1:=dbgrid1.Columns[1].Field.asstring;
        s2:=dbgrid1.Columns[2].Field.asstring;
        dbgrid1.DataSource.DataSet.Next;
      end;
    ////////////////END