注册 登录
编程论坛 ASP技术论坛

修改代码的错误在哪里????

peiyanjian 发布于 2008-05-21 20:25, 2103 次点击
点击修改之后页面就没反映了.地址显示转到了处理页面了....


这[color=Blue][bo][un]是调出数据的页面.....[/[/un][/bo]color]
update_stu_xx.asp
<%
set conn=server.createobject("adodb.connection")
DSNtemp = "Driver={Microsoft Access Driver (*.mdb)};"
DSNtemp = DSNtemp & "DBQ=" & server.mappath("/swd/date/student.mdb")
conn.open DSNtemp
xuehao = request.querystring("id")
stext = "select * from stu where id=" &xuehao
set rs = conn.execute(stext)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>个人情况</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>?</p>
<div align="center">
  <table width="100%" border="1" cellpadding="0" cellspacing="0" bgcolor="#82BEF6">
    <!--DWLayoutTable-->
    <tr>
      <td height="50"  colspan="2"  valign="top"><div align="center"><strong><font color="#000000" size="7" face="方正舒体, 方正姚体, ">个人情况登记表</font></strong></div></td>
    </tr>
    <tr>
      <td width="2" height="4"></td>
      <td width="985"></td>
    </tr>
    <tr>
      <td height="295"></td>
      <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
          <!--DWLayoutTable-->
          <form id="form1" name="form1" method="post" action="update_stu_xx_save.asp?id=<%=rs("id") %>">
          <tr>
            <td width="518" height="227" valign="top"><table width="100%" border="1" cellpadding="0" cellspacing="0">
                <!--DWLayoutTable-->
                <tr>
                  <td width="100" height="21">
<div align="center"><strong>姓名</strong></div></td>
                  <td width="105" ><div align="center">
                     <input type="text" name="xingming" size="15" value="<%=(RS.Fields.Item("xingming").Value)%>">
                    </div></td>
                  <td width="190"><div align="center"><strong>担任职务</strong></div></td>
                  <td colspan="3" valign="top" ><div align="center">
                      <input type="text" name="zhiwu" size="15" value="<%=(RS.Fields.Item("zhiwu").Value)%>">
                    </div></td>
                </tr>
                <tr>
                  <td height="20"> <div align="center"><strong>出生年月</strong></div></td>
                  <td><div align="center">
                       <input type="text" name="chushengnianyue" size="15" value="<%=(RS.Fields.Item("chushengnianyue").Value)%>">
                    </div></td>
                  <td><div align="center"><strong>入伍时间</strong> </div></td>
                  <td width="105" ><div align="center">
                       <input type="text" name="ruwushijian" size="15" value="<%=(RS.Fields.Item("ruwushijian").Value)%>">
                    </div></td>
                  <td width="100" ><div align="center"><strong>政治面貌</strong> </div></td>
                  <td width="111" ><div align="center">
                       <input type="text" name="zhengzhimianmao" size="15" value="<%=(RS.Fields.Item("zhengzhimianmao").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>民族</strong></div></td>
                  <td ><div align="center">
                       <input type="text" name="minzu" size="15" value="<%=(RS.Fields.Item("minzu").Value)%>">
                    </div></td>
                  <td ><div align="center"><strong>入伍地区</strong> </div></td>
                  <td ><div align="center">
                       <input type="text" name="ruwudiqu" size="15" value="<%=(RS.Fields.Item("ruwudiqu").Value)%>">
                    </div></td>
                  <td ><div align="center"><strong>党团时间</strong> </div></td>
                  <td ><div align="center">
                     <input type="text" name="dangtuanshijian" size="15" value="<%=(RS.Fields.Item("dangtuanshijian").Value)%>">
                    </div></td>
                <tr>
                  <td height="25" valign="top"><div align="center"><strong>文化程度</strong></div></td>
                  <td><div align="center">
                       <input type="text" name="wenhuachengdu" size="15" value="<%=(RS.Fields.Item("wenhuachengdu").Value)%>">
                    </div></td>
                  <td ><div align="center"><strong>籍贯</strong> </div></td>
                  <td ><div align="center">
                       <input type="text" name="jiguan" size="15" value="<%=(RS.Fields.Item("jiguan").Value)%>">
                    </div></td>
                  <td ><div align="center"><strong>邮政编码</strong> </div></td>
                  <td ><div align="center">
                       <input type="text" name="youzhengbianma" size="15" value="<%=(RS.Fields.Item("youzhengbianma").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>班级</strong></div></td>
                  <td><div align="center">
                       <input type="text" name="banji" size="15" value="<%=(RS.Fields.Item("banji").Value)%>">
                    </div></td>
                  <td ><div align="center"><strong>学号</strong> </div></td>
                  <td ><div align="center">
<input type="text" name="xuehao" size="15" value="<%=(RS.Fields.Item("xuehao").Value)%>">
                    </div></td>
                  <td><div align="center"><strong>电话号码</strong> </div></td>
                  <td ><div align="center">
                       <input type="text" name="lianxidianhua" size="15" value="<%=(RS.Fields.Item("lianxidianhua").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"> <div align="center"><strong>家庭住址</strong></div></td>
                  <td colspan="5" valign="top" ><div align="center">
                       <input type="text" name="jiatingzhuzhi" size="60" value="<%=(RS.Fields.Item("jiatingzhuzhi").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>学习情况</strong></div></td>
                  <td colspan="5" valign="top" ><div align="center">
                       <input type="text" name="xuexiqingkuang" size="60" value="<%=(RS.Fields.Item("xuexiqingkuang").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>个人奖励</strong></div></td>
                  <td colspan="5" valign="top" ><div align="center">
                     <input type="text" name="gerenjiangli" size="60" value="<%=(RS.Fields.Item("gerenjiangli").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>违纪情况</strong></div></td>
                  <td colspan="5" valign="top" ><div align="center">
                       <input type="text" name="weijiqingkuang" size="60" value="<%=(RS.Fields.Item("weijiqingkuang").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>个人评定</strong></div></td>
                  <td colspan="5" valign="top" ><div align="center">
                      <input type="text" name="gerenpingding" size="60" value="<%=(RS.Fields.Item("gerenpingding").Value)%>">
                    </div></td>
                <tr>
                  <td height="20"><div align="center"><strong>支部评定</strong></div></td>
                  <td colspan="5" valign="top" ><div align="center">
                      <input type="text" name="zhibupingding" size="60" value="<%=(RS.Fields.Item("zhibupingding").Value)%>">
                    </div></td>
              </table></td>
            <td width="448" border="1" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
                <!--DWLayoutTable-->
                <tr>
                  <td width="447" border="1" height="264" valign="top" >
                    <%if rs("zhaopian")<>"" then%>
                    <p><a href="<%=rs("zhaopian")%>" target="_blank">
                      <%end if%>
                      <img src="<%if rs("zhaopian")="" then%>images/tupian.gif<%end if%><%if rs("zhaopian")<>"" then%><%=rs("zhaopian")%><%end if%>" name="img" width="443" height="277" border="0" id="img" />
                    </a> </p>
                    </td>
                </tr>
                <tr><td><input type="button" name="Submit232" value="相片上传" onClick="javascript:window.open('upload123.asp','窗口名称', 'height=300,width=500,status=no,toolbar=no,menubar=no,location=no,scrollbars=no');" style="width:60;background-color: #FFCC66; color: #000000; border: 1 solid #000000" class="button" /></td></tr>
        </table></td>
          </tr>
          <tr>
            <td height="37"><div align="center">
               
                  <input type="submit" name="Submit" value="修改">
               
              </div></td>
            <td></td>
          </tr></form>
          <tr>
            <td height="20"></td>
            <td></td>
            <td></td>
          </tr>
        </table></td>
      </tr>
  </table>
</div>
</body>
</html>

[color=Blue][bo][un]这是处理修改数据的页面.[/[/un][/bo]color]
update_stu_xx_save.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn_fj16.asp" -->
<!--#include file="admin_qx.asp" -->
<% issjcz %>
<%
if request("action")="edit" then
xingming=trim(request("xingming"))
xuehao=trim(request("xuehao"))
zhiwu=trim(request("zhiwu"))
banji=trim(request("banji"))
chushengnianyue=trim(request("chushengnianyue"))'-----------
zhaopian=session("filepath")
minzu=trim(request("minzu"))
zhengzhimianmao=trim(request("zhengzhimianmao"))
jiguan=trim(request("jiguan"))
dangtuanshijian=trim(request("dangtuanshijian"))
wenhuachengdu=trim(request("wenhuachengdu"))
ruwudiqu=trim(request("ruwudiqu"))
youzhengbianma=trim(request("youzhengbianma"))
ruwushijian=trim(request("ruwushijian"))
lianxidianhua=trim(request("lianxidianhua"))
jiatingzhuzhi=trim(request("jiatingzhuzhi"))
xuexiqingkuang=trim(request("xuexiqingkuang"))
gerenjiangli=trim(request("gerenjiangli"))
weijiqingkuang=trim(request("weijiqingkuang"))
gerenpingding=trim(request("gerenpingding"))
zhibupingding=trim(request("zhibupingding"))
sql="select * from stu"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,3
'rs.addnew
rs("xingming")=xingming
rs("xuehao")=xuehao
rs("zhiwu")=zhiwu
rs("banji")=banji
rs("chushengnianyue")=chushengnianyue
rs("zhaopian")=zhaopian
rs("minzu")=minzu
rs("zhengzhimianmao")=zhengzhimianmao
rs("jiguan")=jiguan
rs("dangtuanshijian")=dangtuanshijian
rs("wenhuachengdu")=wenhuachengdu
rs("ruwudiqu")=ruwudiqu
rs("youzhengbianma")=youzhengbianma
rs("ruwushijian")=ruwushijian
rs("lianxidianhua")=lianxidianhua
rs("jiatingzhuzhi")=jiatingzhuzhi
rs("xuexiqingkuang")=xuexiqingkuang
rs("gerenjiangli")=gerenjiangli
rs("weijiqingkuang")=weijiqingkuang
rs("gerenpingding")=gerenpingding
rs("zhibupingding")=zhibupingding
rs.update
response.Write "<script language=javascript>{window.alert('学员记录添加成功!请点击“确定”继续添加   ');window.location.href='xy_add.asp';}</script>"
setrs(rs)
end if
%>

[[it] 本帖最后由 peiyanjian 于 2008-5-21 20:26 编辑 [/it]]
13 回复
#2
multiple19022008-05-21 20:27
一点注释都没有也不说你了,一堆代码往上一放就是你的能耐?

建议你动态跟踪一下
#3
peiyanjian2008-05-21 20:37
楼上,我是菜鸟一个呀.什么也不会,怎么动态跟踪呀??
#4
multiple19022008-05-21 20:42
if request("action")="edit" then

你第一个页面有没有写入这个内容为edit的action信息?
#5
peiyanjian2008-05-21 20:43
恩.怎么修改一下呢??
#6
peiyanjian2008-05-21 22:05
if request("action")="edit" then
把这句删了.问题解决了.可是出现了新情况呀.修改之后都保存在第一行数据里面了.
也就是不管修改那个ID的数据,结果是把这个页面调出来的数据全部覆盖在了数第一行数据里了........

怎么办呀??
#7
hxfly2008-05-21 22:30
sql="select * from stu"
这句话有没有明确修改的是哪行
加条件判断出你要修改的那行
比如sql="select * from stu &request("id")这样的条件限制
#8
hxfly2008-05-21 22:30
确保你查询到的结果就是你想修改的数据
#9
peiyanjian2008-05-21 23:14
可是调出来的数据就是我想修改的那行数据呀....
#10
hxfly2008-05-21 23:25
sql="select * from stu"
这句话的执行结果如果就是你想要的执行结果的话,更新的就是SELECT的结果,应该没有错的

你调出来的数据是stext = "select * from stu where id=" &xuehao这个的执行结果。明显和上面的SQL语句不一样
#11
hxfly2008-05-21 23:31
把这个stext = "select * from stu where id=" &xuehao里用到的xuehao传过去
然后把sql="select * from stu"换成"select * from stu where id=" &xuehao

我再指出一下你这个程序的一个小小的逻辑问题:再修改数据库之前判断下修改后的数据是否很存在的数据重复。因为如果一个人学号是555的话,那有另外一个人,学号原来是444,但他通过修改,把学号修改成555了,那就有两个555存在了。而学号应该是不能重复的,对吧?
#12
peiyanjian2008-05-22 17:11
是的,谢谢指教.!!
#13
xiyangyu2008-05-22 17:23
建议你还是一点一点测试吧,你这么一堆代码别人很难一下看明白的
#14
冰雪飘飘2008-05-25 21:54
有关修改问题
修改的时候要提示修改成功信息,但是数据库中的主键是不能重复的,如果我修改主键的时候不小心修改为已存在的主键时,即将会有两个相同的主键,怎样提示修改错误呢?如下程序,数据库中有一表user,表中有字段user_name、user_id等字段,其中字段user_id是主键。可以修改user_id内容,但是不能有重复,如果修改过程有重复,怎样可以显示修改信息错误呢?请各位人士帮帮忙,在此先谢过!
<%@ LANGUAGE = VBScript %>
<!--#include file="conn.asp"-->
<%
 
        lid=request("id")
        set rsU=server.createobject("adodb.recordset")
        sqltext="select * from [user] where id=cint('"&lid&"')"
        rsU.open sqltext,conn,3,3
     
  If request.Form("action")="确认修改" then
        
        rsU("user_name")=request.form("user_name")
        rsU("user_id")=request.form("user_id")
        rsU("stage")=request.form("stage")
        rsU("type")=request.form("type")
        rsU("source")=request.form("source")
        rsU("contactor")=request.form("contactor")
        rsU("telephone")=request.form("telephone")
        rsU("address")=request.form("address")
        rsU("email")=request.form("email")
        rsU("network")=request.form("network")
        rsU.update
   rsU.close
   set rsU=nothing
        response.write "<script language=JavaScript>{window.alert('修改信息成功!');opener.parent.right.location.href='UserInfo.asp';window.close();}</script>"    
        response.end  
      
End If
%>
1