我有两个表  结构完全一样的 用什么方法能快速的把表1 的数据 尽快的导入表2中?我用的循环 但是有 30000条记录呢  时间很长   没有办法了吗???SQLS:=' insert into table2 select * from '+ table1+' Where   DATE>=:BeginTime '+#13+' And DATE<=:EndTime in ';
          
SQLS:=SQLS+ExtractFilePath(Application.EXEName)+'data\'+databasename+'.mdb
这是刚才的问题 但是我假如了两个参数 
 Parameters.ParamByName('BeginTime').Value:=BeginTime;
 Parameters.ParamByName('EndTime').Value:=EndTime;就不知道怎么写了!找table2 的 date 字段值 在BeginTime和ndTime之间的 !!!!!!!!!
我这么写 老是提示 错误啊!

解决方案 »

  1.   

    SQLS:=' insert into table2 select * from ' + table1 
      + ' Where   DATE>=:BeginTime And DATE<=:EndTime';
      

  2.   

    但是 我还有SQLS:=SQLS+ExtractFilePath(Application.EXEName)+'data\'+databasename+'.mdb这句话呢??
      

  3.   

    SQLS:=' insert into table2 select * from ' + table1
      + ' in ' + QuotedStr(ExtractFilePath(Application.EXEName)+'data\'+databasename+'.mdb ')
      + ' Where   DATE>=:BeginTime And DATE<=:EndTime';
      

  4.   

    飞   谢谢你  但是我还是不明白为什么 事实证明你是对的QuotedStr 是什么??我看了帮助 没太看明白
      

  5.   

    QuotedStr 是什么??我看了帮助 没太看明白
    -----------------------------------------
    例如 如s='AAAAA';
     则QuotedStr(S)='''AAAAA'''
      

  6.   

    QuotedStr 是在字符窜两侧加 引号的函数
      

  7.   

    假如当前数据库连接到表2所在的数据库。insert into 表2(字段1,字段2,字段3,...,字段n)
    select 字段1,字段2,字段3,...,字段n 
    from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\Data1.mdb";User ID=YourUserID1;Password=YourPassword1')...表1
    where [Date] between :BeginTime and :EndTime
      

  8.   

    这里要特别注意的一点是:Access中,时间的表示方法为:#2000-12-31 12:25:36#也就是说,两端需各加上一个#号。