关于查询结果存成表(200分)

  • 主题发起人 主题发起人 elan
  • 开始时间 开始时间
E

elan

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把tquery查询得到的结果新建一个表并保存在其中,请问是否有比较方便的方法?

我对数据库不熟 :-(
 
select * into newtable from oldtable where ...
 
最简单的就是用 batchMove 控件了,设好BatchMove 的源数据集、目的表,
Mode 设成 copy 方式, 执行 Execute 后,就可生成一个新的表了
 
INSERT INTO NewTable (custno, company)
SELECT custno, company FROM OldTable
 
create table NewTable as Select custno,company from OldTable
 
能否让用户自己定义要输出的文件名?以后还可打开它
 
如果是文件型的数据库(Dbase、Paradox),newtable就是文件名,打开它当然没问题。
 
对 batchmove 完全可以
 
醉里看花花也醉,醒来发现200分
查到:
procedure SaveQueryToDFW(Query:Tdataset;DfWname:String);
var
bachmove:Tbachmove;
table:Ttable;
Begin
Table:=TTable.Create(Application);
Table.Tablename:=DFWname;
Table.TableType:=ttDbase;
BatchMove.source:=Query;
BatchMove.Destination:=Table;
BatchMove.Mode:=batCopy;
try
batchMove.execute;
finally
bachMove.Free;
Table.free;
end;
end;
batcopy是拷贝数据原到一个表项中,如果表项不在,自动建立,如果在的话,先删除,
然后再根据数据域的结构建立。
如果是batAppend的话,将数据源的记录添加到记录表中,目标表必须存在(缺省)



 
好象刚才看到新大富翁的界面,怎么又没了?
 
SQL Server 时,小刚的方法最简单。直接在SQL Ex执行即可。
千中元 很详细。
 
多人接受答案了。
 
当不用sql server时,用 ‘into ' 命令好象不行,请指教
 
后退
顶部