我用ADOQuery从数据库中的表A查询出一部分的数据,现在要根据这部分数据创建一个新的表(在同一个数据库中),我该怎么办?我并不想把查询和创建新表放在一个SQL语句中。

解决方案 »

  1.   

    Create Table ......
    Insert into ....
      

  2.   

    什么数据库不重要吧,ACCESS 或SQLSERVER
    如果用Create Table,我不是要定义所有的字段了吗?我就是要根据查询出来的结果创建表,不想定义字段。
      

  3.   

    不同的数据库支持不同的SQL语句,怎么不重要?
      

  4.   

    如用ACCESS,SELECT * INTO NEWTABLE FROM OLDTABLE
      

  5.   

    问题是不是oldtable,数据在ADOQuery中
      

  6.   

    1。生成建表SQL语句。
    2。再用另外一个ADOQuery执行你的建表SQL语句。
      

  7.   

    create a empty table Use a new adoquery name like adoquery2
    while not(adoquery.eof) do
    begin
         insert into the new table with adoquery2
         adoquery.next
    end;前台處理效率較低,老兄你如果用SQL SERVER的話建議在查詢後直接在後台用存儲過程將查詢結果插入新表。
      

  8.   

    select * into newtable from oldtable where....
      

  9.   

    adoquery也是从TABLE中取数:
    SELECT field1,field2...fieldn INTO NEWTABLE FROM OLDTABLE
      

  10.   

    楼上(wwwwa(aaaa))的做法最近简单明了.
    不少朋友都是用这种方法来做的,但好像这种方法对foxpro数据库不太起作用.我在运用过程中有这样的经历.有什么好的解决方法吗,谈谈!!!
      

  11.   

    不会吧,用ADOQUERY连DBF,用以上语句即可生成一新表
    在D6下已测试通过
      

  12.   

    to WWWWA(aaaa):
    你的方法在ACCESS数据库中可以建成表,也可插入新纪录,但提示错误啊错误信息:"当前提供者不支持从单一执行恢复多个记录集"
    运行环境;D5+access
      

  13.   

    我在D6+OFFICE2000+MDAC2.71+WIN2000 SP4下测试通过
      

  14.   

    查询后得到数据列名,建表时,动态生成字段不就可以了吗?adoquery2 建表
    以下插入
    while not(adoquery1.eof) do
    begin
         insert into the tbnewquerydata with adoquery2
         adoquery.next
    end;
      

  15.   

    关键是根据adoquery2的字段建一个新的表。
      

  16.   

    可以用视图呀,还可以用Clietdataset创建数据集
      

  17.   

    select Field1,field2... into NewTableName from SourceTable where ...
      

  18.   

    算了,我看这情形我是得不到我满意的答案了,所以只好把查询与建表放在一个SQL语句中。