首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

DTPICKER控件查询ACCESS数据库时间,提示数据类型不符跟

2013-01-01 
DTPICKER控件查询ACCESS数据库时间,提示数据类型不符和用这个语句来查询ACCESS数据库,但提示数据类型不符

DTPICKER控件查询ACCESS数据库时间,提示数据类型不符和
用这个语句来查询ACCESS数据库,但提示数据类型不符合:
cmd.CommandText = "select * from abc where z between #" & CDate(DTPicker1.Value) & " " & CDate(DTPicker2.Value) & "# and #" & CDate(DTPicker3.Value) & " " & CDate(DTPicker4.Value) & "#"
其中,DTPICKER控件已经设这为这样的格式:
  DTPicker1.Format = dtpCustom
  DTPicker2.Format = dtpCustom
  DTPicker1.CustomFormat = "yyyy-MM-dd "
  DTPicker2.CustomFormat = "tt:HH:mm:ss"
  DTPicker3.Format = dtpCustom
  DTPicker4.Format = dtpCustom
  DTPicker3.CustomFormat = "yyyy-MM-dd "
  DTPicker4.CustomFormat = "tt:HH:mm:ss"
但是每次都提示错误,DTPICKER 2和4的数值不是时间型的,而是一个日期2012-12-18,这是为什么?
[解决办法]
cmd.CommandText = "select * from abc where z between #" & Format(DTPicker1.Value, "yyyy-mm-dd") & " " & Format(DTPicker2.Value, "HH:nn:ss") & "# and #" & Format(DTPicker3.Value, "yyyy-mm-dd") & " " & Format(DTPicker4.Value, "HH:nn:ss") & "#"

你必须把控件的值格式化成字符串。注意,你的 DTP 控件中设置的是它的显示方式。在代码中的赋值语句所传递的,还是一个 Double 数字(DateTime 类型)。

热点排行