在VC中用ADO动态创建带密码的Access数据库

本文介绍了如何在Visual C++(VC)环境中利用ADO动态创建Access数据库,并详细步骤设置数据库密码。首先在stdafx.h中导入必要的DLL库,接着初始化COM环境,通过ADOX::Catalog创建数据库文件,然后使用ADODB::Connection打开数据库并执行SQL语句设置密码。

首先要创建VC的工程,打开stdafx.h头文件.在其中加入如下两句话

 

#import "c:/Program Files/Common Files/System/ado/msadox.dll"
#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF", "adoEOF")
第二句大家非常熟悉.在我们应用ADO进行数据库操作的时候.我们需要导入相应的dll库并且对EOF起别名adoEOF,本文在此就不详细描述了,至于第一句.他是用来创建access数据库的.我们也需要将其导入.

 

 

// 访问数据库前先用初始化COM环境。
::CoInitialize(NULL);
// 程序退出时使用释放资源。
::CoUninitialize();
接下来我们开始动态创建Access数据库

    HRESULT hr = S_OK;
    try
    {
        ADOX::_CatalogPtr m_pCatalog = NULL;
        hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
        if(FAILED(hr))
        {
            _com_issue_error(hr);
        }
        else
        {
            m_pCatalog->Create("Provider=Microsoft.JET.OLEDB.4.0;Data source = c://test.mdb");        }
    }
    catch(_com_error &e)
    {
        AfxMessageBox(e.ErrorMessage());
    }
执行过以上代码后,你已经可以看见刚才创建的数据库文件了.接下来我们要将其设置密码,代码如下

 

    _ConnectionPtr m_pConnection;
    try   
    {   
        hr=m_pConnection.CreateInstance("ADODB.Connection");

        if(SUCCEEDED(hr))   
        {
            hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=c://test.mdb;Mode=Share Deny Read|Share Deny Write", "","",0);

            //注意数据库的路径应该是绝对路径.否则可能出现错误,Mode指定为独占方式打开
            m_pConnection->Execute("ALTER DATABASE PASSWORD [123] NULL",NULL,0);
            //这里将密码修改为123
        }   
    }   
    catch(_com_error &e)
    {   
        AfxMessageBox(e.ErrorMessage());
    }

OK.这样动态创建的带密码数据库就完成了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值