下面函数的作用是取出当前界面上CListCtrl里面的数据插入到Access文件中
void CMDBDlg::OnButtonSavefile() 
{
// TODO: Add your control notification handler code here
CFileDialog m_dlg(FALSE,".MDB", NULL, 0, "Office Access(*.mdb)|*.mdb||", this);
if (m_dlg.DoModal() == IDOK)
{
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRs((__uuidof(Recordset)));
CString strMdbName = m_dlg.GetFileName();
CString strConStr;
strConStr.Format("DRIVER={Microsoft Access Driver (*.mdb)}; uid=; pwd=; DBQ=%s", strMdbName);
pConn->Open((_bstr_t)strConStr, "", "", adModeUnknown);
for (int i = 0; i < m_Grid.GetItemCount(); i++)
{
CString txtCaption1 = m_Grid.GetItemText(i, 1);
CString EnCaption1 = m_Grid.GetItemText(i, 2); CString strSql;
strSql.Format("insert into [Captions]([ObjTag], [txtCaption], [EnCaption]) values(%d, %s, %s)", i, txtCaption1, EnCaption1);
_bstr_t sql = (_bstr_t)strSql;
pConn->Execute(sql, NULL, adCmdText);
//UpdateData();
}
CoUninitialize();
}
}
每次执行到pConn->Execute(sql, NULL, adCmdText);语句时都会崩溃,不知道什么原因