亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

實例講解System.Data.DataTable計算功能

2024-07-21 02:43:46
字體:
來源:轉載
供稿:網友
本文根據一個實例著重介紹了System.Data.DataTable的計算功能,相信這篇文章定能為大家的工作和學習有所幫助。

using System;using System.ComponentModel;using System.Data;using System.Windows.Forms;namespace Windowsapplication1...{public partial class Form1 : Form...{public Form1()...{InitializeComponent();}PRivate void button1_Click(object sender, EventArgs e)...{//System.Data.DataTable計算功能詳解,轉載請保留以下信息//測試環境      vs2005,c#           System.Data.DataTable table = new DataTable();//計算常量,可以沒有初始化列object test = table.Compute("1+1", "");Console.WriteLine(test);//test=2;test = table.Compute("1+1", "false");Console.WriteLine(test);//test=2;常數計算和filter無關test = table.Compute("abs(1)", "");Console.WriteLine(test);//test=null,不知道為這個什么沒有抱錯,而且返回null,其他的數學函數都會抱錯test = table.Compute("2%2", "");Console.WriteLine(test);//test=0;//其他函數參考下面的計算列//初始化datataletable.Columns.Add("id", typeof(string));table.Columns.Add("value", typeof(int));for (int i = 1; i <= 10; i++)...{System.Data.DataRow dRow = table.NewRow();dRow["id"] = "id"+i.ToString();dRow["value"] = i;table.Rows.Add(dRow);}//test = table.Compute("value+1", "true");/**/////拋出異常,這里必須是聚合函數//****************支持的聚合函數*****************//            //求數量test = table.Compute("count(id)", "false");Console.WriteLine(test); //test=0;test = table.Compute("count(id)", "true");Console.WriteLine(test); //test=10;//求和test = table.Compute("sum(value)", "");Console.WriteLine(test);//test=55;//test = table.Compute("sum(id)","");/**/////拋出異常,這里不能是string//平均test = table.Compute("avg(value)", "");Console.WriteLine(test);//test=5;//最小test = table.Compute("min(value)", "");Console.WriteLine(test);//test=1;//最大test = table.Compute("max(value)", "");Console.WriteLine(test);//test=10;//統計標準偏差test = table.Compute("StDev(value)", "");Console.WriteLine(test);//test=3.02765035409749//統計方差test = table.Compute("Var(value)", "");Console.WriteLine(test);//test=9.16666666666667//復雜計算test = table.Compute("max(value)/sum(value)", "");Console.WriteLine(test);//test=0.181818181818182 /**//*******************計算列******************/System.Data.DataColumn column = new DataColumn("exp1",typeof(float));table.Columns.Add(column);//簡單計算column.Expression = "value*2";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=2;//字符串函數column.Expression = "len(id)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=3;//字符串函數column.Expression = "len(' '+id+' ')";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=5;//字符串函數column.Expression = "len(trim(' '+id+' '))";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=3;//字符串函數column.Expression = "substring(id,3,len(id)-2)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=1; //substring的起始字符位置為1不是0//類型轉換column.Expression = "convert(substring(id,3,len(id)-2),'System.Int32')*1.6";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=1.6;//相當于sqlserver的isnullcolumn.Expression = "isnull(value,10)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=1;//三元運算符,相當于sqlserver的case whencolumn.Expression = "iif(value>5,1000,2000)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=2000;//like運算符column.Expression = "iif(id like '%1',1000,2000)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=1000;//in運算符column.Expression = "iif(id not in('id1'),1000,2000)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=2000;//嵌套的三元運算column.Expression = "iif(value>5,1000,iif(id like '%1',4000,2000))";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=4000;//客戶端計算所占總數的百分比column.Expression = "value/sum(value)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=0.01818182 //客戶端計算差值,比如nba常規賽的勝場差column.Expression = "max(value)-value";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=9//**********************父子表計算************************///初始化子表,父子表關系DataTable tableChild = new DataTable();            tableChild.Columns.Add("id", typeof(string));tableChild.Columns.Add("value", typeof(int));System.Data.DataSet ds = new DataSet();ds.Tables.Add(tableChild);ds.Tables.Add(table);DataRelation relation = new DataRelation("relation", table.Columns["id"], tableChild.Columns["id"]);ds.Relations.Add(relation);for (int i = 1; i <= 10; i++)...{System.Data.DataRow dRow = tableChild.NewRow();dRow["id"] = "id1";dRow["value"] = i;tableChild.Rows.Add(dRow);}//計算子表記錄數column.Expression = "count(child(relation).value)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=10;            //計算父子表的百分比column.Expression = "value/sum(child(relation).value)";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=0.01818182;//計算父子表的差值,比如父表為庫存數量,子表為訂購數量,計算得出需要補充的數量column.Expression = "iif(value-sum(child(relation).value)>0,0,value-sum(child(relation).value))";test = table.Select("id='id1'")[0]["exp1"];Console.WriteLine(test);//test=-54;//遺憾的是沒有發現能夠計算同比和環比的方法,而且計算列無法作為約束//************結束,DataTable可以讓你盡量發揮聰明才智來減少繁雜的sql語句并且減輕服務器計算符合。                              }}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲欧美日韩美女| 久久不射热爱视频精品| 欧美日韩国产123| 俺也去精品视频在线观看| 日韩成人在线播放| 高清日韩电视剧大全免费播放在线观看| 亚洲精品99久久久久| 久热在线中文字幕色999舞| 欧美大全免费观看电视剧大泉洋| 深夜福利国产精品| 国产成人精品在线播放| 久久天堂电影网| 国产91成人在在线播放| 九九综合九九综合| 国产精品v日韩精品| 亚洲国产91精品在线观看| 欧美久久精品一级黑人c片| 日韩电影在线观看中文字幕| 国产精品91一区| 日韩av网站在线| 一区二区成人av| 91影视免费在线观看| 亚洲综合色av| 蜜月aⅴ免费一区二区三区| 欧美日韩在线视频一区二区| 俺去亚洲欧洲欧美日韩| 亚洲一区二区久久久久久久| 亚洲欧美视频在线| 色青青草原桃花久久综合| 最新国产精品亚洲| 中文字幕少妇一区二区三区| 色偷偷av一区二区三区| 亚洲人成欧美中文字幕| 国产精品一区=区| 国产九九精品视频| 7777精品视频| 亚洲永久免费观看| 亚洲第五色综合网| 欧美日韩日本国产| 国产男人精品视频| 亚洲国产精品成人va在线观看| 日韩精品极品视频免费观看| 宅男66日本亚洲欧美视频| 精品久久香蕉国产线看观看亚洲| 日韩有码在线观看| 欧美午夜美女看片| 高清欧美性猛交xxxx黑人猛交| www.久久久久| 亚洲男子天堂网| 欧美视频一二三| 国产精品三级久久久久久电影| 久久99青青精品免费观看| 亚洲乱码av中文一区二区| 97视频在线观看免费| 日韩在线播放av| 欧美成人在线影院| 亚洲一区二区三区视频| 午夜精品理论片| 亚洲第一国产精品| 琪琪亚洲精品午夜在线| 97在线视频观看| 成人在线激情视频| 国产在线高清精品| 亚洲精品网站在线播放gif| 国产一级揄自揄精品视频| 欧美丝袜第一区| 亚洲人午夜精品免费| 欧美日韩综合视频| 国产欧美日韩最新| 在线看日韩av| 国产精品夫妻激情| 超碰91人人草人人干| 97人人爽人人喊人人模波多| 色综合导航网站| 清纯唯美亚洲综合| 亚洲成人在线视频播放| 精品无码久久久久久国产| 日韩在线免费视频| 欧美激情精品在线| 欧美成aaa人片在线观看蜜臀| 成人乱人伦精品视频在线观看| 91九色视频导航| 日韩av成人在线观看| 亚洲精品xxx| 国产欧美日韩亚洲精品| 国产精品成久久久久三级| 最新91在线视频| 亚洲va码欧洲m码| 久久久av亚洲男天堂| 亚洲女人初尝黑人巨大| 亚洲天堂精品在线| 精品动漫一区二区三区| 欧洲美女免费图片一区| 精品久久久久久久久久国产| 国产区精品视频| 国产精品自产拍在线观看中文| 亚洲一区二区精品| 97色在线观看免费视频| 亚洲成人精品视频在线观看| 成人网欧美在线视频| 久久人人爽人人爽人人片av高清| 欧美性感美女h网站在线观看免费| 91在线高清免费观看| 亚洲国内高清视频| 久久这里只有精品视频首页| 国产一区二区三区久久精品| 久久久国产精品视频| 国产精品1234| 欧美电影免费观看高清| 欧美又大又粗又长| 国产视频亚洲视频| 91免费人成网站在线观看18| 98视频在线噜噜噜国产| 一区二区三区国产在线观看| 亚洲男人天堂久| 成人激情视频免费在线| 日韩一区二区三区xxxx| 国产精品成人av在线| 国产精品久久久久久av福利| 日本a级片电影一区二区| 91精品国产91久久久| 国产丝袜高跟一区| 在线成人中文字幕| 中文字幕日韩免费视频| 成人国产亚洲精品a区天堂华泰| 亚洲日韩欧美视频| 欧美成人精品三级在线观看| 久久久www成人免费精品张筱雨| 91精品在线观| 亚洲视频在线观看| 亚洲欧美日韩精品久久亚洲区| 亚洲欧美日韩天堂| 久久亚洲精品视频| 欧美午夜激情小视频| 国产在线播放不卡| 欧美激情国产高清| 97人人模人人爽人人喊中文字| 国内免费久久久久久久久久久| 欧美综合国产精品久久丁香| 国产精品尤物福利片在线观看| 久久久精品久久久久| 日韩成人高清在线| 日本高清不卡的在线| 久久精品福利视频| 欧美日韩午夜视频在线观看| 麻豆乱码国产一区二区三区| 国产精品99免视看9| 国产成人精品亚洲精品| 国产狼人综合免费视频| 久久国产精品视频| 欧美日韩ab片| 欧美中文字幕视频| 欧美午夜精品久久久久久人妖| 久久全国免费视频| 亚洲电影免费观看高清完整版在线| 亚洲最大av在线| 亚洲区bt下载| 日韩精品视频免费在线观看| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产精品电影| 日韩大陆毛片av| 欧洲s码亚洲m码精品一区| 久久综合九色九九| 中文字幕国产亚洲2019|