当前位置:编程学习 > C#/ASP.NET >>

第一次提问,不知有没有前辈回答啊

问题简述:
做一个datagridview的查询界面,所要查询的字段和查询值有用户选择、输入。在查询字段为字符型时没有问题,现在在查询日期型字段时发现问题:
为表A与datagridview1的bindingsource设置filter属性,以查询数据(表A)。Filter的条件为表A中某日期类型字段field_date大于form上datetimepick1控件的输入值。我的代码:

Selected_field=me.combobox1.text '当前查询字段由combobox1选择,目前选择的TEXT是“日期”
Me.bindingsource.filter=selected_field > me.datetimepicker1.value
出错:从字符串“日期”到类型“Date”的转换无效。
但我写成:Me.bindingsource.filter=日期 > me.datetimepicker1.value
IDE直接提示“未声明名称 日期”
我又改为Me.bindingsource.filter="日期 > me.datetimepicker1.value"
报错:未找到列me.datetimepicker1.value

该怎么写呢?我是初学者,忘不吝赐教,谢谢!
--------------------编程问答--------------------
Me.bindingsource.filter=selected_field +">"+ me.datetimepicker1.value
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
http://feiyun0112.cnblogs.com/ --------------------编程问答-------------------- 变量不要放在“”里面,常量加上“”
Me.bindingsource.filter=selected_field +">"+ me.datetimepicker1.value 

我也是新手,叫我前辈不敢当,那。。就叫声大哥吧^-^ --------------------编程问答-------------------- 变量不要放在“”里面,常量加上“” 
Me.bindingsource.filter=selected_field +">"+ me.datetimepicker1.value  

我也是新手,叫我前辈不敢当,那。。就叫声大哥吧^-^ --------------------编程问答-------------------- 查询日期在不同的数据库中是不同的,ADO.Net也不同,你直接查MSDN帮助filter即可。

我这里有一个过滤器组件,源码,可以解决你的问题

http://www.webmis.com.cn/GoldFilter.htm

<a href="/upload/20131226/GoldFilter.JPG" target="_blank">
<img src="http://www.webmis.com.cn/images/GoldFilterX.JPG" alt="效果图" border="0" title="点击看大图"></a> --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢各位的回复。

我试了,Me.bindingsource.filter=selected_field +">"+ me.datetimepicker1.value
虽然还是报错:“无法在 System.DateTime 和 System.Int32 上执行“>”操作”,但先前的问题已不再出现。
但selected_field确实是DATETIME类型(ACCESS表),me.datetimepicker1.value也是日期时间型的,奇怪了。

--------------------编程问答-------------------- Me.bindingsource.filter = selected_field + "> #"+ me.datetimepicker1.Value + "#"
--------------------编程问答-------------------- 谢谢amandag,按照你的办法就OK了!
不过我有点不理解,因为报错后,我鼠标悬停在me.datetimepicker1.Value 上,
显示的值是"#5/6/2008#",居然还要加#,那么就是说不加#的日期是system.int32类型的?
--------------------编程问答-------------------- 又遇到问题了。
我要加一个filter条件,同时要满足selected_field<me.datetimepicker2.Value 
代码:Me.bindingsource.filter = (selected_field + "> #"+ me.datetimepicker1.Value + "#" )and (selected_field + "< #"+ me.datetimepicker2.Value + "#" )
报错:从字符串“日期 >= #2008-5-6#”到类型“Long”的转换无效。
查了MSDN,DataColumn.Expression 属性 支持AND的呀,为什么呢? --------------------编程问答-------------------- Me.bindingsource.filter =selected_field + "> #"+ me.datetimepicker1.Value + "# and " + selected_field + " < #"+ me.datetimepicker2.Value + "#" 
--------------------编程问答-------------------- 谢谢楼上。
可以了。
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,