这个ASP代码中有多大的数字?

时间:2011-04-12 18:51:13

标签: vbscript asp-classic

'   Now get a Location_ID 
'
    Set RS = DB.Execute (AF.SQL("GenerateLocationID"))
    Location_ID = CInt (RS(0).Value)
    RS.Close

这是写入使用Number(10)定义的Oracle数据库,但返回以下错误:

  

Microsoft VBScript运行时错误“800a0006”

     

溢出:'CInt'

我很怀疑,因为Oracle表中最大的值现在是32767.是否是创建ID的代码中的限制?

(AF.SQL(“GenerateLocationID”)是'从Dual选择Location_ID.NextVal',所以它只是一个标准的Oracle select语句。

2 个答案:

答案 0 :(得分:4)

这应该回答你的问题:

  

CInt功能转换为   表达式类型为Integer。注意:   值必须是介于-32768之间的数字   和32767。

基于代码,看起来Location_ID必须是短的。

http://www.w3schools.com/VBScript/func_cint.asp

答案 1 :(得分:4)

@thursdaysgeek:快速修复可能是 -

Location_ID = CLng(RS(0).Value)

或者如果你想调试它

On Error Resume Next
Location_ID = CInt(RS(0).Value)
If Err.Number <> 0 Then
    Response.Write RS(0).Value
End If
On Error GoTo 0