要用到事务了
现在要思考的问题:
1、 造成事务不能提交的原因,是不是有两大类:
( 1 )数据不配匹
( 2 )系统原因,以主要有三种情形:
A 、容量与内存
B 、 SQL 本身
C 、系统其它原因
2、 事务中数据的存储方式,主要有以下问题:
(1) 执行 SQL 语句后的有哪些数据临时放到哪里了,包括原本的数据吗?
(2) 事务提交过程中原本的数据改变了吗,如果改变了,提交中系统原因造成了中断,数据得回滚过来,它回滚时用到的数据是从哪弄过来的?
3 、一次性更新和逐批更新
( 1 )如果必需要一次性更新的,有什么完善的方案?
4 、这样的事务处理能用吗?
Dim cn As SqlClient.SqlConnection
Dim cm As SqlClient.SqlCommand
Dim tr As SqlClient.SqlTransaction
tr = cn.BeginTransaction()
cm.Transaction = tr
Try
While 条件
Try
cm.CommandText = "..."
cm.ExecuteNonQuery()
Catch ex As Exception
End Try
End While
tr.Commit()
Catch ex As Exception
tr.Rollback()
End Try
5 、 DataRow 的 RowState 是如何配合事务的?