DBGrid和DataSource绑定,DataSource和Query绑定,
通过Query查询数据就可以了。

解决方案 »

  1.   

    对啊
    如果你用TTable,也一样的DBGRID会自己刷新结果集的
      

  2.   

    dbgrid和datasource帮定,datasource和ADODATASET也要连接好
    看看例子吧
      //查询操作
      if da.ds_dhd.active<>false then
        da.ds_dhd.active:=false;
      da.ds_dhd.CommandText:='select * from dhd '
                             +' where (dh like :dhzt) '
                             +' and(Ghdw like :ghdw) '
                             +' and(lxr like :lxr) '
                             +' and(czy like :czy) ';
      da.ds_dhd.Parameters.ParamByName('dhzt').Value:=DHZT;
      da.ds_dhd.Parameters.ParamByName('ghdw').Value:=GHDW;
      da.ds_dhd.Parameters.ParamByName('lxr').Value:=LXR;
      da.ds_dhd.Parameters.ParamByName('czy').Value:=CZY;分//击活
      da.Ds_DHD.Active:=true;
      

  3.   

    你的意思是不能用它来编辑?
    那把readonly设为true
      

  4.   

    你的意思是不能用它来编辑?
    那把readonly设为true
      

  5.   

    procedure TForm3.BitBtn4Click(Sender: TObject);
    var
     s:string;
    begin
       with dm.query1 do begin
        s:='%'+combobox1.text+'%';
        close;
        sql.clear;
        sql.add('select * from tableaaaa  where xxxxx like '''+s+'''');
        open;
        end;
      

  6.   

    都绑定后查询,给你个例子  
    //查询操作
      if da.ds_dhd.active<>false then
        da.ds_dhd.active:=false;
      da.ds_dhd.CommandText:='select * from dhd '
                             +' where (dh like :dhzt) '
                             +' and(Ghdw like :ghdw) '
                             +' and(lxr like :lxr) '
                             +' and(czy like :czy) ';
      da.ds_dhd.Parameters.ParamByName('dhzt').Value:=DHZT;
      da.ds_dhd.Parameters.ParamByName('ghdw').Value:=GHDW;
      da.ds_dhd.Parameters.ParamByName('lxr').Value:=LXR;
      da.ds_dhd.Parameters.ParamByName('czy').Value:=CZY;
      da.Ds_DHD.Active:=true;
      

  7.   

    将datasource,dbgrid,query串起来后,在query的SQL编辑框中输入sql语句即可,当然也可用程序动态写sql语句
      

  8.   

    用Ttable组件只能定位到某项记录吗?
      

  9.   

    TBALE有一个过滤的属性,劝你还是用QUERY吧
      

  10.   

    下面的写法怎么不对。   
       Query1.DatabaseName:=WorkDir;
       Query1.SQL.Add('select * from Mbde');
       DataSource1.DataSet := Query1;
       Query1.Active := true;
       DbGrid1.DataSource :=DataSource1;
       DbGrid1.Columns[0].FieldName:='deh';
       DbGrid1.Columns[1].FieldName:='MbDeh';
       DbGrid1.Columns[2].FieldName:='DeName';
       DbGrid1.Columns[3].FieldName:='MbJcmj';
      

  11.   

    我看要这样写:   Query1.DatabaseName:=WorkDir;
       Query1.Close();
       Query1.SQL.Clear();
       Query1.SQL.Add('select * from Mbde');
       DataSource1.DataSet := Query1;
       Query1.Active := true;
       DbGrid1.DataSource :=DataSource1;
       DbGrid1.Columns[0].FieldName:='deh';
       DbGrid1.Columns[1].FieldName:='MbDeh';
       DbGrid1.Columns[2].FieldName:='DeName';
       DbGrid1.Columns[3].FieldName:='MbJcmj'
      

  12.   

    你没有关query1,可能上次就有查询的结果,如果是这样,可能
    出现意想不到的结果.
       Query1.DatabaseName:=WorkDir;   
       Query1.Close;    
       Query1.SQL.Clear;
       Query1.SQL.Add('select * from Mbde');
       DataSource1.DataSet := Query1;
       Query1.open;//这样写是不是好些.
       DbGrid1.DataSource :=DataSource1;
       DbGrid1.Columns[0].FieldName:='deh';
       DbGrid1.Columns[1].FieldName:='MbDeh';
       DbGrid1.Columns[2].FieldName:='DeName';
       DbGrid1.Columns[3].FieldName:='MbJcmj'