经典ASP ADO简单代码错误

Classic ASP ADO simple code error

我有一个单行经典 ASP 服务器端代码失败了。

...
result = rs(0)

这是抛出 HTTP 500.100 - 内部错误,我无法弄清楚。我觉得自己是目前宇宙中最愚蠢的网络程序员。 我引入了错误检查,如:

...
On Error Resume Next
result = rs(0)
If Err.Number <> 0 Then
    ...
End If

HTTP 错误仍然存​​在!

如果我 运行 在 MS SQL Server Management Studio 中进行实际查询,我会得到预期的结果(1 行,1 列结果),所以它不是 SQL。如果我将代码更改为:

result = rs(1)

On Error Resume Next 代码发现错误为“#3265:在与请求的名称或序号对应的集合中找不到项目。”

如果我硬编码为:

result = 10.0

我没有收到任何错误。

同样在这一行代码之前,我首先检查现有数据行,如:

If Not rs.EOF Then       
   result = rs(0)        
End If

所以我可以排除没有任何数据。

天哪,难怪我找不到答案,因为我已经得出结论,以消除 DAM 可能关注的领域 SQL!

有问题的列的精度是 numeric(19,6),VBScript 无法处理,所以我将它转换为 float,一切正常。