sql 循环 语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 循环 语句相关的知识,希望对你有一定的参考价值。

<%
Set aa = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM AAAA"
aa.Open sql,conn,1,3

While NOT aa.EOF
a1=aa("类型")
a2=aa("标题")

'-------------------------------
Set bb = Server.CreateObject("ADODB.Recordset")
sql = "SELECT top 8 * FROM AAAA where 类型='"&a1&"'" '查询与此文章标题同类型的 8条信息
bb.Open sql,conn,1,3
While NOT bb.EOF
response.write bb("标题")&"<br>"
bb.MoveNext()
wend
'-------------------------
'这里是生成页面部分;外循环生成的是文章标题(及内容、作者等),内循环生成的是与此标题(id)相关的 8条 标题,2者一起生成一个页面

aa.MoveNext()
wend
%>

可是这样生成的第一个页面是正确的,其他的页面就不对了,是不是我的循环语句写的不对?
本人对这块实在不行,请高手指教!!到底应该怎么写?答案正确,我会追加100分数以示报答!谢谢!
生成的第2个页面包含第1个页面,生成的第3个页面包含第1第2两个页面,生成的第4个页面包含前3页的页面。。。。越生越大,没一会生成的一个页面就10M了。。。
如您明白我的意思可否写一个类似的或者找一个类似的程序?asp的

楼主的语句似乎没问题

第一个页面正确,第二个页面不正确是指什么意思?

或者使用
do while NOT aa.EOF
loop
试试看

**********************
如果是在需要的话
可以通过子程序实现,不用这样子嵌套
如建立fuction.asp,在调用页面include进去

fuction searchSeries(series)
sql = "SELECT top 8 * FROM AAAA where 类型='"&series&"'" bb.Open sql,conn,1,3
do While NOT bb.EOF
response.write bb("标题")&"<br>"
bb.MoveNext()
loop
bb.close
set bb=nothing
end fuction

然后在内循环部分直接调用
searchSeries(a1)

如果要一直显示,在子程序中迭代就行,但是对客户的审查习惯和系统的资源没好处
参考技术A Do while NOT aa.EOF
a1=aa("类型")
a2=aa("标题")
Set bb = Server.CreateObject("ADODB.Recordset")
sql = "SELECT top 8 * FROM AAAA where 类型='"&a1&"'" '查询与此文章标题同类型的 8条信息
bb.Open sql,conn,1,3
do while NOT bb.EOF
response.write bb("标题")&"<br>"
bb.MoveNext
loop
bb.close
aa.movenext
loop
参考技术B 语句没有问题,其他的页面就不对了,是指出错吗,还是输出结果不对

sql 中流程控制语句的关键字都有哪些

1、 BEGIN…END关键字也是流程控制语句需要用到的最基本关键字,用于将多个语句划分成逻辑上的一部分。

2、WHILE/BREAK/CONTINUE关键字
在T-SQL的流程控制语句中,循环语句只有WHILE循环,并没有传统高级语言的FOR和SWITCH循环。WHILE除了被用于流程控制语句的循环之外,还经常被用于游标之中。
WHILE关键字和高级语言中的WHILE关键字几乎完全一样。WHILE循环中可以利用BREAK和CONTINUE关键字对循环进行控制。
CONTINUE关键字用于结束本次循环,直接开始下一次循环。
BREAK关键字用于直接跳出WHILE循环语句。
这里值得注意的是,当WHILE循环嵌套时,CONTINUE关键字和BREAK关键字只会作用于它们所处的WHILE循环之内,不会对外部WHILE循环产生作用。

3、IF..ELSE关键字
IF..ELSE关键字实现了非此既彼的逻辑。

4、GOTO关键字
GOTO关键字因为能打乱程序的整个流程而在高级语言中臭名卓著。GOTO关键字的使用非常简单,定义一个跳转标签,只要GOTO 标签名就可以。

5、
RETURN关键字
Return是最简单有效直接无条件告诉服务器跳出某个批处理段(Batch),用户自定义函数和存储过程的方式。

6、
WAITFOR关键字

WAITFOR关键字允许指定语句在特定时间或是推迟特定时间执行。
推迟等待和在特定时间执行的语法分别是WAITFOR DELAY ‘需要等待的执行时间',WAITFOR TIME ‘需要执行程序的精确时间’追问

这些都是吗

追答

是的 。记得采纳哦。

参考技术A BEGIN...END

BREAK

GOTO

CONTINUE

IF...ELSE

WHILE

RETURN

WAITFOR

以上是关于sql 循环 语句的主要内容,如果未能解决你的问题,请参考以下文章

求一条sql循环语句

sql写语句如何循环执行10000次

PL/SQL控制语句(循环控制语句)

mysql循环执行sql语句怎么写

在sql server中循环语句 for要怎么使用

sql while循环语句问题