拼车时,地点相同取最早时间,不同取不同时间

-一个大坑 2017-08-17 11:03:03

if (dt.Rows.Count != 1) //只一行不进入
{
if (i + 1 != dt.Rows.Count) //i+1就是最后一行,和前面一行比较
{
if (dt.Rows[i]["appno"].ToString() == dt.Rows[i + 1]["appno"].ToString()) //单号一样才会比较
{
string sitearr1 = dt.Rows[i]["addfrom"].ToString();
string sitearr2 = dt.Rows[i + 1]["addfrom"].ToString();
DateTime time1 = Convert.ToDateTime(dt.Rows[i]["ride_starttime"]);
DateTime time2 = Convert.ToDateTime(dt.Rows[i + 1]["ride_starttime"]);
if (sitearr1 != sitearr2 && DateTime.Compare(time1, time2) >= 0)
{
dt.Rows[i]["ride_starttime"] = dt.Rows[i + 1]["ride_starttime"].ToString();
}
else
{
dt.Rows[i]["ride_starttime"] = dt.Rows[i]["ride_starttime"].ToString();
}
}
else
{
dt.Rows[i]["ride_starttime"] = dt.Rows[i]["ride_starttime"].ToString();
}
}
else
{ //最后一行就和上一行比较
if (dt.Rows[i]["appno"].ToString() == dt.Rows[i - 1]["appno"].ToString())
{
string sitearr1 = dt.Rows[i]["addfrom"].ToString();
string sitearr2 = dt.Rows[i - 1]["addfrom"].ToString();
DateTime time1 = Convert.ToDateTime(dt.Rows[i]["ride_starttime"]);
DateTime time2 = Convert.ToDateTime(dt.Rows[i - 1]["ride_starttime"]);
if (sitearr1!= sitearr2 && DateTime.Compare(time1, time2) >= 0)
{
dt.Rows[i]["ride_starttime"] = dt.Rows[i - 1]["ride_starttime"].ToString();
}
else
{
dt.Rows[i]["ride_starttime"] = dt.Rows[i]["ride_starttime"].ToString();
}
}
else
{
dt.Rows[i]["ride_starttime"] = dt.Rows[i]["ride_starttime"].ToString();
}
}
}
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["ride_starttime"] = "出發時間:" + dt.Rows[i]["ride_starttime"].ToString();
}

这样写的感觉好多,怎么写简洁点
...全文
150 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
大米粥哥哥 2017-08-17
  • 打赏
  • 举报
回复
定义的变量名称太长
  • 打赏
  • 举报
回复
linq的groupby下不就行了?
-一个大坑 2017-08-17
  • 打赏
  • 举报
回复
引用 4 楼 hanjun0612 的回复:
http://blog.csdn.net/hanjun0612/article/details/62045692 使用partition 来搞定,分组后,取出所有rid=1的数据就好了
算了就按我原来的写吧,sql链接太多,我已经无从入手了 如果查询表很多一般怎么写?我的sql写的好长,每次改动都觉得好难,经常搞不清该用哪个条件连接
正怒月神 版主 2017-08-17
  • 打赏
  • 举报
回复
http://blog.csdn.net/hanjun0612/article/details/62045692 使用partition 来搞定,分组后,取出所有rid=1的数据就好了
-一个大坑 2017-08-17
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
linq的groupby下不就行了?
我写sql时已经根据单号group地址了,再group一遍?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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