程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 關於DataTable的Compute函數的計算結果的null值處理

關於DataTable的Compute函數的計算結果的null值處理

編輯:.NET實例教程
使用DataTable的Compute函數時,如果沒有符合條件的數據,將返回null值, 如果是多條結果的數據不處理null值,將得不到正確的結果,無法綁定到gridvIEw 中,舊代碼如下:

           //計算父節點的數量
            DataRow[] rows = null;
            rows = dt.Select("Convert(PARENTID, ''System.String'') = ''-1''");
            // 循環賦值
            foreach (DataRow row in rows)
            {
                dt.Rows[dt.Rows.IndexOf(row)][1] = System.Convert.ToDecimal(dt.Compute("sum(sl)", "PARENTID=" + row["DirID"]));
            }

           如果dt.Compute("sum(sl)", "PARENTID=" + row["DirID"])存在沒有符合條件的數據,則 System.Convert.ToDecimal(dt.Compute("sum(sl)", "PARENTID=" + row["DirID"]))轉換將失敗,導致無法綁定時gridvIEw,故改進後的代碼如下:

           //計算父節點的數量
            DataRow[] rows = null;
            rows = dt.Select("Convert(PARENTID, ''System.String'') = ''-1''");
            // 循環賦值
            foreach (DataRow row in rows)
            {
 

              if (dt.Compute("sum(sl)",

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