CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

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

楼主royitonade(龙伊)2004-08-01 06:13:04 在 Web 开发 / ASP 提问

看了以后我想你也找不出原因~~~~~~~~  
   
  <%   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

相关问题

  • 超级奇怪的现象!
  • 超级奇怪的现象
  • 超级奇怪的问题
  • 超级奇怪问题
  • 奇怪的超级联接
  • 奇怪!原因何在!
  • 超级奇怪的winxp的启动问题。真的很奇怪。
  • QQ的超级奇怪问题!
  • IIS奇怪问题,超级郁闷。。。。。
  • 超级奇怪的alert问题!(150)

关键词

  • 管理
  • 循环
  • adminj
  • adminp
  • 问题
  • 管理列表
  • maxlength
  • ida
  • zj
  • 表单项

得分解答快速导航

  • 帖主:royitonade

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo