C#: 调用存储过程或函数显示"需要"参数,但未提供该参数的解决方法

转载 2012年03月27日 11:48:35

在平时的C#项目开发中,当调用某个存储过程或函数的时候,我们可能经常会遇到这样的问题,

“过程或函数XXX需要XXX参数,但未提供该参数”,  这到底是怎么回事呢?是什么问题引起的?

出现这个错误一般会由以下几种情况引起:

1.  程序中传入参数与已定义的存储过程或函数的参数个数或名称不符;

2.  没有对传入的数据作空值的处理,如下,我们需要对可以为空的值作这样的处理,一旦其为空,就设置为DBNull.value.

foreach(SqlParameter p in parms)
{
  if(p.value == null)
  {
  p.value=DBNull.value;
  }
}

3. 传入了参数,却没有真正通过sqlCommand去操作。

所以当遇到这样的问题,首先需要做的就是检查一下写的代码是否属于这几种情况,如果是就做相应处理,或者考虑定义的变量是否被初始化

注意:通常都是数据库存储过程中定义的参数和C#里面定义的参数名字不一致,必须要定义一致


 

c#调用存储过程,提供了参数老是提示“没有提供该参数”

我提供的某些参数为null 直接在数据库里面运行存储过程没有问题   vs调试时也是有参数的,只是有些参数值为 null 时有问题; 值不为null时,就没有问题。     后来,自己摸索...
  • pukuimin1226
  • pukuimin1226
  • 2012年08月05日 19:28
  • 2242

需要参数 '@',但未提供该参数

遇到错误 参数化查询 '(@cId int,@cate int,@code nvarchar(7),@name nvarchar(2),@cusCode' 需要参数 '@memberSale'...
  • daiqianjie
  • daiqianjie
  • 2012年12月04日 14:00
  • 903

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

机房重构的时候会遇到会遇到各种各样的问题,尤其是有的时候一个错误不是一次两次的犯,总是在遇到的时候不经意间啊就重新走入了错误的路线。       先说说我这次遇到的问题吧,在机房重构的结账这部分,由...
  • u013036278
  • u013036278
  • 2015年02月15日 15:11
  • 2156

C#: 调用存储过程或函数显示"需要"参数,但未提供该参数的解决方法

在平时的C#项目开发中,当调用某个存储过程或函数的时候,我们可能经常会遇到这样的问题, “过程或函数XXX需要XXX参数,但未提供该参数”,  这到底是怎么回事呢?是什么问题引起的? 出现这个错误一般...
  • yytt123622
  • yytt123622
  • 2012年03月27日 11:48
  • 1771

C#: 过程或函数""需要""参数,但未提供该参数

在平时的C#项目开发中,当调用某个存储过程或函数的时候,我们可能经常会遇到这样的问题,“过程或函数XXX需要XXX参数,但未提供该参数”,  这到底是怎么回事呢?是什么问题引起的?出现这个错误一般会由...
  • zyp_tfy
  • zyp_tfy
  • 2011年06月16日 16:28
  • 7303

C#: 过程或函数""需要""参数,但未提供该参数

在平时的C#项目开发中,当调用某个存储过程或函数的时候,我们可能经常会遇到这样的问题, “过程或函数XXX需要XXX参数,但未提供该参数”,  这到底是怎么回事呢?是什么问题引起的? 出现...
  • dragon_ton
  • dragon_ton
  • 2016年03月19日 10:38
  • 1775

参数化查询,·需要参数@变量名,但未提供的解决办法。

采用ADO.NET SQLCommand执行带参数查询时,出现以下错误提示: 其他信息: 参数化查询 '(@ID int,@Name nvarchar(4000)) INSERT INTO tabl...
  • humanNew
  • humanNew
  • 2011年05月24日 22:25
  • 2994

解决SQLSEVER 存储过程入参不能带入in的参数传带逗号值的办法

ALTER PROCEDURE [dbo].[P_UpdateUserLeftRightV2] @UserId varchar(50), @TotalBonus decimal(18,2...
  • Dracotianlong
  • Dracotianlong
  • 2016年07月02日 23:12
  • 1650

SQL SERVERC存储过程中捕获异常

今天有个老朋友忽然问我一个问题,关于存储过程的。这个存储很简单: CREATE PROCEDURE Proc_InsertTemp    (@number varchar(3000),    @nam...
  • Brookes
  • Brookes
  • 2007年11月02日 14:32
  • 2789

参数化查询 但未提供该参数(将null插入数据库)

当你是使用参数化查询时为参数赋值时,比如command.Parameters.Add("@a",SqlDbType.Text,30).Value=a;当a=null是将报错: 错参数化查询 '(@a...
  • agonie201218
  • agonie201218
  • 2015年05月17日 18:37
  • 2861
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#: 调用存储过程或函数显示"需要"参数,但未提供该参数的解决方法
举报原因:
原因补充:

(最多只允许输入30个字)