以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何获取删除行的行数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113622)

--  作者:xujie80
--  发布时间:2018/1/19 15:21:00
--  如何获取删除行的行数
通过 DataRoWSTATE枚举,可以获得新增行、改动行等的集合,但是没有删除行的集合,如何获得?
--  作者:有点甜
--  发布时间:2018/1/19 15:49:00
--  

\'根据DataTable获取一个System.Data.DataTable类型变量
Dim t As System.Data.DataTable = CurrentTable.DataTable.BaseTable
\'获取新增行数
Dim t1 As System.Data.DataTable = t.GetChanges(System.Data.DataRowState.Added )   \'新增行
If t1 IsNot Nothing Then Output.Show("新增" & t1.Rows.Count)
\'获取修改行数
Dim t2 As System.Data.DataTable = t.GetChanges(System.Data.DataRowState.Modified )   \'修改行
If t2 IsNot Nothing Then Output.Show("修改" & t2.Rows.Count)
\'获取已删除行数
Dim t3 As System.Data.DataTable = t.GetChanges(System.Data.DataRowState.Deleted )   \'已删除行
If t3 IsNot Nothing Then Output.Show("删除" & t3.Rows.Count)


--  作者:xujie80
--  发布时间:2018/1/19 15:55:00
--  
太谢谢了,这个帮助文件上为什么没有呢?
--  作者:有点甜
--  发布时间:2018/1/19 15:56:00
--  

具体获取各列值,参考

 

Dim t As System.Data.DataTable = Tables("表A").DataTable.BaseTable
Dim tm As System.Data.DataTable = t.GetChanges(System.Data.DataRowState.Deleted)   \'删除行

For Each dr As object In tm.Rows
    Dim str As String = ""
    For Each dc As object In tm.Columns
        Dim obj1 = dr(dc, System.Data.DataRowVersion.Original)      
        str &= dc.ColumnName & "=\'" & obj1 & "\',"       
    Next
    msgbox(str.trim(","))
Next