请教各位高手:“从字符串转换为 smalldatetime 数据类型时发生语法错误”帮我看看到底是出了什么错误Microsoft OLE DB Provider for SQL Server (0x80040E07)
从字符串转换为 smalldatetime 数据类型时发生语法错误。
/6/return.asp, 第 15 行return.asp<%@ LANGUAGE="VBSCRIPT" %>
<%
if request.cookies("adminok")="" then
  response.redirect "login.htm"
end if
%>
<!--#include file="conn.asp"-->
<%
   dim SQL, Rs, contentID,CurrentPage
   CurrentPage = request("Page")
   contentID=request("ID")
   return_time=now()
   set rs=server.createobject("adodb.recordset")
   sqltext="update borecorder set bo_flag=1 , return_time='"&return_time &"'where bo_id="& contentID
   rs.open sqltext,conn,3,3
   set rs=nothing
   response.redirect "info_check.asp?page="&CurrentPage
%>
谢谢

解决方案 »

  1.   

    console.writeline sqltext 是什么?
      

  2.   

    sqltext="update borecorder set bo_flag=1 , return_time='"&return_time &"'where bo_id="& contentID-->sqltext="update borecorder set bo_flag=1 , return_time='" & format(return_time,"yyyy-mm-dd hh:mm:ss") &"' where bo_id="& contentID
      

  3.   

    按照楼上的改还是有错:错误类型:
    Microsoft VBScript 运行时错误 (0x800A000D)
    类型不匹配: 'format'
    /6/return.asp, 第 14 行
      

  4.   

    按1楼的  打印出结果看看
    看来不支持format函数,VBScript没用过,需要把时间变换成yyyy-mm-dd hh:mm:ss格式
      

  5.   

    加1楼的语句在
    rs.open sqltext,conn,3,3
      

  6.   

    错误类型:
    Microsoft VBScript 运行时错误 (0x800A01A8)
    缺少对象: 'console'
    /6/return.asp, 第 15 行
      

  7.   

    console.writeline是.net的
    ASP显示显示一个字行串的方法你应该知道吧,不过我不知道   set rs=server.createobject("adodb.recordset")
       sqltext="update borecorder set bo_flag=1 , return_time='"&return_time &"'where bo_id="& contentID   --加在这里,把sqltext显示出来
       rs.open sqltext,conn,3,3
       set rs=nothing
      

  8.   

    set rs=server.createobject("adodb.recordset")
       sqltext="update borecorder set bo_flag=1 , return_time='"&return_time &"'where bo_id="& contentID在后面加这个:
    Response.write sqltext
    Response.end()然后把显示的结果贴出来~
      

  9.   

    如果仅仅需要日期的话,可以用Date()来代替Now()。
    就可以了。
      

  10.   

    按楼上写的 显示结果是:
    update borecorder set bo_flag=1 , return_time='2006-8-8 下午 03:13:39'where bo_id=66
      

  11.   

    sqltext="update borecorder set bo_flag=1 , return_time='" & format("yyyy-mm-dd hh:mm:ss",return_time) &"' where bo_id="& contentID楼上的楼上的楼上……好像写反了,LZ试一下
      

  12.   

    谢谢各位,用date()倒是可以的,为什么now()不行呢
      

  13.   

    用Now取出来的有个“上(下)午”。
    用Date取出来的只是日期“2006-8-8”,不包括时间,所以不会出错。你可以在查询分析器里分别执行:
    Select Convert(datetime '2006-8-8 下午 03:13:39')

    Select Convert(datetime '2006-8-8')上面的语句会报错,下面的能执行成功。
      

  14.   


    Select Convert(datetime,'2006-8-8 下午 03:13:39')

    Select Convert(datetime,'2006-8-8')上面的少了逗号。