直接传SQL语句,例如
Query1.SQL.Text := 'Alter Table T_ABC Add (XXX VarChar(10))';

解决方案 »

  1.   

    直接传SQL语句,例如
    Query1.SQL.Text := 'Alter Table T_ABC Add (XXX VarChar(10))'; 你这个是在query连接的dataset里增加,如果在query查询后获得的临时数据集里增加那》?
      

  2.   

    我的意思是:Query只是作为临时数据集保存某些数据表(这些数据表的字段不一定相同)中的记录.可能某种条件下保存暂存A数据表中的一些记录,这时需要动态将A数据表中的字段添加进Query中,然后再复制记录;可能某种条件下保存暂存B数据表中的一些记录,这时需要动态将B数据表中的字段添加进Query中,然后再复制记录.当然,在添加字段前需清空原来字段!
      

  3.   

    很简单, 利用临时表 最好是本地表
    每次查询后用BatchMove1把数据COPY到如临时表,然后用QUERY查询这个固定的临时表。
    如:
     
    with Table1 do
    begin
      Active := False;
      TableName := 'CustInfo';
      TableType := ttParadox;
      with FieldDefs do
      begin
        Clear;
        Add('Field1', ftInteger, 0, False);
      CreateTable;
    end;  WITH QUERY1 DO
       BEGIN
       CLOSE;
       SQL.CLEAR;
       SQL.ADD('SELECT * FROM 你所用查询的数据');
       OPEN;
       BatchMove1.Source:=QUEYR;
       BatchMove1.Destination := Table1;
       BatchMove1.Execute;
       END;
      

  4.   

    楼上的兄弟的方法不错,可以满足保存数据表某些字段数据的目的,但Query中添加字段的问题还未解决,是不是Query无法动态添加字段?谁能给我一个明确的答复?