各位大虾,江湖救急!俺用VC对SQLServer2K数据库进行事务处理操作的时候,发现如果再一次事务处理中使用了两个Insert语句,就会报告异常,内容如下:“在事务中,不能存在多个使用此游标类型的记录集,请更改游标类型、提交事务,或关闭其中某个记录集”但是俺试过,如果用SQL自带的查询分析器来进行相同的操作,就不会有这个问题,请问这是为什么?该如何解决?(
附 当时出错的几个语句:
try
{
pDB->m_pConnection->BeginTrans (); //开始事务处理
pDB->RunCommandEx ("insert语句1");
pDB->RunCommandEx ("insert语句2");
pDB->m_pConnection->CommitTrans (); //提交事务
}
catch(_com_error &e)
{
CString errormessage;
errormessage.Format(_T("指令执行失败!\r\n\r\n错误信息:%s\n数据将会复原!!"), (LPCTSTR)e.Description());
AfxMessageBox(errormessage);
pDB->m_pConnection->RollbackTrans ();//事务处理回滚
})
附 当时出错的几个语句:
try
{
pDB->m_pConnection->BeginTrans (); //开始事务处理
pDB->RunCommandEx ("insert语句1");
pDB->RunCommandEx ("insert语句2");
pDB->m_pConnection->CommitTrans (); //提交事务
}
catch(_com_error &e)
{
CString errormessage;
errormessage.Format(_T("指令执行失败!\r\n\r\n错误信息:%s\n数据将会复原!!"), (LPCTSTR)e.Description());
AfxMessageBox(errormessage);
pDB->m_pConnection->RollbackTrans ();//事务处理回滚
})
pDB->m_pConnection->BeginTrans ();//开始事务处理
pRC=pDB->RunCommandEx ("insert语句1");
if(pRC!=NULL)
{
pRC->Release();
delete pRC;
}
pDB->RunCommandEx ("insert语句2");
pDB->m_pConnection->CommitTrans ();//提交事务
pRC是事先定义的记录集指针