vc中如何创建Access数据库?

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

最好能提供简单代码
...全文
428 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
月吻长河 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();

4,011

社区成员

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

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