当前位置:编程学习 > asp >>

一个奇怪的错误,大家要当心呀(花了我大半天的时间)!

答案:在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时要当心些,宁愿多加几个变量上去。

上一个:FormatCurrency()
下一个:Protecting Your DHTML Using ASP

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,