我的窗体上有database,table,dbgrid,query.首先dbgrid显示的是某数据库的某表的内容,然后我想对该表执行某查询如下:
 query1.close;
 query1.sql.clear;
 query1.sql.add(select.....);
 query1.open;
运行没出错,可是怎样才能将查询结果显示在那个dbgrid里呢?或者显示在另一个dbgrid里也成!咋办呢?

解决方案 »

  1.   

    dbgrid.datasource:= datasource1; 
      

  2.   

    最好将dbgrid的属性设置一下,要不然不知道会是什么样子,要不动态创建吧,再加上,上面那位老兄的就可以了。
      

  3.   

    你还需要用到DataSource控件,并将DataSource的DataSet属性设置为你选用的Table1或Query1,接着,在DBGrid中的DataSource属性设置为已选用的DataSource1.
      

  4.   

    with query1 do
     begin
      close;
      sql.clear;
      sql.add('select..... from table where 字段='''+查询内容+''' ');
      open;
     end;
      

  5.   

    加上两上Button  分别控制DataSource的Dataset属性
         Button1.click
            Query1.close;
            DataSource.DataSet:=Table1;                 
            Table1.open;     Button2.click
          Table1.close;
          DataSource.DataSet:=Query1;
          Query1.close;
          Query1.sql.clear;
          Query1.sql.add('添加SQL语句');
          Query1.sql.open;
         
         也可以用一个Button通过判断Table,Query的Active来判断  如:
         if Table1.Active=True then
         begin
            Table1.close;
          DataSource.DataSet:=Query1;
          Query1.close;
          Query1.sql.clear;
          Query1.sql.add('添加SQL语句');
          Query1.sql.open;
         end
         else if Query1.Active=True then
         begin
           Query1.close;
           DataSource.DataSet:=Table1;                 
           Table1.open;
         end;
      不知对你有帮助吗?   
      

  6.   

    你还要用到DATASOURCE控件,没有数据源怎么显示呀!!!!!!
      

  7.   

    up
    有个datasource控件 就好办事多了
      

  8.   

    加Datasource控件关联Query, 再用Dbgrid关联datasource就行了。