Foxtable(狐表)用户栏目专家坐堂 → [求助]刷新同步某些列值


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

主题:[求助]刷新同步某些列值

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]刷新同步某些列值  发帖心情 Post By:2015/9/19 18:35:00 [显示全部帖子]

BUG录入表如果修改了某一行的值,那么同时也应该修改BUG研发表的对应的值(同一个BUG ID)
按照帮助,可是发现msgbox(1),msgbox(2),msgbox(3)执行后BUG研发表的值是改了,但是执行到msgbox(4)后就还原为之前的值了。这是什么原因?
BUG录入表的提交按钮click代码如下:
Dim s As String = "BUG_ID = '" & r("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") = r("BUG_ID")
            dr.save
            MessageBox.show("BUG编号:" & r("BUG_ID") & "此BUG故障已通知研发,请静静的耐心等待牛人研发:" & r("模块维护人") & "解决!","博达BUG综合管理系统")
        Else
            r.Load()
            LockBaseMainForm()
            DataTables("BUG研发表").StopRedraw
            msgbox(1)
            DataTables("BUG研发表").RemoveFor(s)
            msgbox(2)
            DataTables("BUG研发表").Appendload(s)
            msgbox(3)
            DataTables("BUG研发表").ResumeRedraw
            msgbox(4)
            UnLockBaseMainForm()
            MessageBox.show("BUG编号:" & r("BUG_ID") & "此BUG故障信息已修改,并通知研发,请静静的耐心等待研发" & r("模块维护人") &  "解决!","博达BUG综合管理系统")
        End If
        msgbox(5)
        DataTables("BUG研发表").Save()
        DataTables("BUG录入表").Save()

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/9/21 16:29:00 [显示全部帖子]

开发者用户名liujiyong@bdcom.com.cn   pwd:liujy

你用户名:libin@bdcom.com.cn   pwd:bdcom 测试

在BUG录入系统,先随便构造数据,点击提交,然后修改这BUG ID的某些数据,在BUG研发表看看数据是否已经改过了,我测试了没改过。
请大红袍帮忙看看。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临时版本跟踪系统1225.rar


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/9/21 17:50:00 [显示全部帖子]

加上dr.save
出错
.NET Framework 版本:2.0.50727.8009
Foxtable 版本:2014.11.11.1
错误所在事件:表,BUG录入表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。
但我检测了2遍,发现datacolname都是对的,不知道哪里出错?请帮忙再看一下。谢谢。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/9/22 10:26:00 [显示全部帖子]

这段代码本身是不是就有问题啊。
select case和end select无法左边对齐。
另外之前的没有dr.save没有报错,加上dr.save就开始报错。
msgbox(1)和msgbox(3)执行,msgbox(2)和msgbox(4)没有执行。‘

Select Case e.DataCol.name
    Case  "测试机型","软件版本","现象描述","发现阶段","严重程度","优先级别","怀疑模块","附件","附件目录"
        Dim dr As DataRow = DataTables("BUG研发表").SQLFind("BUG_ID = '" & e.DataRow("BUG_ID") & "'")
        msgbox(1)
        If dr IsNot Nothing Then
            msgbox(2)
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
        msgbox(3)
        dr.save
        msgbox(4)
    End  Select

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/9/22 11:00:00 [显示全部帖子]

把BUG录入表和BUG研发表的datacolchange代码都看了,也没发现哪里有问题啊。
加上dr.save这行代码,已点击BUG录入系统菜单就报错了。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/9/22 11:04:00 [显示全部帖子]

我把dr.save注掉掉就不会报错。

 回到顶部