为了账号安全,请及时绑定邮箱和手机立即绑定

如下所示,为什么使用isnumeric()函数后,三个都显示出来了?

如下所示,为什么使用isnumeric()函数后,三个都显示出来了?

一只甜甜圈 2022-04-19 13:15:55
研究了半边也不知道怎么回事do while not rs.eof h=h+1k1=h&l1k2=h&l2k3=h&l3k4=h&l4k5=h&l5k6=h&l6ware_no=Trim(request.Form(k1))glbm=Trim(request.Form(k2))fullname=Trim(request.Form(k3))people=request.Form(k4)phone=request.Form(k5)address=request.Form(k6)'判断软件序号长度及是否是数字if Len(ware_no)<>6 thenResponse.Write"导入错误:第"&H&"记录的软件序号"&ware_no&"位数不正确!<br>"rs.MoveNextend ifif isnumeric(ware_no)=flase thenResponse.Write"导入错误:第"&H&"记录的软件序号"&ware_no&"不是纯数字!<br>"rs.MoveNextend ifif Len(glbm)<>20 thenResponse.Write"导入错误:第"&H&"记录的微机管理编码"&glbm&"位数不正确!<br>"rs.MoveNextend ifrs.MoveNextLoop如果第一条记录 三个条件都不满足 正常第一个不满足就跳到下一条记录,可是使用isnumeric() 函数 后,三个都显示出来了 疑惑
查看完整描述

4 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

当第一个不满足时,是跳到下一条记录了,但是你的ware_no依然获得是第一条记录的值,所以有可能所有的都显示出来。
我觉得你的思路可以改一下。
如:
flag=false
strErr=""
if Len(ware_no)<>6 then
flag=true
strErr=strErr&"导入错误:第"&H&"记录的软件序号"&ware_no&"位数不正确!<br>"
end if
if isnumeric(ware_no)=flase then
flag=true
strErr=strErr&"导入错误:第"&H&"记录的软件序号"&ware_no&"不是纯数字!<br>"
end if
if Len(glbm)<>20 then
flag=true
strErr=strErr&"导入错误:第"&H&"记录的微机管理编码"&glbm&"位数不正确!<br>"
end if

if flag then
response.write strErr
rs.movenext
end if

不知道对于你的思路有没有帮助!



查看完整回答
反对 回复 2022-04-24
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

k1=h&l1
把每一句这样的改成
k1=int(h%l1)
先强制转换字符类型成数字型试试。

查看完整回答
反对 回复 2022-04-24
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞


if isnumeric(ware_no)=flase then
Response.Write"导入错误:第"&H&"记录的软件序号"&ware_no&"不是纯数字!<br>"
rs.MoveNext
end if

删除,看输出结果再分析下,
如果不行,就强制声明ware_no的数据类型,保护数据原型

查看完整回答
反对 回复 2022-04-24
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

不知道你想怎么样,是不是想达到这样目的?
do while not rs.eof
h=h+1
k1=h&l1
k2=h&l2
k3=h&l3
k4=h&l4
k5=h&l5
k6=h&l6
ware_no=Trim(request.Form(k1))
glbm=Trim(request.Form(k2))
fullname=Trim(request.Form(k3))
people=request.Form(k4)
phone=request.Form(k5)
address=request.Form(k6)
'判断软件序号长度及是否是数字
if Len(ware_no)<>6 then
Response.Write"导入错误:第"&H&"记录的软件序号"&ware_no&"位数不正确!<br>"
elseif isnumeric(ware_no)=flase then
Response.Write"导入错误:第"&H&"记录的软件序号"&ware_no&"不是纯数字!<br>"
elseif Len(glbm)<>20 then
Response.Write"导入错误:第"&H&"记录的微机管理编码"&glbm&"位数不正确!<br>"
end if
rs.MoveNext
Loop



查看完整回答
反对 回复 2022-04-24
  • 4 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号