以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]同步更新遇到困难了 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71822) |
-- 作者:huhu -- 发布时间:2015/7/18 19:20:00 -- [求助]同步更新遇到困难了 Dim r As Row = Tables("BUG录入表").Current If r.DataRow.GetChildRows("BUG研发表").Count = 0 Then
我是按照帮助来做的。可是效果不对。 比如BUG_ID 为201507018的数据。提交后。然后再次在BUG录入表修改BUG_ID201507018的数据,又再次提交。 问题来了,怎么在BUG研发表又增加了一行同样是是BUG_ID为201507018的数据(修改后的),也就是说在BUG研发表存在2个BUG_ID201507018的数据。 本意是希望是同步更新,而不是新增加行。 |
-- 作者:大红袍 -- 发布时间:2015/7/19 10:36:00 --
[此贴子已经被作者于2015/7/19 10:36:31编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/7/19 10:38:00 -- 先load数据,再判断 If r.DataRow.GetChildRows("BUG研发表").Count = 0 Then
或者,用sqlFind先查找 http://www.foxtable.com/help/topics/2911.htm
|
-- 作者:huhu -- 发布时间:2015/7/19 12:56:00 --
红色的代码应该还是有问题。BUG研发表还是增加了新的行,并不是把原来的数据更新。 请大师再帮我瞅瞅。 |
-- 作者:程兴刚 -- 发布时间:2015/7/19 13:56:00 -- 不绕这些弯路,效果一样:
If Tables("BUG录入表").Current IsNot Nothing dr.save() r.save() \'加载父行 [此贴子已经被作者于2015/7/19 13:59:43编辑过]
|
-- 作者:程兴刚 -- 发布时间:2015/7/19 13:57:00 -- 刚刚少了个右括号,已修改! |
-- 作者:大红袍 -- 发布时间:2015/7/19 14:11:00 -- Dim dr As DataRow = DataTables("BUG研发表").AddNew()
写到sqlfind判断里面啊。 |
-- 作者:huhu -- 发布时间:2015/7/19 16:53:00 -- 以下是引用程兴刚在2015/7/19 13:56:00的发言:
不绕这些弯路,效果一样:
If Tables("BUG录入表").Current IsNot Nothing dr.save() r.save() \'加载父行 [此贴子已经被作者于2015/7/19 13:59:43编辑过] 程老师,你这个好像只能对BUG录入表的数据生效。但是BUG研发表的数据并没有修改,还是之前的。 |
-- 作者:大红袍 -- 发布时间:2015/7/19 16:57:00 -- Dim rr As Row = Tables("BUG录入表").Current Dim s As String = "BUG_ID = \'" & rr("BUG_ID") & "\'" Dim fr As DataRow = DataTables("BUG研发表").SQLFind(s) If fr Is Nothing Then Dim dr As DataRow = DataTables("BUG研发表").AddNew() dr("BUG_ID") = rr("BUG_ID") dr.save MessageBox.show("BUG编号:" & rr("BUG_ID") & "此BUG故障已通知研发,请静静的耐心等待研发解决!","博达BUG综合管理系统") Else rr.Load() \'加载父行 LockBaseMainForm() \'锁定主窗口 DataTables("BUG研发表").StopRedraw \'停止绘制订单明细 DataTables("BUG研发表").RemoveFor(s) \'移除当前订单的订单明细 DataTables("BUG研发表").Appendload(s) \'追载当前订单的订单明细 DataTables("BUG研发表").ResumeRedraw \'恢复绘制订单明细 UnLockBaseMainForm() \'解锁主窗口 MessageBox.show("BUG编号:" & rr("BUG_ID") & "此BUG故障信息已修改,并通知研发,请静静的耐心等待研发解决!","博达BUG综合管理系统") End If |
-- 作者:huhu -- 发布时间:2015/7/19 17:16:00 -- .NET Framework 版本:2.0.50727.8009 报上面的错。 |