+ -
当前位置:首页 → 问答吧 → select case为何老是直接执行case else之后的语句?

select case为何老是直接执行case else之后的语句?

时间:2011-12-15

来源:互联网

代码如下:
for i=1 to rs.RecordCount 
Response.Write "<br>"&i&". "&rs.Fields("Field_Type")&" is ok! "&rs.Fields("Field_Name")&"="&request.Form(i)&cstr(cbool(rs.Fields("Field_Type")="text"))
select case rs.Fields("Field_Type")
case "Text"
Response.Write "<br>this is Text!<br>"
case "Number"
Response.Write "<br>this is Number!<br>"
case "DateTime"
Response.Write "<br>this is DateTime!<br>"
case else
Response.Write "<br>this is else?!<br>"
end select
rs.MoveNext
Response.Write "fieldvalue="&fieldvalue
next

输出结果:
1. text is ok! Xing=王True
this is else?!
fieldvalue=
2. text is ok! Ming=五True
this is else?!
fieldvalue=
3. number is ok! Gender=0False
this is else?!
fieldvalue=
4. text is ok! BloodType=ATrue
this is else?!
fieldvalue=
5. datetime is ok! Birthday=1977-8-19False
this is else?!
fieldvalue=
6. text is ok! Remarks=True
this is else?!
fieldvalue= 

问:
为何老是执行case else之后的语句?明明1、2、4、5输出了cbool(rs.Fields("Field_Type")="text") 为 true 啊

作者: xyjnsdcn   发布时间: 2011-12-15

case "text" 小写试

作者: xmlife   发布时间: 2011-12-15

说不定还真是大小写的问题.

作者: qianjin036a   发布时间: 2011-12-15

晕,改全小写的确是可以.可是另外一个页面从同一个数据库同一个位置取field_type却运行正常,页面上也用的首字母大写Text啊?说不通啊

作者: xyjnsdcn   发布时间: 2011-12-15

我是觉得vb系列语言不区分大小写让人养成不好的习惯。

作者: p2227   发布时间: 2011-12-15

同一个数据库同一个字段(数据库中为全小写),下面的代码执行没有问题:

for i=1 to rs.RecordCount 
fielditem=fielditem&rs.Fields("Field_Name")&","
select case rs.Fields("Field_Type")
case "Text"
fieldvalue=fieldvalue&"'"&Request.Form(i)&"',"
case "Number"
tmp=split(Request.Form(i),",")
sum_tmp=0
for j=0 to ubound(tmp)
sum_tmp=sum_tmp+tmp(j)
next
fieldvalue=fieldvalue&sum_tmp&","
case "DateTime"
if trim(Request.Form(i))="" then
fieldvalue=fieldvalue&"null,"
else
fieldvalue=fieldvalue&"'"&Request.Form(i)&"',"
end if
case else
fieldvalue=fieldvalue&"'"&Request.Form(i)&"',"
end select
rs.MoveNext
next

作者: xyjnsdcn   发布时间: 2011-12-15

运气不好而已.

作者: qianjin036a   发布时间: 2011-12-15