以下一个查询代码,为何不能在dbgrid中显示数据表的数据,而且每次查询都不能进行刷新,怎么才能实现呢?因是初学者,请各位大师指点,谢谢!
procedure Tfrmxsmx.BitBtn2Click(Sender: TObject);
begin
 with DM.ADOxsQuery DO
 begin
  if edit2.Text='' then
  begin
   MessageBox(handle,'请输入需要查询的学生的学号,不能为空!','提示',MB_OK or MB_ICONINFORMATION);
   exit;
  end
  else
  begin
   Close;
   SQL.Clear;
   SQL.add('select * from xsjbxx where xh= '''+Edit2.Text+'''');
   Open;
   statusbar1.Panels[0].Text:='总共找到 '+inttostr(RecordCount)+' 条记录';
  end;
 end;
end;

解决方案 »

  1.   

    有没做好:
    DataSource1.DataSet := DM.ADOxsQuery;
    DbGird1.DataSource := DataSource1;
    连接好呢?
      

  2.   

    这只是整个表的数据显示,那要是根据某个字段的值来查询,怎么实现呢?谢谢!
    ---------
    SQL.add('select * from xsjbxx where xh= '''+Edit2.Text+'''');已经是根据xh查询了
    至于显示问题,你将前面的*改为你想显示出来的字段就可以了
      

  3.   

    SQL语句没什么问题,设置好数据源连接datascource,数据感知控件应该就可以了。