要用到事务了
现在要思考的问题:
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是如何配合事务的?