Foxtable(狐表)用户栏目专家坐堂 → sql合成语句自己写保存代码,beforesavedatarow里的代码只会判断第一行


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

主题:sql合成语句自己写保存代码,beforesavedatarow里的代码只会判断第一行

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


加好友 发短信
等级:幼狐 帖子:158 积分:1536 威望:0 精华:0 注册:2018/4/11 21:01:00
sql合成语句自己写保存代码,beforesavedatarow里的代码只会判断第一行  发帖心情 Post By:2020/8/26 10:29:00 [只看该作者]

因为涉及到事务,所以保存功能我自己写了sql语句,同时为了让系统的保存功能取消,写了语句“e.cancel = true”,代码如下:

Dim zd As String() = {"A","B","AA","BB"}
For Each z As String In zd
    If e.DataRow.IsNull(z) Then
        MessageBox.Show(z & " 必须选择")
        e.Cancel = True
        Return
    End If
Next

e.Cancel = True

这里又带来了一个新的问题:我有2行及以上的新行,这个代码就不会再判断第二行,第二行“A”列为空,也是会继续执行下去,sql语句就会insert,然后跳出sqlserver的错误提示。
这个问题有办法解决吗?

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/26 10:45:00 [只看该作者]

既然自己写代码保存,就不要用系统的这个事件了。做个窗口或者菜单按钮做判断和保存吧

 回到顶部