LinqDataSource的Where等于2016年5月怎么写?

中文命名法 2016-05-10 03:25:53
使用LinqDataSource绑定的Girdview。执行动态查询。
有两个下拉菜单,一个年,一个月。值是2015,2016,2017和1~12
选择后按查询按钮,要让linq2sql查出来的记录日期字段为2016年5月,或者2017年8月,等等。

这样的话,LinqDataSource1.Where=后面怎么写?数据库里的日期是data字段。
...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘欣的博客 2016-05-20
  • 打赏
  • 举报
回复

 var allpages = from c in po.db.BA_MYWORK
                           where
                           (
                               (c.POP1.Contains(DropDownList_POP.SelectedItem.Value) || string.IsNullOrEmpty(DropDownList_POP.SelectedItem.Value)) &&
                               (c.ZDATE.Value.Equals(DatePicker1.SelectedDate.Value) || string.IsNullOrEmpty(DatePicker1.Text))
                            )                           
                           select c;
刘欣的博客 2016-05-20
  • 打赏
  • 举报
回复
using System.Data.Objects; using System.Linq.Dynamic;

 var allpages = from c in po.db.MM_MATNR
                        where
                           (
                            (c.WERKS.Contains(TextBox1.Text.Trim()) || string.IsNullOrEmpty(TextBox1.Text.Trim()) )     &&
                            (c.MATNR.Contains(TextBox2.Text.Trim()) || string.IsNullOrEmpty(TextBox2.Text.Trim()))      &&
                            (c.MATNR_NAME.Contains(TextBox3.Text.Trim()) || string.IsNullOrEmpty(TextBox3.Text.Trim())) &&
                            (((EntityFunctions.TruncateTime(c.LAEDA) >= DatePicker1.SelectedDate.Value)) || string.IsNullOrEmpty(DatePicker1.Text.Trim())) &&
                            (((EntityFunctions.TruncateTime(c.LAEDA) <= DatePicker2.SelectedDate.Value)) || string.IsNullOrEmpty(DatePicker2.Text.Trim())) 
                            )
                        orderby c.MATNR ascending
                        select c;
中文命名法 2016-05-10
  • 打赏
  • 举报
回复
或者前台用ControlParameter控制也行,怎么写呢,求助。
中文命名法 2016-05-10
  • 打赏
  • 举报
回复
我尝试着这样写: LinqDataSource1.Where = "外勤日>=" + Convert.ToDateTime(年.SelectedValue + "-" + 月.SelectedValue + "-" + "1"); 但报错了:运算符“>=”与操作数类型“DateTime?”和“Int32”不兼容
中文命名法 2016-05-10
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
d.Time>=new DateTime(2016,5,1) && d.Time< new DateTime(2016,6,1)
是在前台用Girdview绑定的LinqDataSource, 所以后台LinqDataSource1.Where属性不能这样改。 只能按 LinqDataSource1.Where= ***** 这样写入。
  • 打赏
  • 举报
回复
d.Time>=new DateTime(2016,5,1) && d.Time< new DateTime(2016,6,1)

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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