ASP存储过程调用出现“The precision is invalid”的处理方法
Vincent 2004/10/17
以下代码是我在开发ASP程序中遇到的问题
asp代码片断:
Dim lngUserNum
lngUserNum = 9999999999
....
...
Set objParameter = objCommand.CreateParameter _
("@UserID", adNumeric, adParamInput, lngUserNum)
objCommand.Parameters.Append objParameter
....
objCommand.Execute
存储过程代码片断:
CREATE PROCEDURE AddBoard
@UserID Numeric (10,0),
@BoardType char(1)
As
....
执行asp脚本程序,IIS提示
Microsoft OLE DB Provider for SQL Server error '80004005'
Dim lngUserNum
lngUserNum = 9999999999
....
...
Set objParameter = objCommand.CreateParameter _
("@UserID", adNumeric, adParamInput)
objParameter.Precision = 10
objParameter.NumericScale = 0
objParameter.Value = lngUserNum
objCommand.Parameters.Append objParameter
....
objCommand.Execute
以下代码是我在开发ASP程序中遇到的问题
asp代码片断:
Dim lngUserNum
lngUserNum = 9999999999
....
...
Set objParameter = objCommand.CreateParameter _
("@UserID", adNumeric, adParamInput, lngUserNum)
objCommand.Parameters.Append objParameter
....
objCommand.Execute
存储过程代码片断:
CREATE PROCEDURE AddBoard
@UserID Numeric (10,0),
@BoardType char(1)
As
....
执行asp脚本程序,IIS提示
Microsoft OLE DB Provider for SQL Server error '80004005'
The precision is invalid.
/xxx/xxxx/cccc.asp, line 50
出现这个错误主要是没有对存储过程参数类型adNumeric设置精度:Dim lngUserNum
lngUserNum = 9999999999
....
...
Set objParameter = objCommand.CreateParameter _
("@UserID", adNumeric, adParamInput)
objParameter.Precision = 10
objParameter.NumericScale = 0
objParameter.Value = lngUserNum
objCommand.Parameters.Append objParameter
....
objCommand.Execute
浙公网安备 33010602011771号