知识大全 asp.net 使用存储过程时参数为空时的处理

Posted 类型

篇首语:好高骛远的一无所得,埋头苦干的获得知识。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 asp.net 使用存储过程时参数为空时的处理相关的知识,希望对你有一定的参考价值。

  在写插入新记录的存储过程时 存储过程的参数一般和实体类的属性对应

  但在前台接收数据时不一定需要所有的实体类属性 这样就有一些属性没有被赋值 如果这些属性是引用类型而又没有被初始化 在给存储过程参数赋值时就可能会出现问题 这是因为数据库中的 null 类型对 中的 DBNull 类型而不是 null 类型 而且DBNull 无法自动转为null

  解决的办法

   在实体类定义属性时添加默认值(初始化)

  class info

  

  string _a = ;//对引用类型变量初始化

  int _b;//值类型无需初始化

  public string A

  

  get return _a;

  set _a = value;

  

  public int B

  

  get return _b;

  set _b = value;

  

  

   在给存储过程参数赋值的时候进行判断

  cmd Parameters Add( @a _info A==null? :_info A);

   在sqlserver的存储过程中对参数赋默认值

  CREATE proc a

  (

  @a varchar( )=null

  @b varchar( )=null

  )

  as

  insert into info(a b) values (@a @b)

cha138/Article/program/net/201311/13698

相关参考