为过程或函数指定了过多的参数
来源:互联网 发布:数据库存储过程怎么用 编辑:程序博客网 时间:2024/06/05 14:24
总结刚结束的机房合作只有一种感觉那就是:“好多好多东西自己都不会,又有好多东西在这次合作中学到了,总之就是痛并快乐着!”
接下来就谈谈在退卡时调用存储过程PROC_ReturnCard时出现错误及解决过程。图如下:
刚开始的时候就考虑到D层的参数是不是写的过多了,于是在数据库中查几遍参数都一样啊!为什么就是不行呢?于是上网查了下:有以下几种情况
一、如果你的参数添加是在循环体内完成第2次时就会重复添加,此时触发参数过多异常
解决方法1,参数在循环体外添加,for内部只赋值和取返回值
解决方法2,每次循环清空参数Parameters.Clear();
二、普通调用
1、存储过程调用错了(一般是存储过程名字字母错误)。
2、用户创建的存储过程与系统存储过程同名。如果以sp开头,用户创建的存储过程,总会先检查master数据库(即使该存储过程已用数据库名称限定)。 如果用户创建的存储过程与系统存储过程同名,则永远不执行用户创建的存储过程 ,因此自定义存储过程不要与系统存储过程同名
3、超过指定的参数。以上情况你的代码中均没有出现,目前最大的可能性是你连接的数据库中存储过程中的参数确实没有那么多,而你改的是另一个数据库中的存储过程!
4、清空参数Parameters.Clear();
由于我的属于第二种情况经过以上的排查感觉,第一种存储过程名称写错绝对不可能(自我感觉良好)第二种也排除,因为我严格按命名规范来的。第三种情况已经查过好多次数据库了没错啊!因此就开始找第四中的解决办法,结果还是不行。只好找人帮忙他在程序运行时,突然发现我调用的存储过程的名字不对,这时我立刻晕死!明明是PROC_ReturnOut 而我却写成了PROC_SelectCheckOut这么低级的错误,竟然让我忙活了一下午。更不可原谅的是自己就没有检查却肯定这是对的,没有验证就下结论,这定是死罪!
因此通过这个小小的错误,必须得做自我反思,今后在做事情的时候千万不要以“我认为、、、”来下定论。一定要经过实际排查不放过任何细节,不能凭空想象,只有做过了才有资格发表评论。就让我们以小见大来看待这个问题并做出反思!
- 为过程或函数 ** 指定了过多的参数
- 为过程或函数指定了过多的参数
- 执行存储过程--“为过程或函数指定了过多的参数”的错误
- 执行存储过程--“为过程或函数指定了过多的参数”的错误 .
- 存储过程-“为过程或函数指定了过多的参数”的错误
- "执行存储过程"“为过程或函数指定了过多的参数”的错误 .
- detailsview控件 为过程或函数 UpdateVisit1 了过多的参数 题
- 数据库异常 为过程函数GSP_GP_EfficacyAccounts指定过多参数
- 为过程或函数 ##指定的参数太多
- 关于ASP.net中的存储过程"为过程或函数指定的参数太多?"的问题
- "为过程或函数指定的参数太多"的问题 C#
- 关于 为过程或函数 update_人才集市vs企业用户名_编号 指定的参数太多
- 怎样使用为存储过程procedure和函数function的参数指定的默认值
- 调用参数为pchar类型的函数或过程时注意点
- sparksql udf自定义函数中参数过多问题的解决
- Java 使用Builder解决构造函数参数过多的问题
- 10、函数的扩展 为函数参数指定默认值、函数的 rest 参数、箭头函数—ES6学习笔记
- sqlserver异常:传入的表格格式数据流 (TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100
- Vim使用笔记
- 修改JAVA_HOME无效,java版本保持不变的问题解决
- 来年再战
- VIP不能正常启动,报错CRS-1006
- mysql批量插入语句
- 为过程或函数指定了过多的参数
- 接电话
- android中如何快速查找不用的资源
- typedef和define区别
- 顺序表的添加、删除、查找功能的链式实现
- GG做init data load时,报错OGG-01192,OGG-01668
- android处理图片的一些问题总结
- ios中的关键字总结
- Inno Setup入门(二十一)——Inno Setup类参考(7)