4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
热卖商品
新闻详情
ADOX创建Access用户和组 - 程序园
来自 : www.voidcn.com/article/p-cdqli 发布时间:2021-03-24

// BeginGroupCpp.cpp
// compile with: /EHsc
#import \"msadox.dll\" no_namespace

#include \"iostream\"
using namespace std;

inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};

int main() {
if (FAILED(::CoInitialize(NULL)) )
return -1;

HRESULT hr = S_OK;

// Define and initialize ADOX object pointers. These are in ADODB namespace.
_CatalogPtr m_pCatalog = NULL;
_UserPtr m_pUserNew = NULL;
_UserPtr m_pUser = NULL;
_GroupPtr m_pGroup = NULL;

// Define String Variables.
_bstr_t strCnn(\"Provider=Microsoft.Jet.OLEDB.4.0;User ID=myUsername;Data Source=C:/mydatabase.mdb;Jet OLEDB:Password=myPassword;Jet OLEDB:System Database=system.mdw;\");

try {
TESTHR(hr = m_pCatalog.CreateInstance(__uuidof (Catalog)));
m_pCatalog- PutActiveConnection(strCnn);

// Create and append new group with a string.
m_pCatalog- Groups- Append(\"Accounting\");

// Create and append new user with an object.
TESTHR(hr = m_pUserNew.CreateInstance(__uuidof(User)));
m_pUserNew- PutName(\"Pat Smith\");
m_pUserNew- ChangePassword(\"\", \"Password1\");
m_pCatalog- Users- Append(_variant_t((IDispatch *)m_pUserNew), \"\");

// Make the user Pat Smith a member of the Accounting group by creating and adding the
// appropriate Group object to the user\'s Groups collection. The same is accomplished if a User
// object representing Pat Smith is created and appended to the Accounting group Users collection
m_pUserNew- Groups- Append(\"Accounting\");

// Enumerate all User objects in the catalog\'s Users collection.
long lUsrIndex;
long lGrpIndex;
_variant_t vIndex;
for ( lUsrIndex = 0 ; lUsrIndex m_pCatalog- Users- Count ; lUsrIndex++ ) {
vIndex = lUsrIndex;
m_pUser = m_pCatalog- Users- GetItem(vIndex);
cout \" \" m_pUser- Name endl;
cout \" Belongs to these groups:\" endl;

// Enumerate all Group objects in each User object\'s Groups collection.
if (m_pUser- Groups- Count != 0)
for ( lGrpIndex = 0 ; lGrpIndex m_pUser- Groups- Count ; lGrpIndex++ ) {
vIndex = lGrpIndex;
m_pGroup = m_pUser- Groups- GetItem(vIndex);
cout \" \" m_pGroup- Name endl;
}
else
cout \" [None]\" endl;
}

// Enumerate all Group objects in the default workspace\'s Groups collection.
for ( lGrpIndex = 0 ; lGrpIndex m_pCatalog- Groups- Count ; lGrpIndex++ ) {
vIndex = lGrpIndex;
m_pGroup = m_pCatalog- Groups- GetItem(vIndex);
cout \" \" m_pGroup- Name endl;
cout \" Has as its members:\" endl;

// Enumerate all User objects in each Group object\'s Users Collection.
if ( m_pGroup- Users- Count != 0)
for ( lUsrIndex = 0 ; lUsrIndex m_pGroup- Users- Count ; lUsrIndex++ ) {
vIndex = lUsrIndex;
m_pUser = m_pGroup- Users- GetItem(vIndex);
cout \" \" m_pUser- Name endl;
}
else
cout \" [None]\" endl;
}

// Delete new User and Group object because this is only a demonstration.
m_pCatalog- Users- Delete(\"Pat Smith\");
m_pCatalog- Groups- Delete(\"Accounting\");
}
catch(_com_error e) {
// Notify the user of errors if any.
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());

printf(\"/n/tSource : %s /n/tdescription : %s /n \", (LPCSTR)bstrSource, (LPCSTR)bstrDescription);
}
catch(...) {
cout \"Error occured in include files....\" endl;
}

::CoUninitialize();
}

http://msdn.microsoft.com/en-us/library/ms676686(VS.85).aspx

本文链接: http://adoxgroup.immuno-online.com/view-704361.html

发布于 : 2021-03-24 阅读(0)
公司介绍
品牌分类
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://