以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]辨识datarow的列值是否发生变化【已解决】  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=115490)

--  作者:浙江仔
--  发布时间:2018/3/8 8:06:00
--  [求助]辨识datarow的列值是否发生变化【已解决】

        If dr.RowState = DataRowState.Modified Then

            Dim sql As String

            For Each dc As String In ColNames

                If dr(dc)<> "" Then

                    sql = dc & "=\'" & dr(dc) & "\'," & sql

                End If

            Next

            Dim key As String="enterprise_id= \'"& dr("enterprise_id") &"\' "

            sql=sql.trim(",")

            Dim rs As String =Functions.Execute("UpdateById",key,tdata,sql )

        End If


用于辨识dadarow的状态时,能不能用DataColChanged辨识列是否发生变化?用于精确辨识哪些列发生了变化?

[此贴子已经被作者于2018/3/8 8:56:54编辑过]

--  作者:浙江仔
--  发布时间:2018/3/8 8:53:00
--  
增加辨识
dr(dc) <> dr.OriginalValue(dc)

测试成功
[此贴子已经被作者于2018/3/8 8:56:39编辑过]

--  作者:有点甜
--  发布时间:2018/3/8 9:05:00
--  

回复2楼,注意判断dr.OriginalValue(dc)是否为空,如

 

If dr.OriginalValue(dc) isNot DBNull.Value Then