我在form1中做一个对数据库Tused表中日期的增加和查询,
均用到dateTimePicker,用两个dateTimePicker1(做增加)和dateTimePicker2 (查询),我们把两个dateTimePicker 输入值的格式都设为 dateTimePicker1.CustomFormat = "yyyy-MM-dd";这样的,比如在dateTimePicker1输入的日期是2008-04-01,但是增加到Tused表后就变成2008-4-1,而后我在用dateTimePicker2 做查询时也只能输入2008-04-01但是这样跟 Tused存储的日期不符合,就查询不到数据,这该怎么办 高手们!!

解决方案 »

  1.   

    如果是Access数据库,查询的时候在两边加上#
    如Select * From Table1 Where CreateDate = #2008-04-01#
    如果是SqlServer数据库,好像加上单引号就行了
      

  2.   

    你确信你的数据库中相应的字段是日期类型的,然后在添加及查询的时候都要使用DateTime的格式来传值,而不是字符串。但查询不到还有一个原因就是在添加日期的时候日期值不只是日期,还包括了时间部分,你使用dateTimePicker取值的时候这个值是“日期+时间”,你的格式是yyyy-MM-dd,这样虽然看不到时间也不能设置时间但时间部分的值默认是系统当前的时间,当你使用另一个日期控件查询的时候系统当前时间已是另一个值了,所以你会查不到。解决的方法是你可以把取到的dateTimePicker的值只到日期部分的值,时间部分可以使用0点0分0秒。这样就保证了添加及查询的时候都只用日期了,因为时间部分都是0,查询就准确了。