vc++(利用ADO技术访问数据库)用事务创建server数据库及其表出问题了 50
我写的语句是这样的:try{m_pConnection->BeginTrans();m_pConnection->Execute(bstrBase,NULL,adCmdT...
我写的语句是这样的:
try
{m_pConnection->BeginTrans();
m_pConnection->Execute(bstrBase,NULL,adCmdText);
m_pConnection->Execute(bstrTable1,NULL,adCmdText);
m_pConnection->Execute(bstrTable2,NULL,adCmdText);
m_pConnection->CommitTrans();
catch (_com_error e)
{
::MessageBox(NULL,“创建出错”,"提示",MB_OK|MB_ICONWARNING);
m_pConnection->RollbackTrans();
}
其中bstrBase是创建某数据库的sql语句,bstrTable1和bstrTable2是创建相应表的sql语句,但当其中一个表创建失败(即m_pConnection->Execute(bstrTable1,NULL,adCmdText)执行错误)时,为什么创建数据库成功了(注:数据库中的表没有被创建成功),不是说事务操作要么全部成功,要么全部不成功吗?谁能解释一下 展开
try
{m_pConnection->BeginTrans();
m_pConnection->Execute(bstrBase,NULL,adCmdText);
m_pConnection->Execute(bstrTable1,NULL,adCmdText);
m_pConnection->Execute(bstrTable2,NULL,adCmdText);
m_pConnection->CommitTrans();
catch (_com_error e)
{
::MessageBox(NULL,“创建出错”,"提示",MB_OK|MB_ICONWARNING);
m_pConnection->RollbackTrans();
}
其中bstrBase是创建某数据库的sql语句,bstrTable1和bstrTable2是创建相应表的sql语句,但当其中一个表创建失败(即m_pConnection->Execute(bstrTable1,NULL,adCmdText)执行错误)时,为什么创建数据库成功了(注:数据库中的表没有被创建成功),不是说事务操作要么全部成功,要么全部不成功吗?谁能解释一下 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询