首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

from语法异常?Access<=>Excel

2012-02-09 
from语法错误?AccessExcel代码如下:报错:C/C++ codequery-SQL-Add(Linsertintoda( 单位, 类,子类 )

from语法错误?Access<=>Excel
代码如下:报错:

C/C++ code
  query->SQL->Add(L"insert   into   da( 单位, 类,子类 ) ");  query->SQL->Add(L"   select  单位, 类,子类 from ");  query->SQL->Add(L" OpenRowSet( 'Microsoft.ACE.OLEDB.12.0', 'excel   12.0;hdr=yes;database=Book.xlsx', 'SELECT * FROM [报表$]' ");

query连的是一个access,把Book.xlsx表“报表”插入到access的表“da”中。用的是ADO.

[解决办法]
貌似OpenRowSet函数最后的)你忘了写了吧。

弄个简单的你试试:
String strSQL = String().sprintf(
"select 单位,类,子类 into da "
"from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'excel 12.0;hdr=yes;database=Book.xlsx', 'SELECT * FROM [报表$]')");

query->SQL->Text = strSQL;
[解决办法]
OpenRowSet是SQLSERVER的函数,access是不支持的
从excel导入access,只要简单地:
SELECT * into [表1] FROM [excel 12.0;database=d:\temp\testx1.xlsx].[sheet1$]
这个我测试成功,只要改成你的表名/字段名并加入程序中即可
另外:你可以将生成的SQL在access中测试一下

热点排行