16,473
社区成员
发帖
与我相关
我的任务
分享
void CCreateAccessTestDlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
CString strDBName,strTableName,strCmd2,strCmd3,strCmd4,strCmd5,strCmd6,strCmd7,DBName,str;
GetDlgItemText(IDC_EDIT_NAME,strDBName);
GetDlgItemText(IDC_EDIT_TABLE2,strCmd2);
GetDlgItemText(IDC_EDIT_TABLE3,strCmd3);
GetDlgItemText(IDC_EDIT_TABLE4,strCmd4);
GetDlgItemText(IDC_EDIT_TABLE5,strCmd5);
GetDlgItemText(IDC_EDIT_TABLE6,strCmd6);
GetDlgItemText(IDC_EDIT_TABLE7,strCmd7);
GetDlgItemText(IDC_EDIT_TABLE,strTableName);
if (strDBName != "" && strCmd2 != "" && strCmd3 != "" && strCmd4 != "" && strCmd5 != "" && strCmd6 != "" )
{
str = strDBName +".mdb";
DBName="Provider='Microsoft.ACE.OLEDB.12.0';Data source = ";
DBName +=str;
}
else
{
AfxMessageBox("插入值请勿为空!");
}
//打开数据库
_ConnectionPtr m_pConnect;
try
{
m_pConnect.CreateInstance(__uuidof(Catalog));
m_pConnect->Open((_bstr_t)(DBName),(_bstr_t)"",(_bstr_t)"",adModeUnknown);
}
catch (_com_error& e)
{
CString errtemp;
errtemp.Format("连接错误,原因:%s",e.ErrorMessage());
AfxMessageBox(errtemp);
return;
}
m_pConnect.CreateInstance(__uuidof(Catalog));
应该改为m_pConnect.CreateInstance(__uuidof(Connection));
[/quote]
作为一个苦逼ODBC、RDO、DAO、ADO程序员掉坑的典型,你这次很成功!
m_pConnect.CreateInstance(__uuidof(Catalog));
应该改为m_pConnect.CreateInstance(__uuidof(Connection));
_ConnectionPtr m_pConnection;
//创建表
_variant_t RecordsAffected;
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open((char *)(LPCTSTR)DBName,"","",adModeUnknown);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
return;
}