直接把 Query赋给它就行了。

解决方案 »

  1.   

    var a:=tdataset;
    a:=query;
    这样吗?
      

  2.   


    var
     a:=tdataset;
    with query1 do
    begin
      close;
      ...
      ...
      open;
    end;
    if not (query1.eof ) then
    a:=query1.fieldbyname('field').asdata;
      

  3.   

    这样就行了
    var
      aa:TDataSet;
    begin
      aa:=Query1;
      DataSource1.DataSet :=aa;
    end;
      

  4.   

    源码是这样的:
    procedure TPasswordDlg.FormCreate(Sender: TObject);
    var i:integer;
        rr:TDataSet;
    begin
      if not((DataBase1.Connected) and (Table1.Active)) then
        begin
          DataBase1.Connected :=True;
          Table1.Active:=True;
        end;  Query1.SQL.Clear ;
      Query1.Close;
      Query1.SQL.Add('select  Distinct GroupID From ImportCustom ') ;
      Query1.Open ;
      rr:=Query1;  for i:=0 to RR.RecordCount -1 do
        begin
          ComboBox1.Items.Add(RR.FieldByName('GroupID').Value );
        end;
    end;
    我想在COMBOBOX中显示过滤之后的GROUPID字段值,这样写对不对,为什么老是提示GENERATE SQL ERROR,ms jet 4.0参数不足
      

  5.   

    做一下修改,请参考:procedure TPasswordDlg.FormCreate(Sender: TObject);
    var i:integer;
        rr:TDataSet;
    begin
      if not((DataBase1.Connected) and (Table1.Active)) then
        begin
          DataBase1.Connected :=True;
          Table1.Active:=True;
        end;  try
        rr:=TQuery.Create(Self);//先初始化
        Query1.Close;
        Query1.SQL.Clear ;  //必须先Close
        Query1.SQL.Add('select  Distinct GroupID From ImportCustom ') ;
        Query1.Open ;
        rr:=Query1;    for i:=0 to RR.RecordCount -1 do
        begin
          ComboBox1.Items.AddRR.FieldByName'GroupID').AsString );
        end;      //String
        
      finally
        rr.Free;
      end;
    end;
    感觉没必要用rr
      

  6.   

    在你这个用法中rr根本没有用的;
    修改成下面的就应该可以;
    procedure TPasswordDlg.FormCreate(Sender: TObject);
    begin
      if not((DataBase1.Connected) and (Table1.Active)) then
      begin
        DataBase1.Connected :=True;
        Table1.Active:=True;
      end;
      Query1.Close;
      Query1.SQL.Clear ;
      Query1.SQL.Add('select  Distinct GroupID From ImportCustom ') ;
      Query1.Open ;
      query1.first;
      while not query1.eof do
      begin
        ComboBox1.Items.Add(query1.FieldByName('GroupID').asstring); 
        next;
      end;
      

  7.   

    TO chao_jian(升级中...)
     我试过了,好象只有讲原来的Table和DataSource两个控件删除,讲Query和
    DataBase之间连起来就行了。而要是还用Table和DataSource两个控件的话,跟踪到Query1.Open 时就报错提示:在应用程序目录下没有ImportCustom.mdb文件.不知道是为什么!