在ASP中向ACCESS数据库中插入数据总是出现两个一样的记录

数据库设计如下:数据表:T1字段:ID自动编号名称文本(20)供应商文本(50)---------------------------------------------... 数据库设计如下:
数据表:T1
字段:ID 自动编号
名称 文本(20)
供应商 文本(50)
-----------------------------------------------------------
我用ASP编写网页,在"zzzzzz.asp"中通过文字域录入数据,然后提交给"insert.asp"

下面这是zzzzzz.asp的部分代码
[zzzzzz.asp]
...
......
<form id="f1" name="f1" method="post" action="Insert.asp">
<tr>
<td align="center" height="25">
名称:<input name="MC" type="text" class="STYLE1" size="50" />
</td>
</tr>
<tr>
<td align="center" height="25">
供应商:<input name="GYS" type="text" class="STYLE1" size="47" />
</td>
</tr>
<tr>
<td align="center" height="40">
<input type="image" name="x1" width="102" height="30" src="Pictures/Save.jpg" onclick="document.f1.submit()">
</td>
</tr>
</form>
......
...

-----------------------------------------------------------
下面这是insert.asp的代码

[insert.asp]
<%
dim conn
dim strconn
dim mysql
Set conn = Server.CreateObject("adodb.connection")
strconn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Database.mdb")
conn.open strconn
mysql = "insert into T1(名称, 供应商) values('"+request("MC")+"','"+request("GYS")+"')"
conn.execute(mysql)
conn.close
set conn = nothing

'response.redirect"zzzzzz.asp" '返回zzzzzz.asp
'response.end
%>

在“zzzzzz.asp”中输入“名称”和“供应商”后点击提交,“insert.asp”执行成功后,我打开数据库发现插入了两条一样的记录,试了几次都是这样,请问这是怎么一回事呢?

我用 response.Write(mysql) 输出SQL语句,又看不出问题,语句很简单,当然不会有问题,我真是白思不得其解。
更有一点奇怪的地方是试了n多次后,居然有一两次执行正常,只插入一条记录,我无语...
展开
 我来答
loveid
2010-01-16 · TA获得超过358个赞
知道小有建树答主
回答量:447
采纳率:100%
帮助的人:514万
展开全部
原因很简单
出在这句上
<input type="image" name="x1" width="102" height="30" src="Pictures/Save.jpg" onclick="document.f1.submit()">
INPUT本身当做提交按钮交提了一次,onclick="document.f1.submit()"又提交了一次,这句去掉就OK了。至于偶尔的一次提交,说明数据库还没来的急处理同时两次的提交。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式