想把表中的数据插入到一外部表中(两表格式一样); 
  adoQuery1.close;
  adoQuery1.SQL.clear;
  tmpsql:='insert into 表1 in F:\111.mdb select * from 表1';
  adoQuery1.SQL.add(tmpSQL);
  adoquery1.ExecSQL;  或者:tmpsql:='insert into [;database=F:\111.mdb].表1 select * from 表1';
 
  adoQuery1的连接没有问题,但都是提示错误:应用程序定义Parameter对象的方式不适当。

解决方案 »

  1.   

    F:\111.mdb Delphi把它当成了一个变量因此出现,
    错误:应用程序定义Parameter对象的方式不适当。
    楼主这样可能行不通.
      

  2.   

    backup table 表1 to disk=‘F:\111.mdb ’
      

  3.   

    tmpsql:='insert into 表1 in "F:\111.mdb" select * from 表1';
    这样就对了,感谢各位回复!
      

  4.   

    可是如果当两表中的字段A相等时(表中的字段有A,B,C,D),想把旧的记录替换掉,不相等则插入记录,又该如何操作呢?
      

  5.   

    请参考:告诉你一个最快的方法,用SQLServer连接DBF
    在SQLServer中执行
    SELECT * into bmk
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="e:\share";User ID=Admin;Password=;Extended properties=dBase 5.0')...bmk
    这样就可以把e:\share中的bmk.dbf表导入到Sqlserver中,速度是最快在Form上放一个ADOConnection,连结指向目标Access库比如txt文件在c:\temp\aaaa.txt
    就执行
    ADOConnection.Connected := True;
    ADOConnection.Execute('Select * Into abcd From [Text;Database=c:\temp].aaaa.txt');txt导入SQLServer
    select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
    DefaultDir=c:\temp;','select * from aaaa.txt')
    把Excel导入到Access中,同txt类似
    select * into <table name> from [excel 8.0;database=<filename>].[<sheetname>$]Excel联接ADO串
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp\a.xls;Extended 
    Properties="Excel 8.0;HDR=Yes;";Persist Security Info=False
    Extended Properties参数属性这样写 Excel 5.0;HDR=YES;IMEX=1
    IMEX=1就是指混合型转换为文本SQLServer从Excel取数
    SELECT * 
    FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\temp\b.xls";Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...sheet1$c:\temp\aaa.dbf to Access,
    ADOConnection 指向Access
    语句是 select * into bbb from aaa in 'c:\temp' 'dbase 5.0;'sql server导出到access
    ADOConnection 指向Access
    SELECT * into table FROM Tab1 IN [ODBC]
    [ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]如何把SQL Server的表导出到Access、Text、Dbf。
    当然可以在程序中运行SQL Server表导出和txt导入一个道理基本上都是用Jet4.0 和 ODBC连结实现
    先用用Jet4.0连结dbf,access,txt然后利用SQL语句导出导入在此我就不详细说了,一句话,都可以的
    列出连结串属性Extended properties,
    DBase 5.0
    DBASE IV
    FoxPro 3.0
    Paradox 7.X
    Excel 8.0
    text;HDR=YES;FMT=DelimitedSELECT * into aaa
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\temp\";User ID=Admin;Password=;Extended properties=Text')...[bb#txt]
      

  6.   

    tmpsql:='insert into 表1 in "F:\111.mdb" select * from 表1';
    这样也行,试试,可能用得着
    DDL行吗?
      

  7.   

    TO:
    可是如果当两表中的字段A相等时(表中的字段有A,B,C,D),想把旧的记录替换掉,不相等则插入记录,又该如何操作呢?
    你这个问题可能需要你在程序中用循环控制了!