程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 防止DBNull 造成類型轉換異常

防止DBNull 造成類型轉換異常

編輯:.NET實例教程

有時我們從數據庫中獲取我們想要的數據時,難免會遇到取出的數據為空( C#中用DBNull這種類型表示)的情況,如果直接使用強制轉換,則會拋出異常。

例如:



 String strSQL  = string.Format("select SUM(point) from video_userconsume where userid=''{0}'' and roomsession={1} and state=3 ", Session["userid"], roomsession);
      decimal  giFTPoints  = (decimal)SqlHelper.ExecuteScalar(BasePage.GetConnectString(), CommandType.Text, strSQL);


 

正確的處理方法如下:

 



String strSQL  = string.Format("select SUM(point) from video_userconsume where userid=''{0}'' and roomsession={1} and state=3 ", Session["userid"], roomsession);

        Object o = SqlHelper.ExecuteScalar(BasePage.GetConnectString(), CommandType.Text, strSQL);
            decimal giFTPoints =0;
           //使用is 關鍵字判斷取出的對象是否為DBNull類型
        if (o is DBNull)
            giFTPoints =0;
        else
            giFTPoints = (decimal)o;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved