因数据量过大,把ACCESS转为SQL数据库,转后出现问题,这个是EXCEL 导入到 SQL ,原来导入到access没问题,改成SQL就出现。
var sSql:string;
begin
      adoquery1.Close;
      adoquery1.SQL.Clear;
      sSql := 'INSERT INTO  bm01 (编码,名称,规格,单位,类别,仓库,技术要求,日期)  select * from [excel 8.0;database=..\采购单管理\bm.xls].[sheet1$] ' ;
      adoquery1.Parameters.Clear;
      adoquery1.ParamCheck := false;
      adoquery1.SQL.Text := sSql;
      adoquery1.Execsql;

解决方案 »

  1.   

    var sSql:string; 
    begin 
          adoquery1.Close; 
          adoquery1.SQL.Clear; 
          sSql := 'INSERT INTO  bm01 (编码,名称,规格,单位,类别,仓库,技术要求,日期)  select * from [excel 8.0;database=..\采购单管理\bm.xls].[sheet1$] ' ; 
          //adoquery1.ParamCheck .Clear; 
          //adoquery1.ParamCheck := false;//这两句干嘛的啊?去掉试试。
          adoquery1.SQL.Text := sSql; 
          adoquery1.Execsql;
    end;
      

  2.   

    用ShowMessage(adoquery1.SQL.Text);
    来看你SQL对不对啊 ??
      

  3.   


    INSERT INTO  bm01 (编码,名称,规格,单位,类别,仓库,技术要求,日期) 
      select * FROM [Excel 8.0;IMEX=1;HDR=YES;database=d:\采购单管理\bm.xls].[Sheet1$]
      

  4.   

    楼上的方法对
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  5.   

    报错信息都没有?
    用sql的时候,excel文件必须在sql服务器上而不是客户端机器。