asp中检测到数据重复,如何让数据不写入,返回重新输入?

一个入库登记的页面,作了对单据编号是否一样的限制,都已经成功,但是如果单据编号输入一样的话,会提示单据编号重复然后,它一样录入数据库,如何阻止录入数据库?另外请好心人帮忙... 一个入库登记的页面,作了对单据编号是否一样的限制,都已经成功,但是如果单据编号输入一样的话,会提示单据编号重复然后,它一样录入数据库,如何阻止录入数据库?另外请好心人帮忙做一个可以查看数据库的简单文件,要求可以单条和批量删除数据。

下面是我自己的代码:
set rs=server.CreateObject("adodb.recordset")
dim sqlstr2,sqlstr1
sqlstr1="select * from rkdj0 where djbh='"+djbh+"'"
rs.open sqlstr1,conn,1,3
if rs.eof then
rs.close
sqlstr2 = "INSERT into rkdj0(djbh,rkrq,zdrbh,zdr,gysbh,gys,bz,hjsl,hjje) values ('"+djbh+"','"+rkrq+"','"+zdrbh+"','"+zdr+"','"+gysbh+"','"+gys+"','"+bz+"',"+hjsl+","+hjje+")"
rs.Open sqlstr2,conn,1,1
dz98="入库登记"
xgbh98="入库单号:"&djbh
%>
<!--#include file="dlrz.asp"-->
<%
set rs5=server.CreateObject("adodb.recordset")
rs5.Open "select * from djbh",conn,1,3
while not rs5.eof
set rs2=server.CreateObject("adodb.recordset")
rs2.open "update djbh set rkd1="&(rs5("rkd1")+1),conn,1,3
rs5.movenext
wend

response.write("<script>alert('单据保存成功');document.location='viewbgyp.asp'</script>")

else
response.write ("<script>alert('单据编号重复');window.history.go(-1);</script>")
response.end
end if
%>
上面的程序

dim bh(50),mc(50),gg(50),jldw(50),rksl(50),dj(50),je(50),bzz(50),sqlstr3(50)
for it=0 to tot-1 step 1
bhh="bh"+cstr(it)
mcc="mc"+cstr(it)
ggg="gg"+cstr(it)
jldww="jldw"+cstr(it)
rksll="rksl"+cstr(it)
djj="dj"+cstr(it)
jee="je"+cstr(it)
bzzz="bzz"+cstr(it)

bh(it)=request(bhh)
mc(it)=request(mcc)
gg(it)=request(ggg)
jldw(it)=request(jldww)
rksl(it)=request(rksll)
dj(it)=request(djj)
je(it)=request(jee)
bzz(it)=request(bzzz)
sqlstr3(it)="INSERT into rkdj1(djbh,bh,mc,gg,jldw,rksl,dj,je,bzz) values ('"+djbh+"','"+bh(it)+"','"+mc(it)+"','"+gg(it)+"','"+jldw(it)+"',"+rksl(it)+","+dj(it)+","+je(it)+",'"+bzz(it)+"')"

set rs0=server.CreateObject("adodb.recordset")
rs0.open "select * from bgyp where bh='"+bh(it)+"'",conn,1,1
nsl=rs0("kcsl")+rksl(it)
rs0.close
rs0.open "update bgyp set kcsl="&nsl&" where bh='"+bh(it)+"'",conn,1,3
rs0.open sqlstr3(it),conn,1,3
next
展开
 我来答
人参和醋不相逢9527
2011-09-06 · TA获得超过104个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:105万
展开全部
在你的插入语句前先加一个判断数据库是否存在记录,如存在,提示重复,不执行插入;反之执行插入语句

根据单据号查询
if 数据大于0 then
不执行
else
执行插入语句
end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hero_chinawind
2011-09-06 · TA获得超过313个赞
知道小有建树答主
回答量:611
采纳率:0%
帮助的人:350万
展开全部
response.write ("<script>alert('单据编号重复');window.history.go(-1);</script>")
如果判断出重复后,把你控件的值全部设置为空, 在前面脚本再判断,如果单号为空,不能继续。
追问
怎么设啊,这是我在网上下的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名_热心网友
2011-09-23 · TA获得超过719个赞
知道大有可为答主
回答量:3827
采纳率:0%
帮助的人:8356万
展开全部
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>将数据写入到指定的数据库5252w我爱网</title>
</head>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老刀正能量
2011-09-08 · TA获得超过2011个赞
知道大有可为答主
回答量:1487
采纳率:0%
帮助的人:1526万
展开全部
if rs.eof then
换成
if rs.eof and rs.bof then
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4312
2011-09-06 · TA获得超过1002个赞
知道小有建树答主
回答量:2076
采纳率:0%
帮助的人:869万
展开全部
虽然有点乱但没看出来问题
试试 rs.bof and rs.eof 吧
更多追问追答
追问
哪句啊 我就想知道 response.end 这个为什么没有运行呢
追答
response.write运行不运行都无所谓,因为你是先查询没有记录才添加,有记录就提示,那个insert动作是在没有记录的时候才有用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式