VC使用OLE DB访问ACCESS、EXCEL

来源:互联网 发布:php ftp上传 编辑:程序博客网 时间:2024/05/22 15:17
 
如果ACCESS有密码,则初始化时要有两个属性集,一个的GUID为:DBPROPSET_DBINIT,
在这个属性集里加入一个属性DBPROP_INIT_DATASOURCE,其值为ACCESS数据库的位置;另一个属性集的GUID为:DBPROPSET_JETOLEDB_DBINIT,在这个属性集里加入一个属性DBPROP_JETOLEDB_DATABASEPASSWORD,其值为ACCESS数据库的密码。
如果ACCESS文件还带有工作组信息,则要在DBPROPSET_JETOLEDB_DBINIT要加入一个属性DBPROP_JETOLEDB_SYSDBPATH,其值为工作组信息文件的位置如:c:/ Secured.mdw,另外在DBPROP_INIT_DATASOURCE属性集中加入两个属性:DBPROP_AUTH_USERID和DBPROP_AUTH_PASSWORD,分别是用户名和密码
进行上述处理后再进行pIDBProperties->SetProperties和pIDBInitialize->Initialize就可以了
 
如果是要访问EXCEL文件,则也要上述的两个属性集,只要在DBPROPSET_JETOLEDB_DBINIT属性集里加入一个属性DBPROP_JETOLEDB_ENGINE其值为JETDBENGINETYPE_EXCEL80就行了,另外要注意访问EXCEL的表时引用表名时应该有这样的格式[表名$],例如:select * from [Sheet$]
如果一些定义没有找到,要包括一个头文件MSJETOLEDB.H