为过程或函数指定了过多的参数

php中文网
发布: 2016-06-07 15:22:22
原创
2543人浏览过

总结刚结束的机房合作只有一种感觉那就是:好多好多东西自己都不会,又有好多东西在这次合作中学到了,总之就是痛并快乐着! 接下来就谈谈在退卡时调用存储过程PROC_ReturnCard时出现错误及解决过程。图如下: 刚开始的时候就考虑到D层的参数是不是写的过多

总结刚结束的机房合作只有一种感觉那就是:“好多好多东西自己都不会,又有好多东西在这次合作中学到了,总之就是痛并快乐着!”

接下来就谈谈在退卡时调用存储过程PROC_ReturnCard时出现错误及解决过程。图如下:\

刚开始的时候就考虑到D层的参数是不是写的过多了,于是在数据库中查几遍参数都一样啊!为什么就是不行呢?于是上网查了下:有以下几种情况

一、如果你的参数添加是在循环体内完成第2次时就会重复添加,此时触发参数过多异常

解决方法1,参数在循环体外添加,for内部只赋值和取返回值

解决方法2,每次循环清空参数Parameters.Clear();

二、普通调用

1、存储过程调用错了(一般是存储过程名字字母错误)。

AGECMS商业会云管理_电子名片
AGECMS商业会云管理_电子名片

AGECMS商业会云管理电子名片是一款专为商务人士设计的全方位互动电子名片软件。它结合了现代商务交流的便捷性与高效性,通过数字化的方式,帮助用户快速分享和推广自己的专业形象。此系统集成了多项功能,包括个人信息展示、多媒体互动、客户管理以及社交网络连接等,是商务沟通和品牌推广的得力工具。 核心功能:个人及企业信息展示:用户可以自定义电子名片中的信息内容,包括姓名、职位、企业Logo、联系信息(电话、

AGECMS商业会云管理_电子名片 0
查看详情 AGECMS商业会云管理_电子名片

2、用户创建的存储过程与系统存储过程同名。如果以sp开头,用户创建的存储过程,总会先检查master数据库(即使该存储过程已用数据库名称限定)。 如果用户创建的存储过程与系统存储过程同名,则永远不执行用户创建的存储过程 ,因此自定义存储过程不要与系统存储过程同名

3、超过指定的参数。以上情况你的代码中均没有出现,目前最大的可能性是你连接的数据库中存储过程中的参数确实没有那么多,而你改的是另一个数据库中的存储过程!

4、清空参数Parameters.Clear();

由于我的属于第二种情况经过以上的排查感觉,第一种存储过程名称写错绝对不可能(自我感觉良好)第二种也排除,因为我严格按命名规范来的。第三种情况已经查过好多次数据库了没错啊!因此就开始找第四中的解决办法,结果还是不行。只好找人帮忙他在程序运行时,突然发现我调用的存储过程的名字不对,这时我立刻晕死!明明是PROC_ReturnOut 而我却写成了PROC_SelectCheckOut这么低级的错误,竟然让我忙活了一下午。更不可原谅的是自己就没有检查却肯定这是对的,没有验证就下结论,这定是死罪!

因此通过这个小小的错误,必须得做自我反思,今后在做事情的时候千万不要以“我认为、、、”来下定论。一定要经过实际排查不放过任何细节,不能凭空想象,只有做过了才有资格发表评论。就让我们以小见大来看待这个问题并做出反思!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号