フリーエンジニアである下っ端SEの備忘録と日記。日々是精進。 開発言語は主にC#。 開発技術が日々進化し続けている今日、取り残されまいとするも歳のせいか覚えが悪いSE。 ほったらかしですいません。

2009年10月30日

【C#】DataTable Computeメソッド

DataTable Computeメソッド

DataTableの特定列の MAX,MIN,SUM,AVE等の集約計算を行う時に使用。
戻り値がObject型なので注意。

Compute(expression, filter)
パラメータ1 expression
型 : System.String
計算する式。

パラメータ2 filter
型 : System.String
式で評価される行を制限するフィルタ。


例えばDataTable dtにDBから取得したテーブルのデータが入っているとしたら、

フィルターを指定しないときはnull
object obj = dt.Compute("Sum(列名)",null);

フィルターを指定するとき
object obj = dt.Compute("Sum(列名)","列名1=○○");

DataTableに行(ROW)がないときの戻り値はnull。

基本的には、データベースから取得したデータが入っているDataTableを
さらにプログラム側でSUMしたり加工するなら、
データベースからデータを取得する時点で集計をかけたデータを取得
してくればいいと思っているが、
仕様変更による修正をしていた際に、複雑怪奇なSQLがガチガチに組んであり、
SQLを修正できなかったことがあり、そのときにこのメソッドが役立った。


この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
人気ブログランキングへ
人気ブログランキングへ

タグ :.NETC#ASP.NET

同じカテゴリー(C#)の記事画像
【C#】数字が入力されているかチェック
【C#】short型 + short型 = int型
同じカテゴリー(C#)の記事
 [C#]日付チェック(スラッシュありなし両方対応) (2014-09-03 13:50)
 [C#]8桁の数字(文字列)をDateTime型に変換 (2014-07-07 18:59)
 フォーム上のテキストボックスコントロールを取得して入力チェック (2014-07-04 14:50)
 正規表現 (2011-01-24 15:29)
 【C#】decimal サフィックスのm (2010-03-15 16:07)
 【C#】ドロップダウンリストにListItemをAddする (2009-12-03 10:32)

Posted by ようすけ at 23:47│Comments(0)C#
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。