以下这句查询在sql中执行后能够正确取得结果
但是不知道该怎么把它表示到ADOQuery控件的sql属性中以实现程序查询select * from 
OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 8.0;HDR=YES;DATABASE=c:\book1.xls',sheet1$)

解决方案 »

  1.   

    我把它填到ADOQuery.sql中,执行程序后总是提示from子句语法错误
      

  2.   

    adoquery1.clear;
    adoquery1.sql.add('select * from OPENROWSET(''MICROSOFT.JET.OLEDB.4.0'' ,''Excel 8.0;HDR=YES;DATABASE=c:\book1.xls'',sheet1$)');
    showmessage(adoquery1.sql.text);  //show一下看看是否和查询分析器里的SQL语句一样
    adoquery1.open;
      

  3.   

    我用edit试过了,打印出来的查询语句完全一样,就是报“from子句语法错误”
    难道ADOQuery不支持该查询方法?太妖了吧
      

  4.   

    我是直接在静态属性里赋值的
    如下语句同样在sql里可获取结果,delphi执行后报“from子句语法错误”
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...sheet1$
      

  5.   

    没办法!用ODBC建好DSN,再用ADO连吧