以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  两表同步问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124906)

--  作者:nxqtxwz
--  发布时间:2018/9/15 21:15:00
--  两表同步问题

下面的代码是想将两个表的三列同步,但发现有重名的学生后就不能同步了,比如有两个一样的姓名的人就没法实现同步,请问如何解决呢?

 

 

Select Case e.DataCol.name
    Case "姓名"
        Dim dr As DataRow = DataTables("查宿").Find("姓名 = \'" & e.OldValue & "\'")
          If dr Is Nothing Then
             dr = DataTables("查宿").AddNew()
             dr("姓名") = e.DataRow("姓名")
             dr("宿舍") = e.DataRow("宿舍")
             dr("班级") = e.DataRow("班级")
         Else
            dr("姓名") = e.DataRow("姓名")
         End If
    Case  "宿舍","班级"
         Dim dr As DataRow = DataTables("查宿").Find("姓名 = \'" & e.DataRow("姓名") & "\'")
         If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
          End If
 End  Select


--  作者:有点甜
--  发布时间:2018/9/16 12:21:00
--  

加一个编号列,防止每一行的数据都不重复。

 

比如datarowAdded事件,写代码

 

Dim dt As DataTable = e.datatable  
Dim i As Integer = dt.Compute("max(编号)")     
e.DataRow("编号") = i+1