原代码:dvBir.RowFilter = "birth_date>='" + dateTimePicker1.Value + "'and birth_date<='" + dateTimePicker2.Value + "'";
dateTimePicker1.Value直接和字符串连接会调用默认的tostring方法,得到的值和系统设置的格式有关,应该是tostring返回的格式不符合时间格式。
toString格式化下字符串试试。
var rowfilter="birth_date>='" + dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss") + "'and birth_date<='" + dateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss") + "'";
dvBir.RowFilter = rowfilter;
birth_date是个datetime类型么?如果是,要么把birth_date转换成string再比较,要么把 dateTimePicker1.Value 这玩意的前后拼上string转换成datetime的函数
and
前需要空格,如下: