关闭页面了,还会给数据库添加记录

来源:百度知道 编辑:UC知道 时间:2024/06/07 06:46:48
<%
s=request.form("s")
no=request.form("no")
subject=request.form("subject")
answer=request.form("answer")
set conn=server.createobject("adodb.connection")
conn.open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/team.mdb")
exec="select * from question"
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open exec,conn,1,3
session("qq")=0
do while not rs.eof
if rs("s")=s and rs("no")=no then
session("qq")=1
end if
rs.movenext
loop
if session("qq")=1 then
%>
<script language="javascript">
alert("wrong");
window.location.href="add.asp";
</script>
<%end if
rS.Addnew '添加新记录
rS("s")=s '赋值
rS("no")=no
rS("subject&quo

看不懂你写的什么语言
是ASP么,

一般而言,数据库操作要求要求使用事务封装,
典型做法是将持久化操作封装在类里面,然后调用类函数,

另外ASP里面最好不要有数据库操作,而是只负责页面显示

你的问题应该是因为页面请求发送出去了,
在服务器还没有返回之前客户段断开,
但是服务器仍然处理了请求...

如果设置为事务,则一旦客户段断开连接服务器的持久化操作就会回滚(rollback()函数),也就不会出现这种问题,呵呵