转自 http://www.cnblogs.com/cxd4321/archive/2012/08/09/2629716.html

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

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

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

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

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

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

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

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

转自  http://www.cnblogs.com/cxd4321/archive/2012/08/09/2629716.html

参数化查询 '(@ActualShipTime datetime' 需要参数 @AuthorizationNumber,但未提供该参数。的更多相关文章

  1. MVC仓储执行存储过程报错“未提供该参数”

    今天做的时候出现错误: "过程或函数 'sp_ProcName' 需要参数 '@uid',但未提供该参数. 可是我参数都传了,然后调试也是一样,然后对照参数列表, 后来发现执行的时候还要加入 ...

  2. .NET 出现参数化查询 需要参数但未提供该参数的错误

    1.问题的来源 在.NET或者C#中,我们一般执行sql语句的话,推荐使用参数化查询,这样可以避免sql注入的攻击,但是,我在使用参数化查询的时候 出现了以下的错误,详细如下图: 图一这是写sql语句 ...

  3. SQL参数化查询

    参数化查询(Parameterized Query 或 Parameterized Statement)是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数 (Parameter) ...

  4. SQL参数化查询--最有效可预防SQL注入攻击的防御方式

    参数化查询(Parameterized Query 或 Parameterized Statement)是访问数据库时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值. 在使用参 ...

  5. 使用参数化查询防止SQL注入漏洞(转)

    SQL注入的原理 以往在Web应用程序访问数据库时一般是采取拼接字符串的形式,比如登录的时候就是根据用户名和密码去查询: string sql * FROM [User] WHERE UserName ...

  6. 【转】浅析Sql Server参数化查询

    转载至: http://www.cnblogs.com/lzrabbit/archive/2012/04/21/2460978.html 错误认识1.不需要防止sql注入的地方无需参数化 参数化查询就 ...

  7. ADO.net参数化查询陷阱

    避免SQL漏洞注入攻击,往往采用的是参数化查询!然而在使用参数化查询中,往往为了方便就直接通过构造方法来进行数据的初始化了,然而这样就引发一个这样的问题,当参数值为0时,就出现参数为空的情况了. 一. ...

  8. ADO.NET 参数化查询

    参数化查询 使用参数化查询的情景有很多,但最常用的情景是需要用户在查询中进行输入的情况. 有两种方法可供使用.第一,可以讲用户输入嵌入到查询字符串中,例如可能使用.NET Framework中的Str ...

  9. SQL 语句在查询分析器执行很快,程序 Dapper 参数化查询就很慢(parameter-sniffing)

    这个问题困扰我好长时间了,使用SQLSERVER 事务探查器找到执行超时的SQL语句,参数查询都是通过执行exe sp_executesql 的存储过程调用,因为它能够分析并缓存查询计划,从而优化查询 ...

随机推荐

  1. Pig拒绝连接错误

    运行Pig时出现错误: Pig Stack Trace --------------- ERROR 1066: Unable to open iterator for alias visit. Bac ...

  2. Aerospike系列:8:集群宕机演练

    1:初始的集群状态 2:关掉192.168.91.133:3000 3:再关掉192.168.91.135:3000 3:再关掉192.168.91.144:3000 5:恢复192.168.91.1 ...

  3. percona-Toolkit

    1:下载最新安装包 wget https://www.percona.com/downloads/percona-toolkit/2.1.1/percona-toolkit-2.1.1.tar.gz ...

  4. 使用C语言操作InfluxDB

    环境: CentOS6.5_x64 InfluxDB版本:1.1.0 InfluxDB官网暂未提供C语言开发库,但github提供的有: https://github.com/influxdata/i ...

  5. sqlserver 建表语句,获取建表语句的存储过程,包括排序规则,索引,字段说明,支持同时生成多个表

    先创建一个分割表名的分割函数 --表值函数用以截取字符串 --如果为其添加一列主键id,则其顺序就会固定了 create FUNCTION [Split](@text NVARCHAR(max)) ) ...

  6. wwindows文件放入linux后多出换行符

    将 windows文件移到linux系统下会在文件行末尾多了一个换行符^M 使用命令cat -v tmp.c可以看到每行后边有^M字符 为了解决这个问题,我们用如下命令:touch love_tmp. ...

  7. Android开发经典笔试面试题汇总(持续更新中)

    1.我们都知道Handler是线程与Activity通信的桥梁,假设线程处理不当.你的机器就会变得非常慢,那么线程销毁的方法是:(A) A. onDestroy() B. onClear() C. o ...

  8. Eclipe快捷键

    常用的快捷键其实不多,但是用的少了又忘记了,所以讲常用的快捷键整理一下,方便以后自己来看. Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Q 定位到最后 ...

  9. Qt Installer Framework 使用说明(三)

    目录 6.Qt Installer Framework 示例 7.参考 Reference 配置文件 Configuration File 配置文件元素的简要说明 Summary of Configu ...

  10. 常用bios flash闪存型号

    常用flash IC芯片厂商及型号 制造商 4M 8M 16M 32M Atmel AT25DF321AT25DF321A AT25DF641     EON (cFeon) EN25F32EN25P ...