码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-09 14:01:03      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   strong   数据   sp   art   

前些天写用户注册模块,用存储过程添加用户,一开始就报“为过程或函数sp_Adduser指定了过多的参数”。仔细检查数据层的用户添加函数,结果在为存储过程添加sqlparameter参数的时候,数组给写错位了(参数太多)。改正后,编译执行,结果还是报“为过程或函数sp_Adduser指定了过多的参数”。自己把存储过程程序对照了好几遍,没问题。到网上搜索,原来在执行存储过程的时候,如果以sp开头,用户创建的存储过程,总会先检查master数据库(即使该存储过程已用数据库名称限定)。   如果用户创建的存储过程与系统存储过程同名,则永远不执行用户创建的存储过程

 

   自己平时还真没注意,我命名的sp_Adduser就是系统的存储过程,难怪不能执行,所以以后写存储过程最好别以sp开头,一不注意就会发生冲突。比如,sp_adduser,sp_addmessage,我们也会容易起这样的名,但是和系统存储过程是冲突,你自己定义的是不会被执行的,所以总是会报“为过程或函数指定了过多的参数”的错误。http://blog.csdn.net/sandyxxx/article/details/4129245

 
此外,如果是带参数的存储过程则,可以看下Params里参数是否比proc_checkhistory里的参数个数多

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

标签:style   blog   http   color   ar   strong   数据   sp   art   

原文地址:http://www.cnblogs.com/jiangxing/p/4012387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!