Foxtable(狐表)用户栏目专家坐堂 → 报错事项


  共有1902人关注过本帖树形打印复制链接

主题:报错事项

帅哥哟,离线,有人找我吗?
kaituozhe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
报错事项  发帖心情 Post By:2018/2/27 10:46:00 [显示全部帖子]

一直报错如下,是怎么回事?

NET Framework 版本:2.0.50727.8689
Foxtable 版本:2018.2.28.1
错误所在事件:项目,Client
详细错误信息:
未找到列 [_Identify]。


 回到顶部
帅哥哟,离线,有人找我吗?
kaituozhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/2/27 11:21:00 [显示全部帖子]

以下是客户端代码,shujuyuanmingcheng是数据源名称,用于区别不同的项目

Dim st As Date = Date.Now
Dim msg As String = e.Message
If msg.StartsWith("U#") Then '表示修改了某行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 4 Then
        If shujuyuanmingcheng = pts(3)  AndAlso DataTables.Contains(pts(1)) = True Then
            msgbox("保存")
            Dim dr As DataRow = DataTables(pts(1)).Find("[_Identify] = " & pts(2))
            If dr IsNot Nothing  Then
                dr.Load() '重新加载此行
            End If
        End If
    End If
    'MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")
ElseIf msg.StartsWith("A#") Then '表示增加了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 4 Then
        If shujuyuanmingcheng = pts(3) AndAlso DataTables.Contains(pts(1)) = True Then
            msgbox("增加")
            DataTables(pts(1)).AppendLoad("[_Identify] = " &  pts(2)) '追载新增加的行.
        End If
    End If
ElseIf msg.StartsWith("D#") Then '表示删除了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 4 Then
        If shujuyuanmingcheng = pts(3)  AndAlso DataTables.Contains(pts(1)) = True  Then
            msgbox("删除")
            DataTables(pts(1)).RemoveFor("[_Identify] in ("  & pts(2) & ")") '移除行
        End If
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
kaituozhe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/2/27 11:34:00 [显示全部帖子]

这个软件是在局域网内使用的,如果删除这段代码可能就不会有提示了,但是没有办法同步了


 回到顶部
帅哥哟,离线,有人找我吗?
kaituozhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/2/27 11:39:00 [显示全部帖子]

保存后就会出错上述情况

 回到顶部
帅哥哟,离线,有人找我吗?
kaituozhe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/2/27 15:16:00 [显示全部帖子]

这是计划管理中的代码,自动保存。

Dim lst1 As New List(of DataRow)
Dim lst2 As New List(of DataRow)
For Each dt As DataTable In DataTables
    For Each r1 As DataRow In dt.DataRows
        If r1.RowState = DataRowState.Modified Then
            lst1.Add(r1)
        ElseIf r1.RowState = DataRowState.Added Then
            lst2.Add(r1)
        End If
       
    Next
    dt.save
 
    For Each r1 As DataRow In  lst1
        r1.Save()
        Dim p1 As String = "U#"
        '一定要在保存后合成信息,因为新增行的主键在保存后才生成
        Dim msg1 As String = p1 & dt.name & "#" & r1("_Identify") & "#" & shujuyuanmingcheng
        'msgbox(msg)
        For Each bd As QQBuddy In QQClient.Buddies
            If bd.Online Then
                QQClient.Send(bd.name, msg1)
            End If
        Next
    Next
    For Each r2 As DataRow In  lst2
        r2.Save()
        Dim p2 As String = "A#"
        '一定要在保存后合成信息,因为新增行的主键在保存后才生成
        Dim msg2 As String = p2 & dt.name & "#" & r2("_Identify") & "#" & shujuyuanmingcheng
       
        For Each bd As QQBuddy In QQClient.Buddies
            If bd.Online Then
                QQClient.Send(bd.name, msg2)
            End If
        Next
    Next
Next


 回到顶部