熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp.net 使用存儲過程時參數為空時的處理

2013-11-13 10:27:29  來源: .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; }

  }

  }

  在給存儲過程參數賦值的時候進行判斷

  cmdParametersAdd(@a _infoA==null?:_infoA);

  在sqlserver的存儲過程中對參數賦默認值

  CREATE proc a

  (

  @a varchar()=null

  @b varchar()=null

  )

  as

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

  GO


From:http://tw.wingwit.com/Article/program/net/201311/13698.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.