一个奇怪的错误,大家要当心呀(花了我大半天的时间)!
发表于:2007-06-30来源:作者:点击数:
标签:
在ASP有用Dim预先定义变量是非常好的习惯,可我碰到这样的问题: 用存储过程取出一个结果集,其中一个字段为smallDate类型,缺省值为Null,这里为‘’2001-4-4‘’,做如下判断: ... Table ... /Table % IF Not IsNull(oRs(E_DT)) Then % Table ... /Table %
在ASP有用Dim预先定义变量是非常好的习惯,可我碰到这样的问题:
用存储过程取出一个结果集,其中一个字段为smallDate类型,缺省值为Null,这里为‘’2001-4-4‘’,做如下判断:
...
<Table>
...
</Table>
<%
IF Not IsNull(oRs("E_DT")) Then
%>
<Table>
...
</Table>
<%
End IF
%>
可显示出来的日期却是1899-12-30
在判断前加上 Response.Write oRs("E_DT")居然为空。
后来改为:
<%
Dim strBack
IF IsNull(oRs("E_DT")) Then
strBack = "0"
Else
strBack = "1"
End IF
%>
...
<Table>
...
</Table>
<%
IF strBack = "1" Then
%>
<Table>
...
</Table>
<%
End IF
%>
就正确了,在判断前加上 Response.Write oRs("E_DT")也显示正常了。
真是怪事,看来用Dim时要当心些,宁愿多加几个变量上去。
原文转自:http://www.ltesting.net