
asp上的access数据库问题
给出代码:id=request.QueryString("id")t=request.QueryString("tm")setrr=server.CreateObject...
给出代码:
id=request.QueryString("id")
t=request.QueryString("tm")
set rr=server.CreateObject("adodb.recordset")
g=0
i=0
do while g<10
rr.open "select * from abc where id='"&id&"' and rti<='"&t&"' and lti>='"&t&"'",conn,1,1
i=i+1(这一行是打个比方,其实就是读取查询到的数据)
rr.close
g=g+1
t=cdate(t)+1
loop
上面代码中 t 是2013-09-28这样的字符串,我是想循环出9月28日之后10天的数据,可是只循环一次,就是在进行了一次
t=cdate(t)+1之后,代码实际上就不能正常循环了,之后的9次我测试了之后是没有找到数据,rr.recordcount=0,不知道t=cdate(t)+1这个应该怎么改?
数据库字段 rti 和lti 都是文本格式。
还有我想问,怎么把cdate的类型转换成默认的数据类型。 展开
id=request.QueryString("id")
t=request.QueryString("tm")
set rr=server.CreateObject("adodb.recordset")
g=0
i=0
do while g<10
rr.open "select * from abc where id='"&id&"' and rti<='"&t&"' and lti>='"&t&"'",conn,1,1
i=i+1(这一行是打个比方,其实就是读取查询到的数据)
rr.close
g=g+1
t=cdate(t)+1
loop
上面代码中 t 是2013-09-28这样的字符串,我是想循环出9月28日之后10天的数据,可是只循环一次,就是在进行了一次
t=cdate(t)+1之后,代码实际上就不能正常循环了,之后的9次我测试了之后是没有找到数据,rr.recordcount=0,不知道t=cdate(t)+1这个应该怎么改?
数据库字段 rti 和lti 都是文本格式。
还有我想问,怎么把cdate的类型转换成默认的数据类型。 展开
3个回答
展开全部
id=request.QueryString("id")
t=request.QueryString("tm")
set rr=server.CreateObject("adodb.recordset")
rr.open "select * from abc where id='"&id&"' and rti<='"&t&"' and lti>='"&t&"'",conn,1,1
if rr.eof and rr.bof then
response.Write "暂无"
else
g=0
i=0
do while not rr.eof
if g<10 then
i=i+1
end if
rr.movenext
g=g+1
t=cdate(t)+1
loop
rr.close
set rr = nothing
end if
t=request.QueryString("tm")
set rr=server.CreateObject("adodb.recordset")
rr.open "select * from abc where id='"&id&"' and rti<='"&t&"' and lti>='"&t&"'",conn,1,1
if rr.eof and rr.bof then
response.Write "暂无"
else
g=0
i=0
do while not rr.eof
if g<10 then
i=i+1
end if
rr.movenext
g=g+1
t=cdate(t)+1
loop
rr.close
set rr = nothing
end if
更多追问追答
追问
实际是程序只能正确运行一次,第二次执行 rr.open "select * from abc where id='"&id&"' and rti='"&t&"'",conn,1,1的时候就查找不到数据,实际上数据是有的
追答
我改后的代码也只输出一次么?

2023-12-06 广告
网易云信提供一站式的 1 对 1 UIKit 组件库,可以更快地搭建 1 对 1 社交平台,能够快速实现音视频呼叫、音视频通话、1对1消息发送、美颜和礼物功能,直接可以复用我们的组件源码就可以了。优势:1、全套1对1 UI组件,接入更快;2...
点击进入详情页
本回答由网易云信提供
展开全部
id=request.QueryString("id")
t=request.QueryString("tm")
m=dateadd("d",10,Cdate(t))''追加后10天
set rr=server.CreateObject("adodb.recordset")
rr.open "select top 10 * from abc where id='"&id&"' and rti<='"&m&"' and lti>='"&t&"'",conn,1,1
If Not (rr.Bof And rr.Eof) Then
do while not rr.eof
''这里加入要显示字段就行。比如response.write rr("字段名")
rr.movenext
loop
end if
rr.close
set rr = nothing
其实非常简单的一个查询循环。关键是top 10和加10天为条件的查询
t=request.QueryString("tm")
m=dateadd("d",10,Cdate(t))''追加后10天
set rr=server.CreateObject("adodb.recordset")
rr.open "select top 10 * from abc where id='"&id&"' and rti<='"&m&"' and lti>='"&t&"'",conn,1,1
If Not (rr.Bof And rr.Eof) Then
do while not rr.eof
''这里加入要显示字段就行。比如response.write rr("字段名")
rr.movenext
loop
end if
rr.close
set rr = nothing
其实非常简单的一个查询循环。关键是top 10和加10天为条件的查询
追问
如果这样就不能正常运行了
rr.open "select top 10 * from abc where id='"&id&"' and rti='"&cdate(t)&"'",conn,1,1所以应该是 t 数据类型的问题,改成日期类型就不能查询了,但是要循环的话又必须用cdate(t)+1改成日期格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试
t=cstr(DateAdd("d",1,cdate(t)))
追问
在asp执行
rr.open "select * from abc where id='"&id&"' and rti='"&t&"'",conn,1,1的时候
t 如果是日期类型就查询不了了,我这边要循环查询有必须执行日期加1,所以实际运行中 查询语句只能在第一次的时候正常运行,到第二次我改为日期加1了之后,就不能运行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询