关于ADO数据库的问题,求各位大侠帮忙啊。。。。。
最近写了一个ADO数据库的程序,老是出现错误百思不得其解啊!
这部分的功能是实现数据库的添加功能
void CPcsDlg::OnComfirm()
{
UpdateData();
_bstr_t vSQL;
CString strno;
strno.Format("%d",m_strno);
//向Title表里面插入数据
vSQL="insert into Title values('"+strno+"','"+m_strTitle+"')";
m_ADOConn.ExecuteSQL(vSQL);
//向OptionContent表里面插入数据
vSQL="insert into OptionContent value('"+strno+"','"+m_strSelection+"','"+m_strSelectionContent+"')";
m_ADOConn.ExecuteSQL(vSQL);
UpdateData(false);
}
这部分是我的修改功能的实现
void CPcsDlg::OnComfirmModifyTitle()
{
UpdateData();
CString str;
str.Format("Update Title SET QuestionContent = '%s' where QuestionNo = '%d'",m_mSelectionContent,m_mQuestionNo);
_bstr_t vSQL((LPCTSTR)str);
//注释的部分是我测试的删除功能
/* str.Format("%d",m_mQuestionNo);
vSQL ="Update Title set QuestionContent = " +m_mSelectionContent + " where QuestionNo = " + str;;
vSQL=_T("delete from Title where QuestionNo = '"+str+"'");*/
m_ADOConn.ExecuteSQL(vSQL);
UpdateData(false);
}
//这部分是ExecuteSQL()函数的实现
BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
{
OnInitADOConn();
}
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox("不能打开记录集");
return false;
}
}
我尝试了很多种方法,前面的添加功能很正常,但是在修改(删除)的时候总是出现异常,提示就是“不能打开记录集”。百思不得其解啊,还望哪位大侠帮助。我觉得ExecuteSQL()函数应该没问题的。另外说明我用的是Acess2010数据库