Foxtable(狐表)用户栏目专家坐堂 → 无法保存数据


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

主题:无法保存数据

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
无法保存数据  发帖心情 Post By:2024/5/8 16:19:00 [显示全部帖子]

If e.DataCol.name = "要求交货日期" Then
    If e.DataRow.isnull("要求交货日期") = False Then
        If e.DataRow.isnull("序号") Then
            Dim max As Integer = e.DataTable.SQLCompute("Max(序号)", "[_Identify] <> " & e.DataRow("_Identify")) '取得最大序号
            e.DataRow("序号") = max + 1
            'e.DataRow.save
            DataTables("叫料piao号").save
        End If
    Else
        e.DataRow("序号") = Nothing
        'e.DataRow.save
        DataTables("叫料piao号").save
    End If
End If

上面的代码,无论用 e.DataRow.save 还是 DataTables("叫料piao号").save,都无法保存数据,因为我每次再增加一行时,e.DataRow("序号") 的数据不会增加 1。如果我先增加一行后,用人工保存一下数据库,再增加一行时,e.DataRow("序号") 的数据就会增加 1 了。请问是为什么呢?谢谢。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/8 16:35:00 [显示全部帖子]

上述代码是放在 datacolchanged 里面的。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/8 16:41:00 [显示全部帖子]

比如说可能是什么因素?

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/8 16:51:00 [显示全部帖子]

Dim max As Integer = e.DataTable.SQLCompute("Max(序号)", "[_Identify] <> " & e.DataRow("_Identify")) '取得最大序号
e.DataRow("序号") = max + 1
e.DataRow.save
我把上面代码放在 datarowadding 里面也是一样,保存不了,要人工保存才行。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/8 17:00:00 [显示全部帖子]

这是一个数据表,不是查询表或者临时表。beforeSaveDataRow 里面没有代码。
"数据不完整,数据库无法保存",不知道哪个情况会这样。

我将1楼的第一行代码改为:If e.DataCol.name = "要求交货日期" OrElse e.DataCol.name = "piao号日期" Then
即增加了一个变量,那么我在录入"piao号日期" 后,就可以保存了。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/8 17:01:00 [显示全部帖子]

但是,如果在录入"piao号日期" 之前,连续增加多个数据行,每个新增行的  “序号” 就不会发生变化。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/9 7:43:00 [显示全部帖子]

希望每增加一行,就从后台查找此前最大的序号(比如3),然后将刚才增加的一行其序号增加1,变为4,再将这个4字保存下来。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2024/5/9 13:49:00 [显示全部帖子]

直接放到 datarowadded 事件:果然可以了。谢谢。

 回到顶部