飞檐结构作用:ASP高手 帮个忙?

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 18:38:11
<%
Set CONN=Server.CreateObject("ADODB.Connection")
CONN.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("ok.mdb")
%>

<%sql="select * from dey where kwd order by id desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1

if request("keyword")="" or request("keyword")="请输入关键字" or rs.eof and rs.bof then
在这里rs.eof and rs.bof then不执行下面的了。

response.write "<script>alert('没有您要查找的信息!');</script>"

DIM Appeared
Call DisRndRecord(10,rs.recordCount)'调用函数该位置显示记录

'################SUBS################
'#DisRndRecord(DisNum,rsBound)
'#参数DisNum:显示数量
'#参数rsBound:随机数产生范围
Sub DisRndRecord(DisNum,rsBound)
DIM i,ThisRnd
If rsBound < DisNum Then DisNum = rsBound'记录总数小于要抽取记录条数的情况
For i = 0 To DisNum - 1
ThisRnd = GetRnd(rsBound)'取得一个不重复的随机数
rs.Move(ThisRnd)'游标移动到随机数位置数读取
Response.Write(rs("kwd")&"<br>")
'Response.Write("("&rs("id")&")"&rs("kwd"))
rs.Move(-ThisRnd)
Next
End Sub
'# 函数GetRnd(bound)返回一个不重复的随机数字
'#参数bound:随机范围
Function GetRnd(bound)
DIM ranNum
Randomize()
ranNum=int(bound*rnd)
If Instr(Appeared,"["&ranNum&"]") Then'产生的随机数是否出现过
ranNum = getRnd(bound)
End If
Appeared = Appeared & "["&ranNum&"]"'记录已出现的随机数
GetRnd = ranNum
End Function

else
name=trim(request("keyword"))
sql="select * from dey where (kwd Like '%"& name &"%') order by id desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
dim i
i=0
%>
<%do while not rs.eof%>

<font color="66cc00"><%=rs("kwd")%></font><br><br>

<%i=i+1
if i>=10 then exit do
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>

如果把上面的这句写成这样,数据一下会不执行。
if request("keyword")="" or request("keyword")="请输入关键字" or rs.eof and rs.bof then
但是如果写成
if request("keyword")="" or request("keyword")="请输入关键字" then
的时候可以正常运行。
如果是这一句rs.eof and rs.bof 的原因,请高手大哥们帮帮忙,为什么会不执行?整个程序那里些的有出入?

# BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。

# EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。

rs.eof and rs.bof
不能是AND ,改成rs.eof OR rs.bof

我也是这么觉得
你试试看吧

if (request("keyword")="") or (request("keyword")="请输入关键字" )or (rs.eof and rs.bof) then
这样写试试!