摘要:[VB] DataTable 不使用 Compute 做 SUM 運算
在使用DataTable的Compute做SUM運算的時候,
碰到資料庫裡面的欄位是字串形態卻要做加總時該怎麼辦?
以下提供一個方法。
寫一個對row去做加總的方法即可,以下
'運算的地方
'val = dt.Compute("SUM(" & colname & ")", True)
val = RowSum(dt, colname)
'Row加總方法(DataTable資料,需加總的欄位名稱)
Private Function RowSum(ByVal dt As DataTable, ByVal colname As String) As Integer
Dim i As Integer = 0
For Each row As DataRow In dt.Rows
If String.IsNullOrEmpty(row(colname).ToString) Then
'為空值則加0
i += 0
ElseIf Not IsNumeric(row(colname).ToString) Then
'不為數值則加0
i += 0
Else
'取得欄位值做加總
i += CType(row(colname).ToString, Integer)
End If
Next
Return i
End Function
透過呼叫此方法會將傳近來的DataTable和欄位的名稱參數去使用For Each對此欄做加總。
以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)