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