日期的语法错误

yh235 2007-03-26 11:13:13
我想把用户选择的日期 以日期的形式存到数据库里
这是SQL语句
sql = "Insert Into [zhanhui](title,img,shuoming,shijian,didian,riqi) Values('" & title & "','" & img & "','" & nei & "',#" & shijian & "#,'" & didian & "',#" & now() & "#)"
但是它却报错

Microsoft JET Database Engine '80040e07'
日期的语法错误 在查询表达式 '##' 中。
\wwwroot\bzj110\Info_upload.asp, line 31
========================================
是shijian那里的问题 我那怎么写错了?
该怎么写才对? 数据库里的是日期格式啊
...全文
391 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xie_yanke 2007-03-27
  • 打赏
  • 举报
回复
access可以直接这么写sql语句
sql = "Insert Into [zhanhui](title,img,shuoming,shijian,didian,riqi) Values('" & title & "','" & img & "','" & nei & "','" & shijian & "','" & didian & "', now())"
sql server 可以改写now()为getdate()
xie_yanke 2007-03-26
  • 打赏
  • 举报
回复
不好意思,上面sql应该为:

sql = "Insert Into [zhanhui](title,img,shuoming,shijian,didian,riqi) Values('" & title & "','" & img & "','" & nei & "','" & shijian & "','" & didian & "', now())

now()直接从access数据库取时间.不必在程序外取时间.
xie_yanke 2007-03-26
  • 打赏
  • 举报
回复
在sql语句前写:

if isdate(shijian) then
shijian = cdate(shijian)
else
response.write "Error!" : response.End
end if

sql = "Insert Into [zhanhui](title,img,shuoming,shijian,didian,riqi) Values('" & title & "','" & img & "','" & nei & "','" & shijian & "','" & didian & "', " & now() & ")"


yh235 2007-03-26
  • 打赏
  • 举报
回复
如果不加#的话会提示类型不匹配
jsnt_rd(C#ing...) 说的可能对 怎样才能知道是否为空?这是我全部的代码
<%
Set myrequest=new UpLoadClass
myrequest.open
img=session("fname")
If img="" Then img="wu"
title=replace(myrequest.Form("title"),"'","")
title=replace(title,"<","")
title=replace(title,">","")

shijian=replace(myrequest.Form("shijian"),"'","")
shijian=replace(shijian,"<","")
shijian=replace(shijian,">","")
nian=replace(myrequest.Form("nian"),"'","")
yue=replace(myrequest.Form("yue"),"'","")
ri=replace(myrequest.Form("ri"),"'","")

didian=replace(myrequest.Form("didian"),"'","")
didian=replace(didian,"<","")
didian=replace(didian,">","")

nei=replace(myrequest.Form("nei"),"'","")
if nei="" then nei="暂无内容"
%>
<!--#Include File="Conn.asp"-->
<%
sql = "Insert Into [zhanhui](title,img,shuoming,shijian,didian,riqi) Values('" & title & "','" & img & "','" & nei & "',#" & shijian & "#,'" & didian & "',#" & now() & "#)"
Conn.Execute(sql)
Conn.Close : Set Conn = Nothing
Session("fname")=""
Response.Write "<script>alert('添加成功!');location.href='Info_manage.asp'</script>"
%>
hymxtang 2007-03-26
  • 打赏
  • 举报
回复
去掉所有的#
班门弄斧 2007-03-26
  • 打赏
  • 举报
回复
sql = "Insert Into [zhanhui](title,img,shuoming,shijian,didian,riqi) Values('" & title & "','" & img & "','" & nei & "','" & shijian & "','" & didian & "','" & now() & "')"
注意:你取回的时间是否为空?你需要做检查,建议为空置上一默认的时间,如:1900-1-1
pzhuyy 2007-03-26
  • 打赏
  • 举报
回复
不要#
班门弄斧 2007-03-26
  • 打赏
  • 举报
回复
TO:xie_yanke(谢烟客)
now()是直接从access数据库取时间
但是SQL语句是这样写的吗?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧