窗体里面有两个datetimepiker: datetimepiker1, datetimepiker2;数据库的日期记录格式是varchar(MAX) 记录的值是“2011-6-20”这种格式现在欲用两个datetimepiker 选出日期范围  然后datagridview显示选定范围内的记录应该如何写sql 语句?"select *  from table1 where date>='"+datetimepiker1.value.toshortdatestring()+ "' and date<='"+datetimepiker2.value.toshortdatestring()+"'"
?

解决方案 »

  1.   

    这样写应该是可以的。
    如果这样不行的话你可以在SQL中保存DateTime数据类型,然后比较的时候直接用>=或者<=
    其实就是一个日期比较的问题,相关的方案你可以百度
      

  2.   

    可以,用 between and 看着更舒服些
      

  3.   

    betweent and  不就可以了?
      

  4.   

    string sqlstr=string.fomat("select * from table1 where date  between {0} and {1}",datetimepiker1.value.toshortdatestring(),datetimepiker2.value.toshortdatestring());
      

  5.   

    between and 不能获取边界值吧????
      

  6.   


     string.Format(select * from tbl where time betweend '{0}' and '{1}', dt1.value,dt2.value);
      

  7.   

    将Date设为DateTime
    string.Format(select * from tbl where time betweend '{0}' and '{1}', dt1.value,dt2.value);
      

  8.   

    dt>=begin and dt<=end;
    between begin and end;