如何在VFP里写SQL Server的事务处理
1个回答
推荐于2016-06-08 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517174
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
*********************************************************************************
Transactions_error=.f. &&事务过程失败标志
= SQLSETPROP(myconnect, ‘Transactions’, 2) &&启动手动事务处理
**————————————————————
TEXT TO sql_tmp1 NOSHOW
INSERT INTO amt_bum(id_bum, bum_bh)
values (?id_bum, ?bum_bh)
IF (SELECT count(1) FROM amt_bum WHERE bum_bh = ?bum_bh) > 1
SELECT 9 as ok
ELSE
SELECT 1 as ok
ENDTEXT
**————————————-
IF Transactions_error=.F.
SELECT My_mt_bum_fm_bum
IF sqlexec(myconnect,sql_tmp1,’My_mt_bum_fm_my_int_tm’)<=0
WAIT WINDOW "新增部门资料失败!" NOWAIT
Transactions_error=.t.
ELSE
SELECT My_mt_bum_fm_my_int_tm
DO case
CASE ok = 1
**正常
CASE ok = 9
MESSAGEBOX("此部门有重复不允许存盘!","")
Transactions_error=.t.
ENDCASE
use
ENDIF
ENDIF
**————————————-
IF Transactions_error=.t.
=SQLROLLBACK(myconnect)
ELSE
=SQLCOMMIT(myconnect)
WAIT WINDOW "数据存盘成功!" NOWAIT
ENDIF
= SQLSETPROP(myconnect, ‘Transactions’, 1) &&恢复自动事务处理
*********************************************************************************
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询