Foxtable(狐表)用户栏目专家坐堂 → 提示调用目标异常,lenth长度错误,用substring取左4位字符时(完美解决)


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

主题:提示调用目标异常,lenth长度错误,用substring取左4位字符时(完美解决)

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


加好友 发短信
等级:四尾狐 帖子:867 积分:6210 威望:0 精华:0 注册:2012/11/24 20:44:00
提示调用目标异常,lenth长度错误,用substring取左4位字符时(完美解决)  发帖心情 Post By:2013/6/1 7:58:00 [只看该作者]

下面这段代码用于取合同编号的左4位字符,添加合同编号时能正确取出,但重置或删除合同编号时出错
If e.DataCol.Name = "合同编号" Then '发生变化的是项目名称吗?
    Dim s As String = e.DataRow("合同编号")
    If s IsNot Nothing Then
        e.DataRow("年份")=s.SubString(0,4)
    Else
        e.DataRow("年份")=Nothing
    End If
End If

错误提示:

图片点击可在新窗口打开查看此主题相关图片如下:添加相同键的项目.jpg
图片点击可在新窗口打开查看
 
不知何原因
[此贴子已经被作者于2013-6-1 14:07:41编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/6/1 8:24:00 [只看该作者]

一删除,就没字符串长度了,重置的话,空值行也会引发事件,从哪取4位?
[此贴子已经被作者于2013-6-1 8:25:34编辑过]

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


加好友 发短信
等级:四尾狐 帖子:867 积分:6210 威望:0 精华:0 注册:2012/11/24 20:44:00
回复:(lsy)一删除,就没字符串长度了,重置的话,空...  发帖心情 Post By:2013/6/1 9:31:00 [只看该作者]

所以,考虑到这种情况,加了一句:
 
Else
   e.datarow("年份")=Nothing

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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/6/1 9:42:00 [只看该作者]

If s IsNot Nothing Then

 

这句话有问题,改为if s > "" then  


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/6/1 10:13:00 [只看该作者]

If s IsNot Nothing Then改为: If s > "" and len(s) > 3 Then

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


加好友 发短信
等级:四尾狐 帖子:867 积分:6210 威望:0 精华:0 注册:2012/11/24 20:44:00
  发帖心情 Post By:2013/6/1 14:07:00 [只看该作者]

谢谢程版和JSPTA!解决。

 回到顶部