在VC6中,使用ODBC的SQL语句操作数据库时,如何提交和回滚事务?

我使用的环境是VC++6.0采用ODBC操作数据库,采用直接执行SQL语句的方式,请问如何:1.开始一个事务?2.提交一个事务?3.回滚一个事务?我的部分代码如下:CDa... 我使用的环境是VC++ 6.0
采用ODBC操作数据库,采用直接执行SQL语句的方式,请问如何:
1. 开始一个事务?
2. 提交一个事务?
3. 回滚一个事务?

我的部分代码如下:

CDatabase db;
db.OpenEx( "DSN=vv;UID=;PWD=", CDatabase::noOdbcDialog );
CString strCmd;
strCmd.Format("INSERT INTO route ( typeID, type1,type2,cost) ) VALUES (1,1,1,0.5));
TRY {
db.ExecuteSQL( strCmd );
}
CATCH(CDBException, e) {
//此处应回滚事务
msg.Format( "向表route中追加数据失败!错误原因:%s",e->m_strError );
AfxMessageBox(msg);
return 1;
}
END_CATCH

//此处应提交事务
db.close();

请教各位大虾,望不吝赐教!!
展开
 我来答
I艾弗森
2008-10-20 · 超过13用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:0
展开全部
BEGIN TRAN 为开始事务
COMMIT TRAN 为提交事务
ROLLBACK TRAN 为回滚事务
BeginTrans 启动新的事务,之后任何改变不会立即提交
CommitTrans 保存所有更改并结束当前事务。它也可以启动新事务。
RollbackTrans 取消当前事务中所做的任何更改并结束事务。它也可以启动新事务。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式