以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]QQclient保存出错 w (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128653) |
-- 作者:blsu33 -- 发布时间:2018/12/12 11:44:00 -- [求助]QQclient保存出错 w 老师, 保存时 出错
.NET Framework 版本:2.0.50727.8937 Foxtable 版本:2018.10.9.1 错误所在事件: 详细错误信息: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。 貌似 _Identify 列问题? |
-- 作者:有点甜 -- 发布时间:2018/12/12 11:52:00 -- 1、每一次都报错?还是偶尔才报错?
2、保存的时候你执行了什么代码? |
-- 作者:blsu33 -- 发布时间: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 -- 发布时间:2018/12/12 12:20:00 -- 老师 感觉就是 一行行的 增加保存 没问题 但是 增加多行 跨行 点击后 保存 偶尔出错
|
-- 作者:blsu33 -- 发布时间:2018/12/12 13:40:00 -- ![]() ![]() |
-- 作者:blsu33 -- 发布时间:2018/12/12 13:56:00 -- 副本Table之行位置联动 假定窗口中插入了一个Table控件,绑定到"表A",作为副本。 Dim
dr As
DataRow = e.Table.Current.DataRow 加了 这个 好像 就正确了 还在测试 |
-- 作者:blsu33 -- 发布时间:2018/12/12 13:59:00 -- 不行 还是 有问题 |
-- 作者:有点甜 -- 发布时间:2018/12/12 14:57:00 -- 去掉提示吧,应该没关系的。
Dim dt = DataTables("表A").basetable |
-- 作者:blsu33 -- 发布时间:2018/12/13 19:21:00 -- 那一楼的报错 还是有的 也去掉吗 |
-- 作者:有点甜 -- 发布时间:2018/12/13 20:01:00 --
频繁的r.save可能导致你这种问题,尽量用tables().save或者datatables().save保存数据。
如果你想屏蔽1楼的错误,参考 http://www.foxtable.com/webhelp/scr/2655.htm
|