如何通过查询数据然后向DBGrid一条一条增加数据,我弄了一个Edit,然后里面输入文本后通过Keypress事件将查询结果显示在
DBGrid里,但是只能显示一条,我想查一次增加一条,不知道应该怎么实现。procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  sqlStr1: string;
begin
   ADOQuery1.Close;
   ADOQuery1.SQL.Text := 'Select Iden,GK_NO,Raw_NO, Load_Date,convert(varchar(10),getdate(),120) as [打印日期] From  [ArtDB].[dbo].[arFabLib] where GK_NO=''' + Edit1.Text + '''';
   ADOquery1.Open;
end;

解决方案 »

  1.   

    关键是使用“内存表”
    将你用Query读入的内容,Append到内存表;
    而DBGrid连到内存表(而不是你原本那个query),如此即可。至于内存表怎么实现?
    请百度搜 TClientDataSet 内存表
    即可获得你要的答案。
      

  2.   

    LS 正解!
    意思就是把你原來那個 query 只當查詢用...將其每次的查詢結果 Append 至當數據內存表的 TClientDataSet 堆積...供 DBGrid 顯示之用......
    另外補充 : 使用 TClientDataSet 在軟件配置時需伴著 midas.dll 才能運作...可以 user 配置 MidasLib 單元便可排除伴著 midas.dll......
      

  3.   

    DBGrid对应一个数据集,向数据集中插入数据 即可。
      

  4.   

    查询一个数据集,dbgrideh一个数据集就可以啊