我支持/增强了用Classic ASP/VBScript编写的Web应用程序.自从我使用日常生产能力以来已经过去了大约10年.我刚刚遇到了一个我认为是"陷阱"的问题,并且想知道其他人是否有类似我应该学会了解的事情.
我的问题:
我必须将SQL表中的列从float转换为decimal.事实证明,十进制不是vbscript中真正支持(或支持得很好)的类型.所以下面的代码:
Dim var1, var2 var1 = rs("DecimalField1").Value var2 = rs("DecimalField2").Value If (var1 <> var2) Then 'Do Something' End If
会在线路上出现类型不匹配错误:
If (var1 <> var2) Then
经过多次搜索,我发现:
var1 = CDBL(rs("DecimalField1").Value) var2 = CDBL(rs("DecimalField2").Value)
解决了这个问题.但这似乎并不是一个显而易见的事情,我花了一段时间才弄清楚为什么我在那条线上遇到类型不匹配.
所以我对每个人的问题是,你遇到过这样的其他小问题吗?ASP/vbscript中有哪些东西你会被认为是"陷阱",我应该注意什么?
在我之后重复:所有优秀的VB程序员都使用Option Explicit
它会让你不小心声明一个新的变量并使用它 - 从而抛弃你正在做的事情.
除此之外,它取决于你在做什么.
当你看到以下行时要小心:
On Error Resume Next
这将是我使用经典ASP的谨慎.