CONN.BEGINTRANSSQL1="INSERT INTO 表1....."
CONN.EXECTUTE SQL1SQL2="UPDATE 表2....."
CONN.EXECTUTE SQL2 CONN.COMMITTRANS事务控制的注意事项中说:如果脚本有错误,事务也将执行。那我如何能在CONN.EXECTUTE SQL1和CONN.EXECTUTE SQL2执行完后,判断其有没有正确执行,以便于是采取提交还是ROOLBACK.
CONN.EXECTUTE SQL1SQL2="UPDATE 表2....."
CONN.EXECTUTE SQL2 CONN.COMMITTRANS事务控制的注意事项中说:如果脚本有错误,事务也将执行。那我如何能在CONN.EXECTUTE SQL1和CONN.EXECTUTE SQL2执行完后,判断其有没有正确执行,以便于是采取提交还是ROOLBACK.
解决方案 »
- SQL查询语句如何“或”“并”条件共生?
- 那位仁兄有《VISUAL BASIC + SQL SERVER 数据库应用系统开发与实例》这本书配套光盘资料??
- 请问怎么在VB中给一个文件更换扩展名?
- 利用EXCEL打印VB报表
- 如何知道一个form是hide还是show?
- 一个数据库连接的问题
- 怎样用VB实现界面变成3D效果(form)
- 判断一个文本框内输入的是否是数值?
- 求教,如何得知服务端SQL 的SA密码
- 关于VB菜单的问题
- 如何用代码实现点击"购买"图片?
- 循环用(constrols方法动态生成控件和for each 。。。方法自动删除控件)会报365错误“不能在该上下文中卸载”)问什么呢?求各位大侠指点。。
CONN.EXECTUTE SQL1SQL2="UPDATE 表2....."
CONN.EXECTUTE SQL2 CONN.COMMITTRANS
exit sub
errHandle:
这里ROOLBACK
CONN.BEGINTRANSSQL1="INSERT INTO 表1....."
CONN.EXECTUTE SQL1,iCtrSQL2="UPDATE 表2....."
CONN.EXECTUTE SQL2,jCtr
if iCTR<>0 and jCtr<>0 then '判断是否影响插入与更新的数据
CONN.COMMITTRANS
else
CONN.RollbackTrans
end if
Private Sub sub_test() Dim conn As New ADODB.Connection
On Error GoTo errHandle
conn.BEGINTRANS
SQL1 = "INSERT INTO 表1....."
conn.EXECTUTE SQL1
SQL2 = "UPDATE 表2....."
conn.EXECTUTE SQL2
conn.COMMITTRANS
Exit Sub
errHandle:
conn.RollbackTrans
End Sub
有一位朋友说,INSERT INTO不返回这个值,也不返回记录集,如果他的说法是正确的,那这个 iCTR<>0 就没法用来判断这个INSERT INTO语句有没有正确执行。关键是这个说法到底是对还是不对。
CONN.Execute Sql
If CBool(Cnn.State And adStateExecuting) Then
Cnn.Cancel
Cnn.RollbackTrans
Else
Cnn.CommitTrans
End If
既然是一次执行,不如写到一起
CONN.BeginTrans
SQL1 = "INSERT INTO 表1....."
SQL1 = SQL1 & ";update 表2....."
CONN.EXECTUTE SQL1
'……
CONN.CommitTrans
sql="insert into ..."
cnn.EXECTUTE sql
end if这样保证有数据才插