通常我用dbgrid只是通过datasourse和数据库中的table相连接,现在我做了一个查询,查出的值用DBgrid显示出来,请问如何取出其中dbgrid的数据用数组保存?举例:我查出了6条记录,并用dbgrid显示出来,我想要取出这六条记录,该如何实现?

解决方案 »

  1.   

    呵呵。你用个query组件。将dbgrid的数据源设置为query1即可了。
      

  2.   

    另外就是该query1的sql就写你要查询的记录。
      

  3.   

    你只要保存
    aar[1] := dbgrid1.datasource.dataset.FieldByName('field_name').Asstring;
    ...
    这样你就可以保存下来了
      

  4.   

    详细的写法:
    dbgrid1.datasource.dataset.first;
    for i := 0 to dbgrid1.datasource.dataset.recordcount - 1 do
    begin
      for j := 0 to dbgrid1.datasource.dataset.fieldcount -1 do 
      begin
        arr[i][j] := dbgrid1.datasource.dataset.fields[j].asstring;
      end;
      dbgrid1.datasource.dataset.next;
    end;
      

  5.   

    dbgrid1.datasource.dataset.Active:=True;
    dbgrid1.datasource.dataset.Last;
    dbgrid1.datasource.dataset.first;
    for i := 0 to dbgrid1.datasource.dataset.recordcount - 1 do
    begin
      for j := 0 to dbgrid1.datasource.dataset.fieldcount -1 do 
      begin
        arr[i][j] := dbgrid1.datasource.dataset.fields[j].asstring;
      end;
      dbgrid1.datasource.dataset.next;
    end;
      

  6.   

    dbgrid1.datasource.dataset.Active:=True;
    dbgrid1.datasource.dataset.first;
    while not dbgrid1.datasource.dataset.eof  do
    begin
      for j := 0 to dbgrid1.datasource.dataset.fieldcount -1 do 
      begin
        arr[i][j] := dbgrid1.datasource.dataset.fields[j].asstring;
      end;
      dbgrid1.datasource.dataset.next;
    end;