以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  “_Identify”主键冲突  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122346)

--  作者:whx007
--  发布时间:2018/7/23 16:52:00
--  “_Identify”主键冲突

今天打开项目订单表出现以下问题:

 

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.9.1
错误所在事件:
详细错误信息:
列“_Identify”被约束为是唯一的。值“14433”已存在。

 

在窗口表和实体表都提示相同问题,我查看了只要未付款列的值大于0的行,都提示主键重复。之前没有这个问题存在,请问怎么解决。紧急!



--  作者:whx007
--  发布时间:2018/7/23 17:21:00
--  
If e.Table.Current IsNot Nothing Then
    Dim Filter As String = "订单号 = \'" & e.Table.Current("订单号") & "\'"
    If DataTables("销售明细表").Find(Filter) Is Nothing Or DataTables("订单付款明细表").Find(Filter) Is Nothing Then  \'如果对应的订单明细和付款明细都没有加载过
        DataTables("销售明细表").AppendLoad(Filter) \'则追载此订单的订单明细
        DataTables("订单付款明细表").AppendLoad(Filter) \'则追载此订单的订单付款明细
    End If
End If
刚检查是订单表的CurrentChanged引起的,怎么改代码是对的

--  作者:有点甜
--  发布时间:2018/7/23 17:26:00
--  

改成这样

 

If e.Table.Current IsNot Nothing Then
    Dim Filter As String = "订单号 = \'" & e.Table.Current("订单号") & "\'"
    If DataTables("销售明细表").Find(Filter) Is Nothing
        DataTables("销售明细表").AppendLoad(Filter) \'则追载此订单的订单明细
    End If
    If DataTables("订单付款明细表").Find(Filter) Is Nothing Then  \'如果对应的订单明细和付款明细都没有加载过
        DataTables("订单付款明细表").AppendLoad(Filter) \'则追载此订单的订单付款明细
    End If
End If


--  作者:whx007
--  发布时间:2018/7/23 17:42:00
--  
好的,谢谢