怎样快速复制一张paradox表创建到一个access数据库,并增加一个field
在access数据库中导入并创建一张新的表,其内容及记录是一张已有的paradox表
表复制好后,还要新增一个字段。
请给出最简练的程序代码。
另外
pNewDef = Table1.AddFieldDef();
pNewDef.Name =..
pNewDef.DataType =..
pNewDef.Size =...
一条条读过来
然后
Table1.create...
Table1.batchmove...外其他有没有更好,更快的办法?

解决方案 »

  1.   

    把ADOConnection连上你的access数据库然后执行
    ADOConnection.Execute('Select * into aaaa From [Paradox 7.X;Database=c:\temp].bbbb');
    aaaa是在ACCESS里建的新表名,bbbb是Paradox 里的表名。
    新建字段的话再写代码把
      

  2.   

    如果是odbc的数据源SQL语句应该怎么写?
      

  3.   

    这个问题不难,只是有点烦,ODBC的你可以获得其表的DataType,然后创建Access表。
    代码写起来麻烦:
      FDataType  : DataType Read GetFdataType Write SetFDataType;
    //获得其字段类型。
      FFieldLegth : Integer Read GetFFieldLength write SetFFiledLength;
    //获得字符型的长度
    Create Table
    //就这样一个过程。
      

  4.   

    用DELPHI中的控件TBATCHMOVE实现
    源指向PARADOX(用一个TQUERY)
    目录指向ACCESS(动态建一个TTABLE,数据库表名指向ACCESS表)
    batchmove.execute;eg.
    var bm:tbatchmove; tb:ttable;
    begin
      tb:=ttable.create(nil);
      bm:=tbatchmove.create(nil);
      tb.databasename:=ODBC数据库名;
      tb.tablename:=表名;
      query1.close;
      query1.sql.clear;
      query1.sql.add('select * from PARADOX表');
      query1.open;
      bm.destination:=tb;
      bm.source:=query1;
      bm.mode:=batcopy;
      bm.execute;