vc中如何创建Access数据库?

lpy9000 2004-05-06 09:54:52
如题,我只做过用adox对数据库中的表进行操作,请问那Access怎么创建呢?(从生成文件到创建一个空的数据库)

最好能提供简单代码
...全文
398 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
月吻长河 2004-05-11
直接用ACCESS创建啊
  • 打赏
  • 举报
回复
lpy9000 2004-05-08
请大虾关注一下这个简单的问题.
  • 打赏
  • 举报
回复
lpy9000 2004-05-07
是不是我Office没装好呢?
  • 打赏
  • 举报
回复
lpy9000 2004-05-07
你们代码运行完之后,生成的Access文件我双击打开 全都是“安全警告:不安全表达式未被阻止”,,,,,,,,这是正常的吗????????
  • 打赏
  • 举报
回复
Kudeet 2004-05-07
好象只支持office97
  • 打赏
  • 举报
回复
lpy9000 2004-05-06
按照你的代码生成Access之后,我双击Access文件,它说是"不安全格式",这是怎么回事?
  • 打赏
  • 举报
回复
lpy9000 2004-05-06
我的代码中这部分功能是一个函数,这样 你代码中的 Close();我这里就不行,怎么变通呢?
  • 打赏
  • 举报
回复
醉马不肖 2004-05-06
不用户这样吧,你直接用acess创建的空数据文件不就ok了吗?
  • 打赏
  • 举报
回复
醉马不肖 2004-05-06
create table
  • 打赏
  • 举报
回复
Kudeet 2004-05-06
// 创建数据库
BOOL CAdoX::CreateDatabase(LPCSTR lpszDatabaseName)
{
// 检查数据库是否已存在
HANDLE hFile = NULL;
WIN32_FIND_DATA wfd;
hFile = ::FindFirstFile(lpszDatabaseName, &wfd);
if (hFile != INVALID_HANDLE_VALUE)
{
m_strDatabase = lpszDatabaseName;
::FindClose(hFile);
return FALSE;
}

::FindClose(hFile);

_CatalogPtr pCatalog = NULL;

// 创建数据库连接信息
CString strConnection = _T("");
strConnection.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s",
lpszDatabaseName);

// 创建数据库
try
{
pCatalog.CreateInstance(__uuidof(Catalog));
pCatalog->Create((_bstr_t)strConnection);
Close();
}
catch(_com_error &e) // 捕捉异常
{
CString strError = _T("");
strError.Format("\n\tSource: %s\n\tDescription: %s",
(_bstr_t)e.Source(), (_bstr_t)e.Description());
MessageBox(NULL, strError, "错误", MB_ICONERROR);
return FALSE;
}
catch(...) // 捕捉不知名错误信息
{
MessageBox(NULL, "不知名错误。", "错误", MB_ICONERROR);
return FALSE;
}

return TRUE;
}
  • 打赏
  • 举报
回复
taianmonkey 2004-05-06

#import "c:\Program Files\Common Files\system\ado\msadox.dll" rename_namespace("ADOX")
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADO") rename("EOF", "EndOfFile")
#pragma warning (disable: 4146)
#include "icrsint.h"
#include "Shlwapi.h"
#pragma comment(lib,"Shlwapi.lib")


............................

CoInitialize(NULL);

using namespace ADOX;
_CatalogPtr m_pCatalog = NULL;
CString strConnection, strTable;
TCHAR chFilePath[MAX_PATH];

GetModuleFileName(NULL,chFilePath,MAX_PATH);
(_tcsrchr(chFilePath, '\\'))[1] = 0;
lstrcat(chFilePath , _T("Test.mdb"));

strTable = chFilePath;

strConnection = _T("Provider=Microsoft.JET.OLEDB.4.0;Data source = ") + strTable + _T(";Jet OLEDB:Engine Type=5;");

if(!PathFileExists(chFilePath))
{
try
{
m_pCatalog.CreateInstance(__uuidof(Catalog));
m_pCatalog->Create(_bstr_t(strConnection ));
}
catch(...)
{
m_pCatalog->Release();
m_pCatalog = NULL;
CoUninitialize();
}
m_pCatalog->Release();

}
CoUninitialize();
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库
加入

3957

社区成员

VC/MFC 数据库
申请成为版主
帖子事件
创建了帖子
2004-05-06 09:54
社区公告
暂无公告