asp 中如何将字符型转换成时间日期型
我在网站内做了一个站内搜索,分别是按标题(biaoti)、作者(zuozhe)、发布时间(fabushijian)来进行搜索,但是当我输入时间比如(2010-9-14),...
我在网站内做了一个站内搜索,分别是按标题(biaoti)、作者(zuozhe)、发布时间(fabushijian)来进行搜索,但是当我输入时间比如(2010-9-14),然后搜索时,报错数据类型不匹配,估计是输入的关键字是字符串型,而我数据库中发布时间是 时间日期型的关系,但是我知道应该如何把这个字符串型转换成时间日期型。希望高手帮我改下代码!谢谢了....我没分数了,希望帮帮忙 谢谢了!!!
<%
dim guanjianzi,xuanxiang,rs,sqlyuju
guanjianzi=request.Form("guanjianzi")
xuanxiang=request.Form("xuanxiang")
if guanjianzi="" then
response.Write("<script>alert('关键字不能为空');location.href('newsguanli.asp');</script>")
end if
set rs=server.createobject("adodb.recordset")
select case xuanxiang
case "biaoti" sqlyuju="select * from news where 新闻标题 like '%"&guanjianzi&"%'"
case "zuozhe" sqlyuju="select * from news where 新闻作者 like '%"&guanjianzi&"%'"
case "fabushijian" sqlyuju="select * from news where 发布时间like '%"&guanjianzi&"%'"
end select
rs.open sqlyuju,sqlconn,1,1
%>
他报错是“参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。” 展开
<%
dim guanjianzi,xuanxiang,rs,sqlyuju
guanjianzi=request.Form("guanjianzi")
xuanxiang=request.Form("xuanxiang")
if guanjianzi="" then
response.Write("<script>alert('关键字不能为空');location.href('newsguanli.asp');</script>")
end if
set rs=server.createobject("adodb.recordset")
select case xuanxiang
case "biaoti" sqlyuju="select * from news where 新闻标题 like '%"&guanjianzi&"%'"
case "zuozhe" sqlyuju="select * from news where 新闻作者 like '%"&guanjianzi&"%'"
case "fabushijian" sqlyuju="select * from news where 发布时间like '%"&guanjianzi&"%'"
end select
rs.open sqlyuju,sqlconn,1,1
%>
他报错是“参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。” 展开
3个回答
展开全部
用cdate()函数转换字符串为日期型,例如fabushijian=cdate(fabushijian)
在这里修改一下:
select case xuanxiang
case "biaoti" sqlyuju="select * from news where 新闻标题 like '%"&guanjianzi&"%'"
case "zuozhe" sqlyuju="select * from news where 新闻作者 like '%"&guanjianzi&"%'"
case "fabushijian" sqlyuju="select * from news where 发布时间like '%"&guanjianzi&"%'"
end select
修改为:
select case xuanxiang
case "biaoti" sqlyuju="select * from news where 新闻标题 like '%"&guanjianzi&"%'"
case "zuozhe" sqlyuju="select * from news where 新闻作者 like '%"&guanjianzi&"%'"
case "fabushijian"
guanjianzi = cdate(guanjianzi)
sqlyuju="select * from news where year(发布时间)= year("&guanjianzi&")" and month(发布时间)= month("&guanjianzi&")" and day(发布时间)= day("&guanjianzi&")"
end select
但是这样还出错,建议改为下面的写法:
case "fabushijian"
guanjianzi = cdate(guanjianzi)
sqlyuju="select * from news where year(发布时间)= year("&guanjianzi&")" and month(发布时间)= month("&guanjianzi&")" and day(发布时间)= day("&guanjianzi&")"
在这里修改一下:
select case xuanxiang
case "biaoti" sqlyuju="select * from news where 新闻标题 like '%"&guanjianzi&"%'"
case "zuozhe" sqlyuju="select * from news where 新闻作者 like '%"&guanjianzi&"%'"
case "fabushijian" sqlyuju="select * from news where 发布时间like '%"&guanjianzi&"%'"
end select
修改为:
select case xuanxiang
case "biaoti" sqlyuju="select * from news where 新闻标题 like '%"&guanjianzi&"%'"
case "zuozhe" sqlyuju="select * from news where 新闻作者 like '%"&guanjianzi&"%'"
case "fabushijian"
guanjianzi = cdate(guanjianzi)
sqlyuju="select * from news where year(发布时间)= year("&guanjianzi&")" and month(发布时间)= month("&guanjianzi&")" and day(发布时间)= day("&guanjianzi&")"
end select
但是这样还出错,建议改为下面的写法:
case "fabushijian"
guanjianzi = cdate(guanjianzi)
sqlyuju="select * from news where year(发布时间)= year("&guanjianzi&")" and month(发布时间)= month("&guanjianzi&")" and day(发布时间)= day("&guanjianzi&")"
展开全部
ASP句法:前提是日期字符串格式与长度是“2008032283000”这样
response.Write left("2008032283000",4) & "-" & _
mid("2008032283000",4,2) & "-" & _
mid("2008032283000",6,2) & " " & _
mid("2008032283000",8,2) & ":" & _
mid("2008032283000",10,2) & ":" & _
right("2008032283000",2)
response.Write left("2008032283000",4) & "-" & _
mid("2008032283000",4,2) & "-" & _
mid("2008032283000",6,2) & " " & _
mid("2008032283000",8,2) & ":" & _
mid("2008032283000",10,2) & ":" & _
right("2008032283000",2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ASP句法:前提是你的日期字符串格式与长度是“2008032283000”这样
response.Write left("2008032283000",4) & "-" & _
mid("2008032283000",4,2) & "-" & _
mid("2008032283000",6,2) & " " & _
mid("2008032283000",8,2) & ":" & _
mid("2008032283000",10,2) & ":" & _
right("2008032283000",2)
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
response.Write left("2008032283000",4) & "-" & _
mid("2008032283000",4,2) & "-" & _
mid("2008032283000",6,2) & " " & _
mid("2008032283000",8,2) & ":" & _
mid("2008032283000",10,2) & ":" & _
right("2008032283000",2)
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询