Asp高手进

来源:百度知道 编辑:UC知道 时间:2024/04/27 14:20:39
真没辙了
看我的源代码吧

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'验证身份,并且给于不同权限
'连接数据库
set conn=Server.CreateObject("Adodb.Connection")
set rs= Server.CreateObject("Adodb.Recordset")
sql="select a.admin_gongzi,a.admin_zuanye,a.admin_zhanghao,a.admin_mima,a.admin_quanxian,teach.teach_name from admin as a,teach where admin_gongzi=teach_gongzi"
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("/guanli_db/guanli.mdb")
rs.open sql,conn,1,1
rs.movefirst
if rs.eof and rs.bof then
%>
没有记录
<%else
do while not rs.eof
if trim(request.form("admin_zhanghao"))=rs("admin_zhanghao") and trim(request.form("admin_mima"))=rs("admin_mima") then
if rs("admin_quanxian")="super" then
session("quanxian")="super"

1,去掉rs.movefirst ,其实去不去无所谓了..
2,主要出错其实是最后的几个response.write,因为当你指针移动到最后一条记录才匹配,之后再movenext,就到了eof了,所以这时候提示出错,解决的办法就是用session,或者几个变量来保存你要输出的几个值,到最后输出session或者变量,不要用rs...

不是 if rs.eof and rs.bof then 出错,而是它上面的一句:
rs.movefirst
把它删掉再试试。

综合以上二位意见。更倾向于第二位【问题出现在第二位,第一位的问题也会存在】。

这种事我经常出
你仔细看一下
库里有没有你想要的记录

if rs.eof and rs.bof then

if rs.eof or rs.bof then


rs.movefirst
前加一句
If rs.eof then Exit do

饿不是高手!