asp数据库循环输出
dimrs,sql,NavNamesetrs=server.createobject("adodb.recordset")sql="select*fromNavigati...
dim rs,sql,NavName
set rs = server.createobject("adodb.recordset")
sql="select * from Navigation where ViewFlag order by Sequence asc"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
response.write "暂无导航"
else
do while not rs.eof
NavName = rs("NavName")
rs.movenext
loop
end if
rs.close
set rs=nothing
if IsArray(NavName) then
response.write "是数组"
else
response.write "不是数组"
end if
怎么把NavName 定义成数组函数
在就是 怎么把NavName
拿出来循环输出 不在do while里
问题补充:NavName(1000) 为什么这里给几 他就循环多少次呢 能不能改成 根据 总条数来的
问题补充:我用这个做的是模板分离 如果这个问题不解析的话 会有1000个 〈LI〉〈/LI〉
最好 是 有多少条 就让他自动的弄多少条 可以吗?
问题补充:我输入 过是9条记录 但是 是 9 个9 所以 他就要循环 999999999 次 但是那个 1000我改成8他就循环8次 QQ1529671729 加我帮我解决一下 把分给你 给钱也行 展开
set rs = server.createobject("adodb.recordset")
sql="select * from Navigation where ViewFlag order by Sequence asc"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
response.write "暂无导航"
else
do while not rs.eof
NavName = rs("NavName")
rs.movenext
loop
end if
rs.close
set rs=nothing
if IsArray(NavName) then
response.write "是数组"
else
response.write "不是数组"
end if
怎么把NavName 定义成数组函数
在就是 怎么把NavName
拿出来循环输出 不在do while里
问题补充:NavName(1000) 为什么这里给几 他就循环多少次呢 能不能改成 根据 总条数来的
问题补充:我用这个做的是模板分离 如果这个问题不解析的话 会有1000个 〈LI〉〈/LI〉
最好 是 有多少条 就让他自动的弄多少条 可以吗?
问题补充:我输入 过是9条记录 但是 是 9 个9 所以 他就要循环 999999999 次 但是那个 1000我改成8他就循环8次 QQ1529671729 加我帮我解决一下 把分给你 给钱也行 展开
3个回答
展开全部
这个问题不难:
直接输出数组的话,好像每增加一个单元还得重定义一次下标,觉得不值。如果是我来做这个的话会把NavName = rs("NavName")改成NavName = NavName & "," & rs("NavName"),最后在循环结束后再NavName=split(NavName,",")来得到。
后面这个补充问题看得不太明白,也许把前面的问题按我说的思路做了后自然解决了。
NavName在上文应该是一个数组呀,怎么又是NavName(1000)这种函数的调用写法了呢。
ubound(NavName)可以取得一个数组的元素个数的。
如果数据量比较大建议在SQL语句中这样写select top 条数 * from Navigation ...这样要显示多少条就取多少条,如果是新闻索引页等建议把 * 换成只用得到的列名,这样虽然在代码上多了十几个字符,但感觉在大并发特别大数据量时的打开速度还是明显的。
补充说明:上面那个用逗号作分隔只是感觉比较像数组易于理解阅读,如果每个单元值是大段文字其中也可能出现逗号的话,这里就用别的比较少用的符号来分隔,比如^ $等。
直接输出数组的话,好像每增加一个单元还得重定义一次下标,觉得不值。如果是我来做这个的话会把NavName = rs("NavName")改成NavName = NavName & "," & rs("NavName"),最后在循环结束后再NavName=split(NavName,",")来得到。
后面这个补充问题看得不太明白,也许把前面的问题按我说的思路做了后自然解决了。
NavName在上文应该是一个数组呀,怎么又是NavName(1000)这种函数的调用写法了呢。
ubound(NavName)可以取得一个数组的元素个数的。
如果数据量比较大建议在SQL语句中这样写select top 条数 * from Navigation ...这样要显示多少条就取多少条,如果是新闻索引页等建议把 * 换成只用得到的列名,这样虽然在代码上多了十几个字符,但感觉在大并发特别大数据量时的打开速度还是明显的。
补充说明:上面那个用逗号作分隔只是感觉比较像数组易于理解阅读,如果每个单元值是大段文字其中也可能出现逗号的话,这里就用别的比较少用的符号来分隔,比如^ $等。
展开全部
首先。你了解下。RecordCount 是读取你有多少条记录的
i=rs.RecordCount
然后定义数据
dim NavName(i)
就是你定义的数组了、。
最后就是 用FOR 分别给数组的没个变量赋值。。
然后输出。明白?
i=rs.RecordCount
然后定义数据
dim NavName(i)
就是你定义的数组了、。
最后就是 用FOR 分别给数组的没个变量赋值。。
然后输出。明白?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里就关系到动态数组了.你可以先定义一定空间的数组,然后再根据实际的数据来进行重定义.
比较你先定义一个NavName(1000)的动态数组,但是你在装完了数据以后才用到500个,那么你可以重新定义一次空间长度: redim preserve NavName(500),这样你的数组的总长度就只有500个了.
比较你先定义一个NavName(1000)的动态数组,但是你在装完了数据以后才用到500个,那么你可以重新定义一次空间长度: redim preserve NavName(500),这样你的数组的总长度就只有500个了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |