dbgrid利用数据集很容易显示所数据库中所有数据,那stringgrid想显示所有数据该怎么做

解决方案 »

  1.   

    自己一行一行慢慢加啊
    用ADO连上,然后写SQL,打开数据集,遍历数据集,将数据一行一行加到StringGrid
    数据绑定也是这么干的,只是加到Grid的代码已经给你写好了
      

  2.   

    一个单元格一个单元格的赋值
    for i:=0 to AdoQuery1.RecordCount-1 do
       for j:=0 to AdoQuery.Fields.Count-1 do
           StringGrid1.Cells[i,j]:=AdoQuery1.Fields[j].AsString;
      

  3.   

    同意樓上的,我用StringGrid時,也是這樣處理的.
      

  4.   

    一个单元格一个单元格的赋值 
    for i:=0 to AdoQuery1.RecordCount-1 do 
      for j:=0 to AdoQuery.Fields.Count-1 do 
          StringGrid1.Cells[i,j]:=AdoQuery1.Fields[j].AsString;
    只显示第一行吧
      

  5.   

    我要将6000条数据一次性显示在stringrid中
      

  6.   

    with ADQStu do
    begin
      sql.clear;
      sql.add('SELECT * FROM Student');
      open;
    end;    StringGrid.RowCount:=ADQStu.RecordCount+1;
        i:=1;
        while not ADQStu.Eof do
        begin
          with sg do
          begin
            //下面根据你的实际情况来添加
            StringGrid.Cells[0,i]:=ADQStu.FieldByName('UserID').AsString;
            StringGrid.Cells[1,i]:=ADQStu.FieldByName('UserName').AsString;
            StringGrid.Cells[2,i]:=ADQStu.FieldByName('UserGrade').AsString;
            StringGrid.Cells[3,i]:=ADQStu.FieldByName('UserClass').AsString;
          end;
          i:=i+1;
          ADQStu.Next;
        end;
      

  7.   


    加上 adoQuery1.next。for i:=0 to AdoQuery1.RecordCount-1 do 
    begin
      for j:=0 to AdoQuery.Fields.Count-1 do 
          StringGrid1.Cells[i,j]:=AdoQuery1.Fields[j].AsString; 
      AdoQuery1.Next;
    end;