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