ASP 修改记录时为什么只修改第一条记录啊?
在记录集列表页面list.asp点击"修改"后转到修改页面edit.asp,输入相关内容后,点击"提交"转到list.asp页面,明明修改的是第二或第三条记录,可list...
在记录集列表页面list.asp点击"修改"后转到修改页面edit.asp,输入相关内容后,点击"提交"转到list.asp页面,明明修改的是第二或第三条记录,可list.asp页面中显示结果确只修改了第一条记录,这是为什么呢?修改记录时需要注意些什么呢?哪位高手帮忙解释下,越详细越好,在此先谢过!!(初学ASP做网站)
classedit.asp的代码:
<%
classid=request.QueryString("classid")
if request("action")="rename" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from class where classid=" & request("classid")
rs.open sql,conn,1,3
rs("classname")=request("classname")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.Redirect("classlist.asp")
end if
%>
<body>
<form action="classedit.asp?action=rename&classid=<%=("classid")%>" method="post" name="form" id="form">
<label>
<p> </p>
<div align="center">资源类别名称:
<input name="classname" type="text" id="classname" value="<%=rs("classname") %>" />
<input type="submit" name="Submit" value="修改" />
</div>
</label>
</form>
</body>
Classlist.asp中的主要代码如下:
<td><div align="center"><a href="classedit.asp?classid=<%=rs("classid")%>">编辑</a></div></td>
在这之前有打开过记录集的 展开
classedit.asp的代码:
<%
classid=request.QueryString("classid")
if request("action")="rename" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from class where classid=" & request("classid")
rs.open sql,conn,1,3
rs("classname")=request("classname")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.Redirect("classlist.asp")
end if
%>
<body>
<form action="classedit.asp?action=rename&classid=<%=("classid")%>" method="post" name="form" id="form">
<label>
<p> </p>
<div align="center">资源类别名称:
<input name="classname" type="text" id="classname" value="<%=rs("classname") %>" />
<input type="submit" name="Submit" value="修改" />
</div>
</label>
</form>
</body>
Classlist.asp中的主要代码如下:
<td><div align="center"><a href="classedit.asp?classid=<%=rs("classid")%>">编辑</a></div></td>
在这之前有打开过记录集的 展开
4个回答
展开全部
把<a href="classedit.asp?classid=<%=classid%>&action=rename">编辑这句话改为:<a href="classedit.asp?classid=<%=要修改的classid%>">
我觉得你这句话有问题,没看到你的这个页面的上面的代码.通过记录集的话单独写一个classid是不可以的吧,应该要写成Recordset1.Fields.Item("stu_id").Value 或者 rs("classid"),值没有穿过去的话修改的总是第一条记录。在classid=request.QueryString("classid") 改为classid=request("classid") 。sql="select * from class where classid=" & request("classid")给改为sql="select * from class where classid= '"&classid&"'"。以前我也遇到过这个问题。你最好把你的Classlist.asp代码页贴出来。看的比较完整。
我觉得你这句话有问题,没看到你的这个页面的上面的代码.通过记录集的话单独写一个classid是不可以的吧,应该要写成Recordset1.Fields.Item("stu_id").Value 或者 rs("classid"),值没有穿过去的话修改的总是第一条记录。在classid=request.QueryString("classid") 改为classid=request("classid") 。sql="select * from class where classid=" & request("classid")给改为sql="select * from class where classid= '"&classid&"'"。以前我也遇到过这个问题。你最好把你的Classlist.asp代码页贴出来。看的比较完整。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有没有在SQL语句里加入条件呢,比如 where id=2 呢?
或者edit.asp里的条件没有按你的选择进行更改,所以提交到数据库之后,还是第一条的条件。把代码贴出来看看吧
或者edit.asp里的条件没有按你的选择进行更改,所以提交到数据库之后,还是第一条的条件。把代码贴出来看看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要查看一下 你传递的值是不是变化的。可以输出那个变量看是不是变化的。这样,只有条件语句不一样,修改的结果也是不一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<body>
<form action="classedit.asp?action=rename&classid=<%=("classid")%>" method="post" name="form" id="form">
修改成
<body>
<form action="classedit.asp?action=rename&classid=<%=rs("classid")%>" method="post" name="form" id="form">
Classlist.asp中的主要代码如下:
<td><div align="center"><a href="classedit.asp?classid=<%=classid%>&action=rename">编辑</a></div></td>
这里一定要注意,参数classid=<%=classid%>指向的这个变量值正确,如果这个变量的值一直都是1,那么不管你怎样操作,永远都是在修改第一条记录
<form action="classedit.asp?action=rename&classid=<%=("classid")%>" method="post" name="form" id="form">
修改成
<body>
<form action="classedit.asp?action=rename&classid=<%=rs("classid")%>" method="post" name="form" id="form">
Classlist.asp中的主要代码如下:
<td><div align="center"><a href="classedit.asp?classid=<%=classid%>&action=rename">编辑</a></div></td>
这里一定要注意,参数classid=<%=classid%>指向的这个变量值正确,如果这个变量的值一直都是1,那么不管你怎样操作,永远都是在修改第一条记录
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询