关于ASP中IF语句的执行顺序
我的一个程序大概是这样:iftrim(request("B"))="添加"thenIFAThenstr="Aerror!"''''''A,B,C是代表条件表达式IFBTh...
我的一个程序大概是这样:
if trim(request("B"))="添加" then
IF A Then str="Aerror!" ''''''A,B,C是代表条件表达式
IF B Then str="Berror!"
IF C Then str="Cerror!"
IF str<>"" Then
call ErrMsg()
els
sql="insert int......."
.......
end if
End IF
在运行的时候,如果ABC都满足的时候,总是先弹出C的报错提示框(就是让人感觉先执行判断C的IF语句了),如果C不符合,又是先判断B,而不是先判断A,请问这是怎么回事?为什么不按照首先检测A,弹出Aerror的提示框?
1楼的,在asp中then后的语句平行写,是不需要end if的。
我主要迷惑的是三个if语句为什么会倒着执行,而不是顺序执行,是不是编译的时候做了优化导致的?我的程序在运行的时候是没有问题的。 展开
if trim(request("B"))="添加" then
IF A Then str="Aerror!" ''''''A,B,C是代表条件表达式
IF B Then str="Berror!"
IF C Then str="Cerror!"
IF str<>"" Then
call ErrMsg()
els
sql="insert int......."
.......
end if
End IF
在运行的时候,如果ABC都满足的时候,总是先弹出C的报错提示框(就是让人感觉先执行判断C的IF语句了),如果C不符合,又是先判断B,而不是先判断A,请问这是怎么回事?为什么不按照首先检测A,弹出Aerror的提示框?
1楼的,在asp中then后的语句平行写,是不需要end if的。
我主要迷惑的是三个if语句为什么会倒着执行,而不是顺序执行,是不是编译的时候做了优化导致的?我的程序在运行的时候是没有问题的。 展开
2个回答
展开全部
ABC三个是平等判断的,没有先后顺序。
建议写法用Select Case,
这种三个IF平行的话,是不是可以这么想,程序一定会执行三次,最后判断的是IF C...
所以显示C报错并不是最先,而是最后判断的...
建议写法用Select Case,
这种三个IF平行的话,是不是可以这么想,程序一定会执行三次,最后判断的是IF C...
所以显示C报错并不是最先,而是最后判断的...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询