1, 在stdafx.h 中做如下引入:
// The #import
#pragma warning(disable:4146)
#undef EOF
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADO")
#import "C:\Program Files\Common Files\System\ADO\msadox.dll" rename_namespace("ADOX")
#pragma warning(default:4146)
2,在程序的InitInstance()中添加Com的初始化和释放: ...
CoInitialize(NULL);
...
CoUninitialize();3,具体调用: CString strcnn(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\ProjectKW2011A\\Database\\yzd.mdb"));
ADOX::_CatalogPtr pCatalog = NULL;
try
{
pCatalog.CreateInstance(_T( "ADOX.Catalog"));
pCatalog->PutActiveConnection(_bstr_t(strcnn)); //Create MDB
pCatalog->Tables->GetItem("Event")->Columns->GetItem("UID")->Name = "sUID";
}
catch(...)
{
AfxMessageBox(_T("error"));
}
pCatalog->Release();4,VB中操作更简单:
Private Sub Command1_Click()
Dim Cat
Set Cat = CreateObject("ADOX.Catalog")
Cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\ProjectKW2011A\\Database\\yzd.mdb"
Cat.Tables("Event").Columns("UID") = "sUID"
Set Cat = Nothing
End Sub
// The #import
#pragma warning(disable:4146)
#undef EOF
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADO")
#import "C:\Program Files\Common Files\System\ADO\msadox.dll" rename_namespace("ADOX")
#pragma warning(default:4146)
2,在程序的InitInstance()中添加Com的初始化和释放: ...
CoInitialize(NULL);
...
CoUninitialize();3,具体调用: CString strcnn(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\ProjectKW2011A\\Database\\yzd.mdb"));
ADOX::_CatalogPtr pCatalog = NULL;
try
{
pCatalog.CreateInstance(_T( "ADOX.Catalog"));
pCatalog->PutActiveConnection(_bstr_t(strcnn)); //Create MDB
pCatalog->Tables->GetItem("Event")->Columns->GetItem("UID")->Name = "sUID";
}
catch(...)
{
AfxMessageBox(_T("error"));
}
pCatalog->Release();4,VB中操作更简单:
Private Sub Command1_Click()
Dim Cat
Set Cat = CreateObject("ADOX.Catalog")
Cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\ProjectKW2011A\\Database\\yzd.mdb"
Cat.Tables("Event").Columns("UID") = "sUID"
Set Cat = Nothing
End Sub
CoInitialize(NULL);
...
CoUninitialize();真搞笑,这显然不是VC程序员写的代码,InitInstance()中添加Com的初始化和释放:
程序运行时com如何使用,应该是APP 退出时调用CoUninitialize();