上海光明邨大酒店分店:ASP代码哪出错了?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 17:55:20
我提交后,会提示我"您的档案修改成功",但数据库中并没有真正的修改过来是怎么回事?

<!--#include file="checkuser.asp" -->
<!--#include file="conn1.asp" -->

<%
userid=trim(request("user"))
birthday=trim(request("birthday"))
invoice_head=trim(request("invoice_head"))
email1=trim(request("email1"))
contact=trim(request("contact"))
contactE_LastName=trim(request("contactE_LastName"))
contactE_FirstName=trim(request("contactE_FirstName"))
address=trim(request("address"))
addressE=trim(request("addressE"))
mail_add=trim(request("mail_add"))
zone=trim(request("zone"))
tel=trim(request("tel"))
telsp=trim(request("telsp"))
post=rtrim(request("post"))
category=trim(request("category"))
cate=trim(request("cate"))
handtel=trim(request("handtel"))
url2=trim(request("url2"))
email2=trim(request("email2"))
faxzone=trim(request("faxzone"))
fax=trim(request("fax"))
idate=trim(request("idate"))
%>
<script LANGUAGE="JavaScript">
function goHist(a)
{
history.go(a);
}
</script>

<% set rs=server.CreateObject ("adodb.recordset")
sql="select * from user where userid='"&request("user")&"'"
rs.open sql,conn,1,3
if not rs.eof then
response.write"<SCRIPT language=JavaScript>alert('该户名已经存在,请重新填写用户名。');"
response.write"javascript:history.go(-1)</SCRIPT>"
response.end
else
rs("userid")=userid
rs("birthday")=birthday
rs("invoice_head")=invoice_head
rs("email1")=email1
rs("contact")=contact
rs("contactE_LastName")=contactE_LastName
rs("contactE_FirstName")=contactE_FirstName
rs("address")=address
rs("addressE")=addressE
rs("mail_add")=mail_add
rs("zone")=zone
rs("tel")=tel
rs("telsp")=telsp
rs("post")=post
rs("category")=category
rs("cate")=cate
rs("handtel")=handtel
rs("url2")=url2
rs("email2")=email2
rs("faxzone")=faxzone
rs("fax")=fax
rs("idate")=idate
rs.update
%>
<script language=Javascript>
alert("您的档案修改成功!");
window.document.location.href='user.asp';
</script>
<%
end if
%>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

楼主:
response.write"<SCRIPT language=JavaScript>alert('该户名已经存在,请重新填写用户名。');"
response.write"javascript:history.go(-1)</SCRIPT>"
response.end
这一段,你不能在<script>里再加上:javascript
你直接用:
response.write "<script language='javascript'>alert('该户名已经存在,请重新填写用户名。');history.go(-1);</script>"
response.end
这样就行了。。

而你在执行完rs.update后,就已经更新好数据库中的记录了,但是你不应该在ASP代码中再直接用写客户端的JS代码,因为ASP是首先在服务器上执行,而JS代码是在客户端执行,也就是说首先要执行完所有的ASP代码才会执行你的JS代码的。因此你在rs.update后用以下这段:
<script language=Javascript>
alert("您的档案修改成功!");
window.document.location.href='user.asp';
</script>
是不行的。你应该直接在rs.update后用以下语句:
response.write "<script language='javascript'>alert('您的档案修改成功!');location.href='user.asp';</script>"
response.end

这样即可。

数据库更新会要稍等一会儿,你不要一执行完ASP就马上打开数据库查看,你过上一分钟再看就OK。
我仔细看过你以上代码,按照我上面所说的修改一下,应该就是完全正确的了,不会出现你所说的数据库没更新成功的。
我把你的代码重新整理了一下,如下:

<!--#include file="checkuser.asp" -->
<!--#include file="conn1.asp" -->

<%
userid=trim(request("user"))
birthday=trim(request("birthday"))
invoice_head=trim(request("invoice_head"))
email1=trim(request("email1"))
contact=trim(request("contact"))
contactE_LastName=trim(request("contactE_LastName"))
contactE_FirstName=trim(request("contactE_FirstName"))
address=trim(request("address"))
addressE=trim(request("addressE"))
mail_add=trim(request("mail_add"))
zone=trim(request("zone"))
tel=trim(request("tel"))
telsp=trim(request("telsp"))
post=rtrim(request("post"))
category=trim(request("category"))
cate=trim(request("cate"))
handtel=trim(request("handtel"))
url2=trim(request("url2"))
email2=trim(request("email2"))
faxzone=trim(request("faxzone"))
fax=trim(request("fax"))
idate=trim(request("idate"))

set rs=server.CreateObject ("adodb.recordset")
sql="select * from user where userid='"&request("user")&"'"
rs.open sql,conn,1,3
if not rs.eof then
response.write"<SCRIPT language='JavaScript'>alert('该户名已经存在,请重新填写用户名。');history.go(-1);</SCRIPT>"
response.end
else
rs("userid")=userid
rs("birthday")=birthday
rs("invoice_head")=invoice_head
rs("email1")=email1
rs("contact")=contact
rs("contactE_LastName")=contactE_LastName
rs("contactE_FirstName")=contactE_FirstName
rs("address")=address
rs("addressE")=addressE
rs("mail_add")=mail_add
rs("zone")=zone
rs("tel")=tel
rs("telsp")=telsp
rs("post")=post
rs("category")=category
rs("cate")=cate
rs("handtel")=handtel
rs("url2")=url2
rs("email2")=email2
rs("faxzone")=faxzone
rs("fax")=fax
rs("idate")=idate
rs.update
response.write "<script language='javascript'>alert('您的档案修改成功!');location.href='user.asp';</script>"
response.end
end if

rs.close
set rs=nothing
conn.close
set conn=nothing
%>

把以上代码直接替换你原先的代码,再执行一下。