登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学无止境

一点积累,与大家分享

 
 
 

日志

 
 

Linq 的多条件组合查询  

2010-07-09 09:28:42|  分类: .net技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有很多查询条件,当条件为NUll时不做查询,只有条件有值时才作为查询条件查询。

时间 AddTime

名称 Name

。。。

//添加时间开始
        string strAddTimeStart = txtAddTimeStart.Text;

        DateTime AddTimeStart = SqlDateTime.MinValue.Value;
        if (!string.IsNullOrEmpty(strAddTimeStart))
        {
            AddTimeStart = Convert.ToDateTime(strAddTimeStart );
        }

        //添加时间结束
        string strAddTimeEnd = txtAddTimeEnd.Text;

        DateTime AddTimeEnd = SqlDateTime.MaxValue.Value;
        if (!string.IsNullOrEmpty(strAddTimeEnd))
        {
            AddTimeEnd = Convert.ToDateTime(strAddTimeEnd);
        }

var resultsql = from w in students
                         where
                             (!string.IsNullOrEmpty(strAddTimeStart) ? AddTimeStart >= w.addTime : true) &&

                            (!string.IsNullOrEmpty(strAddTimeEnd) ? AddTimeEnd >= w.addTime : true) &&

                             (!string.IsNullOrEmpty(OCState) ? w.Name.Equals(Name) : true)

                          select new

                              {w.name,

                                w.sex

                              };

需要注意的是这样

 (!string.IsNullOrEmpty(strAddTimeStart) ? Convert.ToDateTime(AddTimeStart) >= w.addTime : true) 是不对的,会报无法识别的DateTime。

所以时间必须在外边转换。

  评论这张
 
阅读(1005)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018