如何用VC++6.0建立一个ACCESS数据库文件

如何用VC++6.0建立一个ACCESS数据库文件,并建一个表。
菜鸟提问,请高手解答

用Dao就可以:
包含头文件#include"afxdao.h"
然后用如下代码:
CDaoDatabase m_DaoDB;
try
{
m_DaoDB.Create(_T("MsgInfo.mdb")); //创建mdb文件
}
catch(CDaoException* e)
{
CString strMsg;
strMsg.Format(_T(" 创建数据库失败! 原因:%s (%d)\n\n"),
(LPCTSTR)e->m_pErrorInfo->m_strDescription,
e->m_pErrorInfo->m_lErrorCode);
AfxMessageBox(strMsg,MB_OK|MB_ICONSTOP);
return false ;
}

CDaoTableDef m_DaoDef(&m_DaoDB);
m_DaoDef.Create(_T("工资信息"));//在刚刚创建的mdb文件中创建一个数据表
//创建字段
m_DaoDef.CreateField(_T("工号"),dbText,36,dbVariableField);
m_DaoDef.CreateField(_T("姓名"),dbText,38,dbVariableField);
m_DaoDef.CreateField(_T("工资"),dbBoolean,1,dbUpdatableField);
m_DaoDef.Append();
m_DaoDef.Close();
m_DaoDB.Close();
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-11
vc++6.0 只能提供连接数据库 的方法,而不能建立数据库 ,你下个ACCESS 试试吧
第2个回答  2010-04-11
在VC++中建立MDB数据库及表是比较麻烦,不是必须的话可用其他方法解决,如先建立空的模板MDB进行操作。

方法一:可利用ADO建立MDB数据库及表:

使用ADOX::CatalogPtr来创建mdb文件:
...
CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source=demo.mdb"));
...
���ADOX::_CatalogPtr m_pCatalog = NULL;
���hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
...
创建一个连接对象打开刚刚建立的mdb文件:
_ConnectionPtr g_pConn;
g_pConn.CreateInstance(__uuidof(Connection));
g_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=demo.mdb;", "", "", adConnectUnspecified);
...
再利用SQL中的CREATE TABLE语句生成表

方法二:利用ACCESS的APPLICATION对象-自动执行机制生成MDB及表
CreateObject('Access.Application')
.NewCurrentDatabase('demo.mdb')
.Docmd.RunSQL(v_SqlCmdForCreateTable)
第3个回答  2010-04-16
这个很容易,网上有代码的,找找吧
相似回答