实在想不出问题原因~~~~~~~~~超级奇怪~~~~~~~而且真的没话说了。。。。。。
看了以后我想你也找不出原因~~~~~~~~
<% 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吧~~~~
问题点数:0、回复次数:22Top
1 楼royitonade(龙伊)回复于 2004-08-01 06:23:43 得分 0
原来。不是2根本用不来了,换了另外的文件,就算是1也用不来,好象只能用1次。。我严重倒塌~~~~~~~~~Top
2 楼aspczlover(你的骄傲...)回复于 2004-08-01 08:19:37 得分 0
楼主起床好早啊~Top
3 楼aspczlover(你的骄傲...)回复于 2004-08-01 08:22:08 得分 0
本来是2个就够了的。1和3完全一样。。可是问题是。当我使用过2
<% If Rs2.Eof Then %>
好了,那个RS1就打死不起作用了
---》
一个数据集如果用完一次后要想重新再用要
rs.movefirstTop
4 楼royitonade(龙伊)回复于 2004-08-01 08:46:16 得分 0
怎么改???
3楼的,我根本就没有睡觉,30多个小时了,一直在捣鼓这些,头也写的晕晕了。。唉~~~~
辛苦啊~~~~~~~~Top
5 楼lamking(卖空间,做网页 QQ:628557)回复于 2004-08-01 08:57:08 得分 0
第一个本来就有问题.
你那样循环的结果是类似这样的
<form action=....>
<input name="管理名称"..>
<input name="管理名称"..>
<input name="管理名称"..>
..
</form>
你在一个表单里面将会出现多个同样名字的表单项,接收程序该怎么写??
第二个你的rs1已经移至eof了,当然就不能再进行什么eof判断了,if rs1.eof 肯定是true的.
Top
6 楼royitonade(龙伊)回复于 2004-08-01 09:02:17 得分 0
楼上帮忙的朋友谢谢你们,我搞了30多个小时看来头是有点犯毛病了。。。。呵呵
另外,我想在问问,这句有什么问题?
<% IF RS2.EOF and 专集所属 <> zj THEN %>
专集所属是一个字段
ZJ是
?ZJ=**
变量Top
7 楼royitonade(龙伊)回复于 2004-08-01 09:06:52 得分 0
引用一下,我忽然发现你的冰不对啊
第一个本来就有问题.
你那样循环的结果是类似这样的
<form action=....>
<input name="管理名称"..>
<input name="管理名称"..>
<input name="管理名称"..>
..
</form>
表面看的确如你所说,但是实际。。。。。你自己看我在那里还多了一句
<input name="Ida" type="TEXT" value="<%=Rs("ID")%>">
而这句是获取唯一的ID号的,而更新数据是根据唯一的ID号来进行的,那怎么可能如你所说的呢?
Top
8 楼lamking(卖空间,做网页 QQ:628557)回复于 2004-08-01 09:16:37 得分 0
这样写当然可以,不过你接收这些参数的代码写起来就不能直接request.form("xx")这种了.
因为一大堆相同名字的表单项在一起,你可能能分清楚那个ida对应那几个表单项,但是程序并不容易区分,你在接收的时候可能还要去用集合了吧..Top
9 楼royitonade(龙伊)回复于 2004-08-01 09:25:07 得分 0
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
接收代码。。。。。。。。
我真的不知道该如何是好了:(郁闷啊Top
10 楼royitonade(龙伊)回复于 2004-08-01 09:27:32 得分 0
总部至于每条记录都用个FORM吧。这样也太~~~~~~~~~~~~~~有没办法啊。高手们Top
11 楼yexing(猪猪爱波波)回复于 2004-08-01 09:33:13 得分 0
没太仔细看,呵呵,希望下次贴程序把没用的东西那一句或者...代替了: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)才行,这个我拿不准
Top
12 楼yexing(猪猪爱波波)回复于 2004-08-01 09:35:51 得分 0
如果非得用第一种,给你个方法,把submit的value设成id的值,我记得submit的值是只传一个过去的。。。如果不对那也没办法了,呵呵Top
13 楼luoluonozuoluo(学不会就去死;因为怕死所以死都要学会)回复于 2004-08-01 09:36:31 得分 0
是你自己的算法没有写好。
第一个问题:将from 放在else与do while 之间;将/form 入在LOOP和END IF之间。
第二个问题:不能同时用两个SQL操作同一个表Top
14 楼royitonade(龙伊)回复于 2004-08-01 09:36:51 得分 0
第2个问题已经解决。。。。。。。。如果第一个问题真没有解决办法只好忍痛循环FORM了。。。。。。。。。。。唉~~~~~~~~~~~~如果成千上万条记录的话。那就是成千上万个FORM。。。。。。。。。。我靠~~~~~~~~~恐怖啊Top
15 楼royitonade(龙伊)回复于 2004-08-01 09:46:41 得分 0
引用:
是你自己的算法没有写好。
第一个问题:将from 放在else与do while 之间;将/form 入在LOOP和END IF之间。
第二个问题:不能同时用两个SQL操作同一个表
那还是无限循环FORMTop
16 楼luoluonozuoluo(学不会就去死;因为怕死所以死都要学会)回复于 2004-08-01 09:54:10 得分 0
第一个你去找个动网的bbs来看就明白啦。Top
17 楼pizixt(皮子)回复于 2004-08-01 09:58:56 得分 0
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 IfTop
18 楼royitonade(龙伊)回复于 2004-08-01 10:21:51 得分 0
楼上的。我不得不佩服你。。。。。很强很强。。。。。。还可以批量编辑。。。只按一个按牛!
能解释解释吗?毕竟这个你比我内行啊~~~~~成不啊Top
19 楼royitonade(龙伊)回复于 2004-08-01 10:22:42 得分 0
最好详细点。我等是菜鸟中的菜鸟啊Top
20 楼royitonade(龙伊)回复于 2004-08-01 10:26:30 得分 0
最好详细点。我等是菜鸟中的菜鸟啊Top
21 楼pizixt(皮子)回复于 2004-08-01 10:31:56 得分 0
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”逗号后是有一空格的Top
22 楼royitonade(龙伊)回复于 2004-08-01 10:41:28 得分 0
但是很不幸的告诉那位大侠。。。。。。只能修改第一条记录。。。。。第二条记录不能修改:(Top




