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
人気ブログランキングへ
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
人気ブログランキングへ
[C#]日付チェック(スラッシュありなし両方対応)
[C#]8桁の数字(文字列)をDateTime型に変換
フォーム上のテキストボックスコントロールを取得して入力チェック
正規表現
【C#】decimal サフィックスのm
【C#】ドロップダウンリストにListItemをAddする
[C#]8桁の数字(文字列)をDateTime型に変換
フォーム上のテキストボックスコントロールを取得して入力チェック
正規表現
【C#】decimal サフィックスのm
【C#】ドロップダウンリストにListItemをAddする
Posted by ようすけ at 23:47│Comments(0)
│C#