怎样判断数据库里的日期在dateTimePicker的日期之后

curd0468 2007-05-18 08:30:15
我现在用dataview里的RowFilter做一个搜索功能winform,用的语句是:
DataView dv = new DataView(ds.Tables[0]);
string strRowFilter;
strRowFilter = "学校 like '%" + textBox1.Text.Trim() + "%' and ";
strRowFilter += "入校时间 >'" + dateTimePicker2.Value + "'";
dv.RowFilter = strRowFilter;
dataGrid1.DataSource = dv;

我数据库里的时间也是dateTimePicker得来的,这样搜索有一个问题,如果该学生是2004-5-15日入校的学生,我设置日期的条件是2004-5-2之后居然搜不到,只能设置2004-5-10之后才能搜到,好像这玩意是一个一个数比大小来的一样.请问我该怎样解决这样的问题呢,谢谢了
...全文
245 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
soaringbird 2007-05-18
  • 打赏
  • 举报
回复
转义为日期
curd0468 2007-05-18
  • 打赏
  • 举报
回复
回david_anwei,customFormat只是设置dateTimePicker里的日期显示设置,但是值还是那个样,
非常感谢soaringbird,您的方法有效.您能说下前后人个#号是啥意思吗?
soaringbird 2007-05-18
  • 打赏
  • 举报
回复
试试这种形式strRowFilter += "入校时间 >#" + dateTimePicker2.Value + "#";
soaringbird 2007-05-18
  • 打赏
  • 举报
回复
SQL Server的SQL语句中比较日期直接用字符串即可,它会默认转换,但在DataView里转不转换就不清楚了,也许DataView就是当字符串用的。
david_anwei 2007-05-18
  • 打赏
  • 举报
回复
设置CustomFormat属性!就可以
curd0468 2007-05-18
  • 打赏
  • 举报
回复
我用的是SqlServer,数据类型是datetime,请问我怎样才能设置成为2004-05-02这样的格式呢
soaringbird 2007-05-18
  • 打赏
  • 举报
回复
你用的什么数据库?
看样子是直接比较字符串的,最好日期格式统一成这样的:2004-05-02,这样的比较字符串也没问题

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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