Totalizar campo em DataTable.
Caros,
Sempre que eu tinha que totalizar um campo em um datatable, eu aproveitava o looping que eu fazia após carregar o DataGrid, eu já havia pesquisado sobre como totalizar um campo de um DataTable, mas não tive tempo de colocar em prática.
Mistério desvendado, então segue o código:
Dim strSQL as String = “”
Dim tbNotaFiscal as New DataTable
Dim I as int32 = 0
Dim FaturamentoTotal as Double = 0
strSQL = “SELECT NUMERONOTA, VALOR FROM NOTAFISCAL”
With New Conexao.Oracle
tbNotaFiscal = .CarregarDataTable(strSQL, “NOTAFISCAL”)
.Fechar
End With
(Versão Anterior)
For I = 0 to tbNotaFiscal.rows.count -1
FaturamentoTotal += Convert.ToDouble(tbNotaFiscal.Rows(i).Item(“VALOR”))
Next
(Versão com Compute)
FaturamentoTotal = tbNotaFiscal.Compute(“SUM(VALOR)”)
Isso impacta diretamente na performance, pois não é preciso fazer looping em um DataTable para que seja feita a soma, nesse caso a totalização é feita pelo própria função do objeto DataTable.
Outro ponto importante, nunca, mas nunca se esqueça de fechar a conexão com o Banco de Dados após seu uso.