我用的是VC++6.0 + ADO 请问这样处理事务对不对
谢谢
       m_pConnection->BeginTrans();
try
{
sql.Format("DELETE FROM Professor WHERE Pno=3");
m_pRecordset->Open((_bstr_t)sql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
sql.Format("DELETE FROM lecture WHERE lecPno=3");
m_pRecordset->Open((_bstr_t)sql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

m_pConnection->CommitTrans();
}catch(_com_error e)
{
AfxMessageBox(e.Source());
AfxMessageBox(e.Description());
m_pConnection->RollbackTrans();
}