关于调用存储过程的一个奇怪问题。有时存储过程里定义…

我在数据库的存储过中@InputRate的定义是  @InputRate  decimal(16,9)  
是输入参数。在数据库中这个字段也是decimal(16,9)  
用COMMAND对象运行过程中发现  
       Cmd.Parameters.Append  Cmd.CreateParameter("@InputRate",adDecimal,adParamInput,16)  
运行不了(提示多步OLE对象出错。_!!!改成adDouble  
       Cmd.Parameters.Append  Cmd.CreateParameter("@InputRate",adDouble,adParamInput,16)  
就可以成功运行?这是什么原因?难道adDecimal是没有用的???请高手指教  
---------------------------------------------------------------  
 
好象就是没有这个addecimal的东西。  
---------------------------------------------------------------  
 
你要注意,有时存储过程里定义的参数数据类型可能有点偏差,比如你定义的是smallint,但实际是tinyint,所以最好在ASP里用command1.parameters.refresh  然后循环显示command1.parameters集合中对象的type和size,然后再写调用的ASP程序  
---------------------------------------------------------------  
 
查ADO的联机帮助.  
不要妄下结论
posted on 2005-03-12 21:37  轻松逍遥子  阅读(215)  评论(0)    收藏  举报