在XML文件中如何做類似SQL中的SUM()方法

nate_liu 2007-01-11 12:08:17
Xml文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<Table_Payment>
<payment ID="1" YEAR="2006" MONTH="12" DAY="27" TypeID="2" CONTENT="買衣服" MONEY="500.0000"/>
<payment ID="2" YEAR="2006" MONTH="12" DAY="27" TypeID="2" CONTENT="買衣服" MONEY="500.0000"/>
</Table_Payment>
現在我想對[MONEY]進行類似于sql中的按年月Sum(),總不能實現,我采取的方法是先將xml文件讀入DataSet,然后使用DataTable的Compute方法來進行sum累總,搞了一個上午無法通過,求能者指教。
附上我的C#代碼:
int intYear=2007;
int intMonth=1;
DataSet ds = new DataSet();
ds.ReadXml(System.Windows.Forms.Application.StartupPath+ @"\Payment.xml");
object ot = ds.Tables[0].Compute("Sum(Convert(Double,[Money]))", "Year =''"+intYear+"'' and Month=''"+intMonth+"''");
...全文
505 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nate_liu 2007-01-11
  • 打赏
  • 举报
回复
應該的,兩個問題就是一個問題!
liujia_0421 2007-01-11
  • 打赏
  • 举报
回复
呵呵,谢谢,那就不客气了哈..
nate_liu 2007-01-11
  • 打赏
  • 举报
回复
@liujia_0421
嗯,思路很好,我也曾想過給Money這個字段改變數據類型,但沒有想過新增一個字段,被搞糊涂鑽了牛角尖了...

你去下面這個地址回一下,那里還有20分,全給你。呵呵..
http://community.csdn.net/Expert/TopicView3.asp?id=5288925
liujia_0421 2007-01-11
  • 打赏
  • 举报
回复
输出:
1000.0000
nate_liu 2007-01-11
  • 打赏
  • 举报
回复
@sinatly(爱在爱你)
能具體說說嗎?或者給段參考代碼?謝謝!

從早上到現在被這個問題搞暈了,求各位幫忙!
liujia_0421 2007-01-11
  • 打赏
  • 举报
回复
try..

int intYear = 2006;
int intMonth = 12;
DataSet ds = new DataSet();
ds.ReadXml(@"../../test.xml");
DataColumn dc = new DataColumn("total");
dc.DataType = System.Type.GetType("System.Decimal");
dc.Expression = "Convert(MONEY,'System.Decimal')";
ds.Tables[0].Columns.Add(dc);
object ot = ds.Tables[0].Compute("Sum(total)", "YEAR ='" + intYear + "' and MONTH='" + intMonth + "'");
Console.WriteLine(ot.ToString());
nate_liu 2007-01-11
  • 打赏
  • 举报
回复
上面的,這種方法我試過了,錯誤提示:
彙總函式 Sum() 和型別的無效用法: String。
winner2050 2007-01-11
  • 打赏
  • 举报
回复
读到DataSet里面就能用sum

比如ds.Tables[0].Select("sum(Money)", "RootID,ParentID asc");
sinatly 2007-01-11
  • 打赏
  • 举报
回复
在xml中循环加总就可以了
nate_liu 2007-01-11
  • 打赏
  • 举报
回复
自已頂

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧