过程或函数'PROC_SettleAccounts'需要参数'@manager',但未提供该参数

      机房重构的时候会遇到会遇到各种各样的问题,尤其是有的时候一个错误不是一次两次的犯,总是在遇到的时候不经意间啊就重新走入了错误的路线。

      先说说我这次遇到的问题吧,在机房重构的结账这部分,由于结账后需要更新数据库中的结账状态,这时为了简便,我使用了存储过程,通过在存储过程中写入sql语句来实现对多个表的同意操作。但是,在写好存储过程后,需要通过D层调用,这时出了一个曾经就犯过的错,等我运行程序的是时候,总是提示:

过程或函数'PROC_SettleAccounts'需要参数'@manager',但未提供该参数_第1张图片

      因为曾经出现这样的问题,所以我一开始是核对参数的名称,发现没有错误后我又开始分步调试,不过他还是报这样的错

 过程或函数'PROC_SettleAccounts'需要参数'@manager',但未提供该参数_第2张图片

      通过分步调试,已经找到了错误的原因,还是在调用存储过程中没有实现。还要说,这个问题以前遇到过,所以调试到这里后突然就想到了之前犯错的原因是在通过sqlhelper函数调用的过程中出现的问题(如图所示):

过程或函数'PROC_SettleAccounts'需要参数'@manager',但未提供该参数_第3张图片

      如果是正常对数据库操作,写commandtype.Text是没有错的,但是在这里因为我调用的是存储过程,这样就会出错了。正确的写法应该是将它改为:Commandtype.StoredProcedure,仅仅是这一句话就导致了这个过程的无法运行。

      虽然这次的错误自己解决了,但是却又不得不让自己重新思考,犯过的错误(印象中犯过两次了)依然出错。所以,遇到这样的问题时,首先要做好笔记,将自己的错误记录下来;一方面是提醒自己,另一方面也是给别人提供参考经验吧。还要充分理解问题发生的原因等。争取犯过的错不要再犯,不能永远在同一个坑里跌来跌去的。

      

你可能感兴趣的:(存储过程,重构,经验)