Foxtable(狐表)用户栏目专家坐堂 → 删除时代码报错,帮忙看一下


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

主题:删除时代码报错,帮忙看一下

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


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
删除时代码报错,帮忙看一下  发帖心情 Post By:2021/9/8 11:31:00 [只看该作者]

教师签到表的DataRowDeleted 事件中有这样一个删除后重新统计的代码 签到表和教师签到表  是关联表关系 签到表.教师签到表


Dim pr As DataRow
pr = DataTables("签到表").Find("签到表编号 = '" & e.DataRow("签到表编号") & "'")
If pr IsNot Nothing Then
    pr("教师人数") = e.DataTable.compute("count(签到表编号)","签到表编号 = '" & e.DataRow("签到表编号") & "' and 教师工号 <> ''")
    pr.Save
End If

问题。在新建行,然后还没有保存的时候,撤销并删除行的时候会报错。
报错代码如下
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.5.12.1
错误所在事件:表,教师签到表,DataRowDeleted
详细错误信息:
调用的目标发生了异常。
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/8 11:39:00 [只看该作者]

放到DataRowDeleting事件

Dim pr As DataRow
dim bh as string = e.DataRow("签到表编号")
pr = DataTables("签到表").Find("签到表编号 = '" & bh & "'")
If pr IsNot Nothing Then
    e.DataRow("签到表编号") = nothing
    pr("教师人数") = e.DataTable.compute("count(签到表编号)","签到表编号 = '" & bh & "' and 教师工号 <> ''")
    pr.Save
End If

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


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By:2021/9/8 14:02:00 [只看该作者]

这样有点问题 删除时进行判断。如果之前有数据,删除的时候,最后统计的数值会是1.

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/8 14:11:00 [只看该作者]

不可能,仔细看上面代码,看不懂请上传实例测试。

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


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By:2021/9/9 19:08:00 [只看该作者]

弄好了,我代码写错了。

 回到顶部