日期:2014-05-18  浏览次数:20990 次

请教,c#winform 查询订单
请教,c#winform 查询订单

每张订单都有自己的编号。

我选择好时间范围 一点查询,符合这个时间范围的订单,全部出来,并且合计什么都有。

例如:我要查询 2011-3月份的订单全部出来

订单日期:2011-3-2 订单号:20110302

商品名称 数量 价格
绿茶 5 2
可乐 6 3
合计: 11 5


订单日期:2011-3-3 订单号:20110303
商品名称 数量 价格
冰红茶 2 9
水果 3 1
合计: 5 10



请教,有什么好方法,这样显示出来吗?

------解决方案--------------------
只要获取订单时间就OK了啊
这里贴出代码 供参考

#region 得到区间日期
/// <summary>
/// 得到区间日期
/// </summary>
/// <param name="txtStartTm">开始时间</param>
/// <param name="txtEndTm">结束时间</param>
/// <param name="FieldNm">时间字段</param>
/// <returns></returns>
public static string GetBetweenTm(TextBox txtStartTm, TextBox txtEndTm, string FieldNm)
{
if (txtStartTm.Text == string.Empty && txtEndTm.Text == string.Empty)
return string.Empty;
string ReturnStr = "";
if (txtStartTm.Text == string.Empty && txtEndTm.Text != string.Empty)
{
ReturnStr = string.Format(" And {0} <= '{1}' ", FieldNm, txtEndTm.Text);
}
else if (txtStartTm.Text != string.Empty && txtEndTm.Text == string.Empty)
{
ReturnStr = string.Format(" And {0} >= '{1}' ", FieldNm, txtStartTm.Text);
}
else if (txtStartTm.Text != string.Empty && txtEndTm.Text != string.Empty)
{
ReturnStr = string.Format(" And {0} >='{1}' and {2} <='{3}' ", FieldNm, txtStartTm.Text, FieldNm, txtEndTm.Text);
}
return ReturnStr;
}
#endregion
------解决方案--------------------
select * from 订单表 where 订单日期 between 最小时间 and 最大时间

然后遍历每张订单显示出来就OK了