Foxtable(狐表)用户栏目专家坐堂 → [求助]QQclient保存出错 w


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

主题:[求助]QQclient保存出错 w

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]QQclient保存出错 w  发帖心情 Post By:2018/12/12 11:44:00 [只看该作者]

老师,
保存时 出错 

.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2018.10.9.1
错误所在事件:
详细错误信息:
未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
貌似 _Identify  列问题?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/12 11:52:00 [只看该作者]

1、每一次都报错?还是偶尔才报错?

 

2、保存的时候你执行了什么代码?


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/12/12 12:19:00 [只看该作者]

保存 函数

Dim e =args(0)
Dim r As Row=args(1)
Dim udname As String=args(2)
Dim tb As Table=r.Table
Dim Key As String =mxsysid99 & ":" & tb.DataTable.name & ":" & r("_Identify")
Dim Result As DialogResult
Result=MessageBox.Show("是否保存对" & r("_Identify") &"行的修改!","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes  Then
    Select Case udname
        Case "Del"
            Dim msg As String = "D#" & mxsysid99 & "#" & tb.DataTable.name & "#" & r("_Identify")
            MessageBox.Show(msg)
            tb.AllowEdit=False
            r("_locked")=False
            r.Delete()
            tb.Save()
            For Each bd As QQBuddy In QQClient.Buddies
                If bd.Online  Then
                    QQClient.Send(bd.name, msg)
                End If
            Next
        Case Else
            Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
            r.Save()
            '一定要在保存后合成信息,因为新增行的主键在保存后才生成
            Dim msg As String = p & mxsysid99 & "#" & tb.DataTable.name & "#" & r("_Identify")
            For Each bd As QQBuddy In QQClient.Buddies
                If bd.Online  Then
                    QQClient.Send(bd.name, msg)
                End If
            Next
            r("_locked")=True
            r("bz")=""
            Dim i As Integer=tb.Current.Index
            tb.Position = i
    End Select
    If tbrk.Contains(Key) Then
        tbrk.Remove(Key) '移除本地编辑登记
        QQClient.Send("!#" & Key & "#!") '通知服务器此行已经结束 编辑
    End If
    tb.AllowEdit=False
Else
    Return Nothing
End If

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/12/12 12:20:00 [只看该作者]

老师 
感觉就是 一行行的 增加保存 没问题
但是 增加多行 跨行 点击后 保存 偶尔出错

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/12/12 13:40:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:998fc0a7-7575-49e4-a7f5-2272f1fc5c53.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/12/12 13:56:00 [只看该作者]

副本Table之行位置联动

假定窗口中插入了一个Table控件,绑定到"表A",作为副本。
希望在这个副本Table中选定一行时,表A也能自动选定这一行,实现这个任务很简单,只需将副本Table的CurrentChanged事件代码设置为:

Dim dr As DataRow = e.Table.Current.DataRow
Dim
wz As Integer = Tables("A").FindRow(dr)
If
wz >=0 Then
      Tables(
"
A").Position = wz
End
If


加了 这个 好像 就正确了  还在测试


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/12/12 13:59:00 [只看该作者]

不行 还是 有问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/12 14:57:00 [只看该作者]

去掉提示吧,应该没关系的。

 

Dim dt = DataTables("表A").basetable
For Each r As object In dt.rows
    For Each c As object In dt.columns
        r.SetColumnError(c.tostring, "")
    Next
    r.RowError = ""
Next


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/12/13 19:21:00 [只看该作者]

那一楼的报错 还是有的 也去掉吗

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 20:01:00 [只看该作者]

 

频繁的r.save可能导致你这种问题,尽量用tables().save或者datatables().save保存数据。

 

如果你想屏蔽1楼的错误,参考 http://www.foxtable.com/webhelp/scr/2655.htm

 

 

 


 回到顶部