Foxtable(狐表)用户栏目专家坐堂 → 从字符串“部门编号 like '01'”到类型“Long”的转换无效


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

主题:从字符串“部门编号 like '01'”到类型“Long”的转换无效

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
从字符串“部门编号 like '01'”到类型“Long”的转换无效  发帖心情 Post By:2015/3/13 22:53:00 [只看该作者]

请教:

窗口中用的是  SQLTable


下面代码执行出错

Dim a As String = e.Form.Controls("借用标签").text

If e.DataCol.Name = "部门" Then

    Dim dr As DataRow

    dr = e.DataTable.Find("部门编号 like '" & a & "'" And "len(部门编号) = '" & len(a) + 3 & "'"  And "部门 = '" & e.NewValue & "'")

End If


错误信息如下:

 

.NET Framework 版本:2.0.50727.5485

Foxtable 版本:2014.11.11.1

错误所在事件:表,部门管理_Table1DataColChanged

详细错误信息:

调用的目标发生了异常。

从字符串“部门编号 like '01'”到类型“Long”的转换无效。

输入字符串的格式不正确。

 


 


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/3/13 22:53:00 [只看该作者]

部门 和 部门编号 字段全是字符型

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2015/3/13 23:04:00 [只看该作者]

1、再检查字段类型

2、"部门编号 like '" & a & "'"   改为: "部门编号 like '*" & a & "*'"


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/3/13 23:08:00 [只看该作者]

字段类型没有问题

 dr = e.DataTable.Find("部门编号 like '" & a & "'" And "len(部门编号) = '" & len(a) + 3 & "'"  And "部门 = '" & e.NewValue & "'")
上面三个条件只选任一个条件都没有问题,连在一起就不行了

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/3/13 23:13:00 [只看该作者]

字段类型没有问题

 dr = e.DataTable.Find("部门编号 like '" & a & "'" And "len(部门编号) = '" & len(a) + 3 & "'"  And "部门 = '" & e.NewValue & "'")
上面三个条件只选任一个条件都没有问题,只要任选两个条件就不行了

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2015/3/13 23:29:00 [只看该作者]

试试:

dr = e.DataTable.Find("部门编号 like '*" & a & "*' And len(部门编号) = '" & len(a) + 3 & "' And 部门 = '" & e.NewValue & "'")


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/3/13 23:47:00 [只看该作者]

这样做代码执行不出错了,但结果不是我想要的。我的目的是要判断在一个部门中增加一个子部门后,该子部门不能在本部门中重复,请老师再看看

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/3/14 1:45:00 [只看该作者]

问题已解决,原来将代码放在 [ DataColChanged某一列的内容被更改后执行,此时列的内容已经是更改后的值]  中,达不到要求,后将代码放在 [ ValidateEdit

结束编辑单元格前执行,通常用于验证输入的内容。]  中就可以。

但不知道原因是什么?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/14 8:44:00 [只看该作者]

Like要有模糊匹配符

 回到顶部