Foxtable(狐表)用户栏目专家坐堂 → 关于退出窗体出错的问题


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

主题:关于退出窗体出错的问题

帅哥,在线噢!
裴保民
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1995 积分:12696 威望:0 精华:0 注册:2017/4/3 15:01:00
关于退出窗体出错的问题  发帖心情 Post By:2018/1/13 0:16:00 [只看该作者]

我在 BeforeClose 事件中编写如下代码:


Dim shmcbx As WinForm.TextBox=e.Form.controls("shanghumingchengText")

Dim str As String =shmcbx.text

Dim t As Table = Tables("商户资料表")

Dim idx As Integer=t.findrow("商户名称= '" & str & "' and _Identify <> " & t.current("_Identify"))

Dim mqrq As Date =  Date.Today

Dim zcrq As WinForm.DateTimePicker = e.Form.Controls("zhuceriqiDateTimePicker")

Dim zhxgrq As WinForm.DateTimePicker = e.Form.Controls("zuihougenggairiqiDateTimePicker")

If zcrq.Value<>Nothing Then

    If zcrq.Value>mqrq Then

        MessageBox.Show("所输入的注册日期有误,该日期不能大于当期日期,保存数据失败!", "提示")

        Tables("商户资料表").Current.Reject

        Return

    End If

End If

If zhxgrq.Value<>Nothing Then

    If zhxgrq.Value>mqrq Then

        MessageBox.Show("所输入的最后修改日期有误,该日期不能大于当期日期,保存数据失败!", "提示")

        Tables("商户资料表").Current.Reject

        Return

    End If

End If

If zhxgrq.Value<>Nothing Then

    If zcrq.Value>zhxgrq.Value Then

        MessageBox.Show("所输入的最后修改日期有误,该日期不能小于注册日期,保存数据失败!,请核实.", "提示")

        Tables("商户资料表").Current.Reject

        Return

    End If

End If

If   shmcbx.text=  Nothing Then

    MessageBox.Show("商户名称不能为空,保存数据失败!", "提示")

    Tables("商户资料表").Current.Reject

    Return

ElseIf  zcrq.Value= Nothing Then

    MessageBox.Show("注册日期不能为空,保存数据失败!", "提示")

    Tables("商户资料表").Current.Reject

    Return

ElseIf idx >=0 Then

    MessageBox.Show("商户名称已存在,保存数据失败!", "提示")

    Tables("商户资料表").Current.Reject

Else

    Tables("商户资料表").Save

    Dim rc As C1FlexGrid.CellRange = t.grid.Selection

    Dim cellrect As System.Drawing.Rectangle = t.grid.RectangleToScreen(t.grid.GetCellRect(rc.r1,rc.c1))

    SetCursorPos(cellrect.x, cellrect.y) 

End If

xgjinzhihangjianyidong=True

jinzhihangjianyidong=True


在运行时,如果数据库中无数据会出如下错误,,该怎么处理呢?



图片点击可在新窗口打开查看此主题相关图片如下:1515773282(1).png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1515773330(1).png
图片点击可在新窗口打开查看





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


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/1/13 8:34:00 [只看该作者]

做一个判断表总行数

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


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 8:56:00 [只看该作者]

current在使用前一定要先判断一下,这个问题已经说过不少次。长期犯同一个错误就没有必要了

Dim shmcbx As WinForm.TextBox=e.Form.controls("shanghumingchengText")

Dim str As String =shmcbx.text

Dim t As Table = Tables("商户资料表")

if t.current isnot nothing then

    原来的其它代码

endif


 回到顶部
帅哥,在线噢!
裴保民
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1995 积分:12696 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/1/13 17:26:00 [只看该作者]

这样是不是,在数据库中无数据的情况下,对添加数据的合法性不判断呀

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


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 17:31:00 [只看该作者]

先判断有没有数据,数据都没有何来的合法性

 回到顶部