怎样使用TQurry删除旧的表根据笨控件的查询创建新的临时表,以便预览打印!!!
请各位高手赐教!!
  query1.Close;
  query1.SQL.Clear;
  query1.SQL.Add('select a.ylxh, a.badhsl,a.bashsl,a.ylpm,a.ylbh,a.cppm,a.scbh,c.ckrq,c.cksl,(c.cksl* a.badhsl*(1+a.bashsl)) as qqw from jck_dshk a,jck_sjckcpk c where a.scbh=c.scbh');
  query1.SQL.Add('and c.ckrq='''+edit4.text+'''  and a.ylpm like''%'+edit5.text+'%''' );
  query1.SQL.Add('group by a.badhsl,a.bashsl,a.ylxh,a.ylpm,a.ylbh,a.cppm,a.scbh,c.ckrq,c.cksl order by c.cksl');
  query1.Active:=true;
  Query1.open;根据Query1的查询创建新表,作为打印预览的内容!!请高手赐招!!

解决方案 »

  1.   

    在select前加上
    Create Table TabelName as select ... from ... where ...
    --------------------------TabelName为你想要的表名
    即可
      

  2.   

    数据库支持存储过程吗?
    如支持使用它
    否则,需要执行三次TQuery
    首先要删除原来的表
    然后创建符合条件的表
    最后检索数据
      

  3.   

    Query1.Sql.Clear;
    Query1.Sql.text := 'delete from TableName';
    Query1.ExecSql;
    Query1.Sql.Clear;
    Query1.Sql.text := 'Create Table TableName As Select ...';
    Query1.ExecSql;
    Query1.Sql.Clear;
    Query1.Sql.text := 'Select * from TableName';
    Query1.Open;