为什么我的程序提示'loop' 语句缺少 'do'? 怎么解决呀

vcinsect 2004-09-07 09:24:30
<%
UserName = request.form("UserName")
UserPwd = request.form("UserPwd")
If UserName = "" Then
Errmsg = "请输入用户名和密码"
Else
'=============连接数据库===============
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="driver={SQL Server};server=localhost;UID=sa;PWD=;Database=GjjChaxun"
'连接数据库
Conn.Open
'============从表Users中读取用户数据==============
'定义Recordset对象
Set rs=Server.CreateObject("ADODB.Recordset")
'设置Connection对象的ConnectionString
'设置rs的ActiveConnection属性,绑定到连接
Set rs.ActiveConnection = Conn
'设置游标类型
rs.CursorType = 3
'打开记录集
rs.Open "SELECT * FROM sgx WHERE Col004='" & Trim(UserName) & "'"
'=============身份验证===========================
If rs.EOF Then
Errmsg = "用户不存在"
Else
do while not rs.Eof
If trim(UserPwd) = trim(rs.Fields("Col002")) Then
Session("UserId") = rs.Fields("Col002")
Session("xm") = rs.Fields("Col004")
Response.Redirect"admin/SHOWCHAXUN.ASP"
if trim(UserPwd) <> trim(rs.Fields("Col003")) then
Session("UserId") = rs.Fields("Col003")
Session("xm") = rs.Fields("Col004")
Response.Redirect"admin/SHOWCHAXUN.ASP"
if rs.Eof then
Errmsg = "密码不正确"
end if
rs.MoveNext
loop
end if
end if
%>
...全文
141 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
person01 2004-09-07
<%
UserName = request.form("UserName")
UserPwd = request.form("UserPwd")
If UserName = "" Then
Errmsg = "请输入用户名和密码"
Else
'=============连接数据库===============
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="driver={SQL Server};server=localhost;UID=sa;PWD=;Database=GjjChaxun"
'连接数据库
Conn.Open
'============从表Users中读取用户数据==============
'定义Recordset对象
Set rs=Server.CreateObject("ADODB.Recordset")
'设置Connection对象的ConnectionString
'设置rs的ActiveConnection属性,绑定到连接
Set rs.ActiveConnection = Conn
'设置游标类型
rs.CursorType = 3
'打开记录集
rs.Open "SELECT * FROM sgx WHERE Col004='" & Trim(UserName) & "'"
'=============身份验证===========================
If rs.EOF Then
Errmsg = "用户不存在"
Else
do while not rs.Eof
If trim(UserPwd) = trim(rs.Fields("Col002")) Then
Session("UserId") = rs.Fields("Col002")
Session("xm") = rs.Fields("Col004")
Response.Redirect"admin/SHOWCHAXUN.ASP"
if trim(UserPwd) <> trim(rs.Fields("Col003")) then
Session("UserId") = rs.Fields("Col003")
Session("xm") = rs.Fields("Col004")
Response.Redirect"admin/SHOWCHAXUN.ASP"
if rs.Eof then
Errmsg = "密码不正确"
end if
end if
end if
rs.MoveNext
loop
end if
end if
%>
回复
shootarrow 2004-09-07
嵌套有问题
LOOP在判断内,一旦IF为假,就屏蔽了LOOP,所以缺少LOOP
回复
lxn_1999 2004-09-07
vc虫虫:vbscript应该是:if .... then
...........
end if
或:if .... then
...........
else
...........
end if
回复
hlmcgyqz 2004-09-07
身份验证这段改一改啦,改成下面这样,应该就没错了。

'=============身份验证===========================
If rs.EOF Then
Errmsg = "用户不存在"
Else
do while not rs.Eof
If trim(UserPwd) = trim(rs.Fields("Col002")) Then
Session("UserId") = rs.Fields("Col002")
Session("xm") = rs.Fields("Col004")
Response.Redirect"admin/SHOWCHAXUN.ASP"
End If
If trim(UserPwd) <> trim(rs.Fields("Col003")) then
Session("UserId") = rs.Fields("Col003")
Session("xm") = rs.Fields("Col004")
Response.Redirect"admin/SHOWCHAXUN.ASP"
End If
rs.MoveNext
loop
end if
End If
回复
ryuginka 2004-09-07
语法不过关。
写的不规范
回复
华之瓯越 2004-09-07
你还是先去补习一下逻辑吧
连这点逻辑都搞不清楚啊
回复
yangyanli 2004-09-07
do while
if then
if then
if then
end if
loop
就是
do {
if ()
{
if ()
{
if ()
{

}

}while()
回复
yangyanli 2004-09-07
楼主是vc虫虫啊
if ()
{
}
else
{
if ()
{
}
else
{
}
}
asp:
if then

if then
else
end if
else

end if
if then
end if
回复
yangyanli 2004-09-07
楼主随便找个什么vc啊c啊delphi啊,把语法这关过了再说吧!
do while
if then
if then
if then
end if
loop
不出问题才怪
回复
vcinsect 2004-09-07
怎么改进呢???
回复
andy0618 2004-09-07
检查一下end if嵌套的对不对,有没有少写
回复
satans18 2004-09-07
你的嵌套有问题~~
回复
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-09-07 09:24
社区公告
暂无公告