实在想不出问题原因~~~~~~~~~超级奇怪~~~~~~~而且真的没话说了。。。。。。

royitonade 2004-08-01 06:13:04
看了以后我想你也找不出原因~~~~~~~~

<% Else %>
<form action="edit.asp?table=管理列表" name="管理编辑" id="管理编辑" method="post">
<table width="650" border="1" bordercolor="#FFFFFF">

<% Do While Not Rs.Eof %>
<tr>
<td width="20%"><div align="center">
<input name="管理名称" type="text" class="admininput" id="管理名称" value="<%=Rs("管理名称")%>" maxlength="20">
<input name="Ida" type="TEXT" value="<%=Rs("ID")%>">
</div></td>
<td width="20%"><div align="center">
<input name="管理密码" type="text" class="admininput" id="管理密码" value="<%=Rs("管理密码")%>" maxlength="20">
</div></td>
<td width="20%"><div align="center">
<select name="管理等级" class="select" id="管理等级">
<option value="1">超级管理</option>
<option value="2">高级管理</option>
<option value="3">普通管理</option>
</select>
</div></td>
<td width="20%"><div align="center">
<input name="修改" type="submit" class="adminbutton" id="修改" value="修改">
</div></td>
<td width="20%"><div align="center">
<input name="删除" type="button" class="adminbutton" id="删除" value="删除" onClick="window.location='del.asp?del=<%=rs("ID")%>&table=管理列表'">
</div></td>
</tr>
<%
Rs.Movenext
Loop
End If
%>
</table></form>


这样写不能编辑。编辑页面也不显示出错问题。。。。。。
然而这样写却一切正常。。。。。。。。。。我真的无语了。。。不知道是不是中邪了!中间只变化了ELSE条件的位置而已

<% Else %><% Do While Not Rs.Eof %>
<form action="edit.asp?table=管理列表" name="管理编辑" id="管理编辑" method="post">
<table width="650" border="1" bordercolor="#FFFFFF">


<tr>
<td width="20%"><div align="center">
<input name="管理名称" type="text" class="admininput" id="管理名称" value="<%=Rs("管理名称")%>" maxlength="20">
<input name="Ida" type="TEXT" value="<%=Rs("ID")%>">
</div></td>
<td width="20%"><div align="center">
<input name="管理密码" type="text" class="admininput" id="管理密码" value="<%=Rs("管理密码")%>" maxlength="20">
</div></td>
<td width="20%"><div align="center">
<select name="管理等级" class="select" id="管理等级">
<option value="1">超级管理</option>
<option value="2">高级管理</option>
<option value="3">普通管理</option>
</select>
</div></td>
<td width="20%"><div align="center">
<input name="修改" type="submit" class="adminbutton" id="修改" value="修改">
</div></td>
<td width="20%"><div align="center">
<input name="删除" type="button" class="adminbutton" id="删除" value="删除" onClick="window.location='del.asp?del=<%=rs("ID")%>&table=管理列表'">
</div></td>
</tr>

</table></form> <%
Rs.Movenext
Loop
End If
%>

如果按照第二种写法,那么我得循环多少FORM啊。。。。。。我倒。。。。。。不知道是怎么回事了。。。。。其他我真的看不出原因了~~~~~~


2:另外一个问题也和这个判断有关

<%
Dim Rs,Sql,Rs2,Sql2,Rs3,Sql3,Page
Set Rs=Server.Createobject("Adodb.Recordset")
Sql="Select * From 音乐分类"
Rs.Open (Sql),Conn,1,1
Set Rs2=Server.Createobject("Adodb.Recordset")
Page=Request("Page")
Sql2="Select * From 歌手分类 where 带头字母='"&page&"'"
Rs2.Open (Sql2),Conn,1,1
Set Rs3=Server.Createobject("Adodb.Recordset")
Sql3="Select * From 音乐分类"
Rs3.Open (Sql3),Conn,1,1
%>

本来是2个就够了的。1和3完全一样。。可是问题是。当我使用过2
<% If Rs2.Eof Then %>
好了,那个RS1就打死不起作用了,(RS2第二次使用是包含在<% If Rs2.Eof Then %>里面了的,也就是说是在<% If Rs2.Eof Then %>以后在使用的)
那只好在写个3了。。。。。。唉~~~~~~~实在不知道是什么问题了。。。。这样效率真的~~~~~~~~~~我没话说了。。。。。。。。高手们啊~~~~~~~~`HELP吧~~~~
...全文
122 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
royitonade 2004-08-01
  • 打赏
  • 举报
回复
但是很不幸的告诉那位大侠。。。。。。只能修改第一条记录。。。。。第二条记录不能修改:(
pizixt 2004-08-01
  • 打赏
  • 举报
回复
Adminn = REQUEST.FORM("管理名称")
表单控件名相同,接收页取得值形如“1, 2, 3, 4”
Arr_Adminn = Split(Adminn,",")
用Split函数分离到数组
For i=0 to Ubound(Arr_adminn)
因为前页控件是同时建立,故各值分离成的数组界值相同,循环取其一上界做条件即可
Sql = "Update 管理列表 Set 管理名称='"&trim(Arr_Adminn(i))&"',管理密码='"&trim(Arr_Adminp(i))&"',管理等级='"&trim(Arr_Adminj(i))&"' Where Id="&trim(Arr_Ida(i))
根据取得的各值构造SQL,注意必须加trim,因为值“1, 2, 3, 4”逗号后是有一空格的
royitonade 2004-08-01
  • 打赏
  • 举报
回复
最好详细点。我等是菜鸟中的菜鸟啊
royitonade 2004-08-01
  • 打赏
  • 举报
回复
最好详细点。我等是菜鸟中的菜鸟啊
royitonade 2004-08-01
  • 打赏
  • 举报
回复
楼上的。我不得不佩服你。。。。。很强很强。。。。。。还可以批量编辑。。。只按一个按牛!
能解释解释吗?毕竟这个你比我内行啊~~~~~成不啊
pizixt 2004-08-01
  • 打赏
  • 举报
回复
If Table = "管理列表" Then
Dim Adminn,Adminp,Adminj,Ida
Adminn = REQUEST.FORM("管理名称")
Adminp = REQUEST.FORM("管理密码")
Adminj = REQUEST.FORM("管理等级")
Ida = REQUEST.FORM("Ida")
Arr_Adminn = Split(Adminn,",")
Arr_Adminp = Split(Adminp,",")
Arr_Adminj = Split(Adminj,",")
Arr_Ida = Split(Ida,",")
For i=0 to Ubound(Arr_adminn)
Sql = "Update 管理列表 Set 管理名称='"&trim(Arr_Adminn(i))&"',管理密码='"&trim(Arr_Adminp(i))&"',管理等级='"&trim(Arr_Adminj(i))&"' Where Id="&trim(Arr_Ida(i))
Conn.Execute (Sql)
Next
Response.Redirect "admin_music_addad.asp"
End If
luoluonozuoluo 2004-08-01
  • 打赏
  • 举报
回复
第一个你去找个动网的bbs来看就明白啦。
royitonade 2004-08-01
  • 打赏
  • 举报
回复
引用:
是你自己的算法没有写好。
第一个问题:将from 放在else与do while 之间;将/form 入在LOOP和END IF之间。
第二个问题:不能同时用两个SQL操作同一个表

那还是无限循环FORM
royitonade 2004-08-01
  • 打赏
  • 举报
回复
第2个问题已经解决。。。。。。。。如果第一个问题真没有解决办法只好忍痛循环FORM了。。。。。。。。。。。唉~~~~~~~~~~~~如果成千上万条记录的话。那就是成千上万个FORM。。。。。。。。。。我靠~~~~~~~~~恐怖啊
luoluonozuoluo 2004-08-01
  • 打赏
  • 举报
回复
是你自己的算法没有写好。
第一个问题:将from 放在else与do while 之间;将/form 入在LOOP和END IF之间。
第二个问题:不能同时用两个SQL操作同一个表
yexing 2004-08-01
  • 打赏
  • 举报
回复
如果非得用第一种,给你个方法,把submit的value设成id的值,我记得submit的值是只传一个过去的。。。如果不对那也没办法了,呵呵
yexing 2004-08-01
  • 打赏
  • 举报
回复
没太仔细看,呵呵,希望下次贴程序把没用的东西那一句或者...代替了:P

第一种写法肯定是很麻烦的,你把所有的内容都通过一个form传过去了,实际上不管是id还是别的,编辑页面接收到的都是一个数组(Request.From("id")="1, 2, 3, 4"....),根本不知道你要编辑哪一个了。。。。


第二个问题同
回复人: aspczlover(执子之手...) ( ) 信誉:95 2004-08-01 08:22:00 得分: 0

一个数据集如果用完一次后要想重新再用要
rs.movefirst

但是打开方式可能要选择adOpenDynamic(2)或者adOpenStatic(3)才行,这个我拿不准



royitonade 2004-08-01
  • 打赏
  • 举报
回复
总部至于每条记录都用个FORM吧。这样也太~~~~~~~~~~~~~~有没办法啊。高手们
royitonade 2004-08-01
  • 打赏
  • 举报
回复
If Table = "管理列表" Then
Dim Adminn,Adminp,Adminj,Ida
Adminn = REQUEST.FORM("管理名称")
Adminp = REQUEST.FORM("管理密码")
Adminj = REQUEST.FORM("管理等级")
Ida = REQUEST.FORM("Ida")
Sql = "Update 管理列表 Set 管理名称='"&Adminn&"',管理密码='"&Adminp&"',管理等级='"&Adminj&"' Where Id="&Ida
Conn.Execute (Sql)
Response.Redirect "admin_music_addad.asp"
End If

接收代码。。。。。。。。
我真的不知道该如何是好了:(郁闷啊
lamking 2004-08-01
  • 打赏
  • 举报
回复
这样写当然可以,不过你接收这些参数的代码写起来就不能直接request.form("xx")这种了.
因为一大堆相同名字的表单项在一起,你可能能分清楚那个ida对应那几个表单项,但是程序并不容易区分,你在接收的时候可能还要去用集合了吧..
royitonade 2004-08-01
  • 打赏
  • 举报
回复
引用一下,我忽然发现你的冰不对啊
第一个本来就有问题.
你那样循环的结果是类似这样的
<form action=....>
<input name="管理名称"..>
<input name="管理名称"..>
<input name="管理名称"..>
..
</form>

表面看的确如你所说,但是实际。。。。。你自己看我在那里还多了一句
<input name="Ida" type="TEXT" value="<%=Rs("ID")%>">
而这句是获取唯一的ID号的,而更新数据是根据唯一的ID号来进行的,那怎么可能如你所说的呢?
royitonade 2004-08-01
  • 打赏
  • 举报
回复
楼上帮忙的朋友谢谢你们,我搞了30多个小时看来头是有点犯毛病了。。。。呵呵

另外,我想在问问,这句有什么问题?
<% IF RS2.EOF and 专集所属 <> zj THEN %>
专集所属是一个字段

ZJ是
?ZJ=**
变量
lamking 2004-08-01
  • 打赏
  • 举报
回复
第一个本来就有问题.
你那样循环的结果是类似这样的
<form action=....>
<input name="管理名称"..>
<input name="管理名称"..>
<input name="管理名称"..>
..
</form>
你在一个表单里面将会出现多个同样名字的表单项,接收程序该怎么写??

第二个你的rs1已经移至eof了,当然就不能再进行什么eof判断了,if rs1.eof 肯定是true的.
royitonade 2004-08-01
  • 打赏
  • 举报
回复
怎么改???

3楼的,我根本就没有睡觉,30多个小时了,一直在捣鼓这些,头也写的晕晕了。。唉~~~~
辛苦啊~~~~~~~~
aspczlover 2004-08-01
  • 打赏
  • 举报
回复
本来是2个就够了的。1和3完全一样。。可是问题是。当我使用过2
<% If Rs2.Eof Then %>
好了,那个RS1就打死不起作用了

---》
一个数据集如果用完一次后要想重新再用要
rs.movefirst
加载更多回复(2)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧