用程序将sqlserver中的一张表的数据插入到access中的一张表,表的结构是一样的,如果实现呢

解决方案 »

  1.   

    with ADOQuery_access do
      begin
        close;
        sql.clear;
        sql.add(select * from access表);
        open;
      end;
      with  ADOQuery_sqlserver do
      begin
        close;
        sql.clear;
        sql.add(select * from sqlserver表);
        open;
        while not eof do
        begin
          ADOQuery_access.FieldByName('access字段1').aAsString:=FieldByName('sqlserver字段1').aAsString;
          ADOQuery_access.FieldByName('access字段2').aAsString:=FieldByName('sqlserver字段2').aAsString;
          ADOQuery_access.FieldByName('access字段3').aAsString:=FieldByName('sqlserver字段3').aAsString;
          ....
          //有多少字段加多少行
          next;
        end;
      end;
      

  2.   

    忘了:加两个ADOQuery 分别ADOQuery_access连接到access表,ADOQuery_sqlserver连接到SQLsqlserver表。
      

  3.   

    INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
    SELECT * FROM sqltablename
      

  4.   

    insert into opendatasource('Microsoft.Jet.OLEDB.4.0', 'data source="d:\db.mdb"; user id=admin;password=;persist security info=false;')...表名 select * from 表名
      

  5.   

    INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
    SELECT * FROM sqltablename太酷了,第一次知道还能这样用
      

  6.   

    helodd(~改来改去~) 的方法是正确的
     muleo(木渔) 的方法要是数据量大的话执行起来会比较慢
      

  7.   

    INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
    SELECT * FROM sqltablename(~改来改去~) 这个方法:cool一点