使用ADOQuery来连接了Excel,然后在ADOQuery.sql.append执行语句:select * into ee from 
openrowset('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=d:\Book1.xls',sheet1$)
提示错误:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
   在查询分析器中运行语句:select * into ee from 
openrowset('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=d:\Book1.xls',sheet1$),无错误.
请问该错误是怎么回事,谢谢!

解决方案 »

  1.   

    这样试一下:
    ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
    excel文件名(含路径)+';Extended Properties=Excel 8.0;Persist Security Info=False';
    ADOConnection.Connected :=True;ADOQuery.Connection := ADOConnection;
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('select * from ['+表单名+'$]');
      

  2.   

    ADOQuery.sql.append
    >>>没有这样的写法的
    adoquery1.sql.add
    或者adoquery1.append
      

  3.   

    对chancecui:你这里只是Excel连接sql数据库,而我想将Excel的数据用sql语句导入sql数据库中,不知道你有什么高见,谢谢!
      

  4.   

    select * into ee from 
    openrowset('MICROSOFT.JET.OLEDB.4.0',
    'Excel 5.0;HDR=YES;DATABASE=d:\Book1.xls',[sheet1$])
    加[]就可以了
      

  5.   

    上述缺少了一句
    ADOQuery.Open;to : mhzan00497(小杨) 
    最一般的方法就是循环读取ADOQuery中的数据,写入你自己的表中。
      

  6.   

    to :chancecui(中国人口)
    你说的对,我现在正是用这种方法的,本来想简便一点的,开来不行了