用VB写的程序,
Dim zz As Integer
zz = Text8.Text + 1
ss.Open "select  DRP From ST_PPTN_R where TM =  CONVERT(DATETIME,'" & DTPicker7.Value & "   " & zz & "  :00:00')", cn
运行出错,提示:从char数据类型到datetime数据类型的转换导致datetime值越界
 求助:错在哪里,怎么该?谢谢1

解决方案 »

  1.   

    1、Text8.Text是一个字符型, 如果Text8.Text=22,Text8.Text + 1则等于221
    要么写成:zz = Text8 + 1,要么写成zz = val(Text8.Text) + 12、添加一个判断
    if (zz<0 or zz>23) then
      goto ErrConvert
    else
      ss.Open "select  DRP From ST_PPTN_R where TM =  CONVERT(DATETIME,'" & DTPicker7.Value & "   " & zz & "  :00:00')", cn
    end if
      

  2.   

    楼上的方法我都试了,还是出现 提示:从char数据类型到datetime数据类型的转换导致datetime值越界
      

  3.   

    肯定是你给ZZ赋值时超过23了。select CONVERT(DATETIME,'2012-02-01 26:00:00')
    报错:
    消息 242,级别 16,状态 3,第 1 行
    The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.