如何使用ADOX创建空mdb文件?

公共马甲0315 2012-04-01 01:46:41
请教下m_pCatalog->Create(_bstr_t(strcnn));这一行的指针需要释放吗?如果需要,应该调用哪个成员函数?

使用ADOX::CatalogPtr来创建mdb文件:

HRESULT hr = S_OK;

//Set ActiveConnection of Catalog to this string

CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source = d: est.mdb"));

try

{
ADOX::_CatalogPtr m_pCatalog = NULL;

hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));

if(FAILED(hr))
{
_com_issue_error(hr);

}
else
{
m_pCatalog->Create(_bstr_t(strcnn)); //Create MDB

}
}

catch(_com_error &e)
{

// Notify the user of errors if any.
AfxMessageBox(_T(“error“));

}
}


...全文
158 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
公共马甲0315 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
m_pCatalog->Create(_bstr_t(strcnn)); //Create MDB
它俩怎么一样呢,不应该吧
[/Quote]
呵呵,一个是初始化COM借口呀,一个是创建数据库的Create操作,肯定不一样的
wyx100 2012-04-01
  • 打赏
  • 举报
回复
没有相关的函数或操作方法
hdg3707 2012-04-01
  • 打赏
  • 举报
回复
hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
m_pCatalog->Create(_bstr_t(strcnn)); //Create MDB
它俩怎么一样呢,不应该吧
hdg3707 2012-04-01
  • 打赏
  • 举报
回复
不需要吧,你想释放也不可能的,没有相关的函数或操作方法
vc++利用ADOX创建数据库 // ADOXCreateDatabaseDlg.cpp : implementation file // #include "stdafx.h" #include "ADOXCreateDatabase.h" #include "ADOXCreateDatabaseDlg.h" #include "Shlwapi.h" #pragma comment(lib,"shlwapi.lib") // Download by http://www.codefans.net #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CADOXCreateDatabaseDlg dialog CADOXCreateDatabaseDlg::CADOXCreateDatabaseDlg(CWnd* pParent /*=NULL*/) : CDialog(CADOXCreateDatabaseDlg::IDD, pParent) { //{{AFX_DATA_INIT(CADOXCreateDatabaseDlg) m_dbName = _T(""); //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CADOXCreateDatabaseDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CADOXCreateDatabaseDlg) DDX_Text(pDX, IDC_DBNAME, m_dbName); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CADOXCreateDatabaseDlg, CDialog) //{{AFX_MSG_MAP(CADOXCreateDatabaseDlg) ON_WM_SYSCOMM

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧