一个关于asp中多条记录提交的问题!!??? ( 积分: 50 )

  • 主题发起人 主题发起人 haoshan
  • 开始时间 开始时间
H

haoshan

Unregistered / Unconfirmed
GUEST, unregistred user!
做了一个关于多条记录提交的页面,但是在多条记录提交入库时遇到了如下问题:
当多条记录填写完整的时候,可以正常提交入库.但是若其中有一条记录不完整,该记录就不能提交到数据库里面,可是其他完整的记录仍能提交到数据库.
请问这是什么原因!有什么放方法可以在多条记录中有不完整记录的时候,所有记录都不提交.
代码如下:该页面最多可写10条记录.
n=0
for i=1 to 10
if request.form(&quot;s&quot;)(i)<>&quot;&quot;
and request.form(&quot;m&quot;)(i)<>&quot;&quot;
and request.form(&quot;y&quot;)(i)<>&quot;&quot;
then
n=n+1 //通过s,m,y判断记录条数
else
if request.form(&quot;s&quot;)(i)=&quot;&quot;
and request.form(&quot;m&quot;)(i)=&quot;&quot;
and request.form(&quot;y&quot;)(i)=&quot;&quot;
then

for j=1 to n
sql=&quot;select * from rktzd&quot;
rs.open sql,conn,1,3
rs.addnew
'rs(&quot;djh&quot;) = Request.Form(&quot;d1&quot;)
rs(&quot;supply&quot;)=request(&quot;g1&quot;)
rs(&quot;dgdw&quot;)=request(&quot;w1&quot;)
rs(&quot;zdrq&quot;)=request(&quot;r1&quot;)
rs(&quot;fplx&quot;)=request(&quot;f1&quot;)
rs(&quot;lb&quot;)=request(&quot;y&quot;)(j)
rs(&quot;spmc&quot;)=request(&quot;m&quot;)(j)
rs(&quot;ggxh&quot;)=request(&quot;x&quot;)(j)
rs(&quot;dgsl&quot;)=request(&quot;s&quot;)(j)
rs(&quot;hsdj&quot;)=request(&quot;d&quot;)(j)
rs(&quot;hsje&quot;)=request(&quot;j&quot;)(j)
rs(&quot;bz&quot;)=request(&quot;b&quot;)(j)
rs(&quot;zbr&quot;)=request(&quot;z1&quot;)
rs.update
rs.close
next
response.write&quot;保存成功!&quot;
set rs=nothing
set conn=nothing
exit for
else
%>
<script language =&quot;javascript&quot;>
alert(&quot;第<%=n+1%>条记录内容不完整&quot;);
history.go(-1);
</script>
<%
end if
end if
next
 
做了一个关于多条记录提交的页面,但是在多条记录提交入库时遇到了如下问题:
当多条记录填写完整的时候,可以正常提交入库.但是若其中有一条记录不完整,该记录就不能提交到数据库里面,可是其他完整的记录仍能提交到数据库.
请问这是什么原因!有什么放方法可以在多条记录中有不完整记录的时候,所有记录都不提交.
代码如下:该页面最多可写10条记录.
n=0
for i=1 to 10
if request.form(&quot;s&quot;)(i)<>&quot;&quot;
and request.form(&quot;m&quot;)(i)<>&quot;&quot;
and request.form(&quot;y&quot;)(i)<>&quot;&quot;
then
n=n+1 //通过s,m,y判断记录条数
else
if request.form(&quot;s&quot;)(i)=&quot;&quot;
and request.form(&quot;m&quot;)(i)=&quot;&quot;
and request.form(&quot;y&quot;)(i)=&quot;&quot;
then

for j=1 to n
sql=&quot;select * from rktzd&quot;
rs.open sql,conn,1,3
rs.addnew
'rs(&quot;djh&quot;) = Request.Form(&quot;d1&quot;)
rs(&quot;supply&quot;)=request(&quot;g1&quot;)
rs(&quot;dgdw&quot;)=request(&quot;w1&quot;)
rs(&quot;zdrq&quot;)=request(&quot;r1&quot;)
rs(&quot;fplx&quot;)=request(&quot;f1&quot;)
rs(&quot;lb&quot;)=request(&quot;y&quot;)(j)
rs(&quot;spmc&quot;)=request(&quot;m&quot;)(j)
rs(&quot;ggxh&quot;)=request(&quot;x&quot;)(j)
rs(&quot;dgsl&quot;)=request(&quot;s&quot;)(j)
rs(&quot;hsdj&quot;)=request(&quot;d&quot;)(j)
rs(&quot;hsje&quot;)=request(&quot;j&quot;)(j)
rs(&quot;bz&quot;)=request(&quot;b&quot;)(j)
rs(&quot;zbr&quot;)=request(&quot;z1&quot;)
rs.update
rs.close
next
response.write&quot;保存成功!&quot;
set rs=nothing
set conn=nothing
exit for
else
%>
<script language =&quot;javascript&quot;>
alert(&quot;第<%=n+1%>条记录内容不完整&quot;);
history.go(-1);
</script>
<%
end if
end if
next
 
修改如下:
______________________________________________________________________________
n=0
for i=1 to 10
if request.form(&quot;s&quot;)(i)<>&quot;&quot;
and request.form(&quot;m&quot;)(i)<>&quot;&quot;
and request.form(&quot;y&quot;)(i)<>&quot;&quot;
then
n=n+1 //通过s,m,y判断记录条数
end if
next
if n=10 then
sql=&quot;select * from rktzd&quot;
rs.open sql,conn,1,3
for j=1 to n
rs.addnew
'rs(&quot;djh&quot;) = Request.Form(&quot;d1&quot;)
rs(&quot;supply&quot;)=request(&quot;g1&quot;)
rs(&quot;dgdw&quot;)=request(&quot;w1&quot;)
rs(&quot;zdrq&quot;)=request(&quot;r1&quot;)
rs(&quot;fplx&quot;)=request(&quot;f1&quot;)
rs(&quot;lb&quot;)=request(&quot;y&quot;)(j)
rs(&quot;spmc&quot;)=request(&quot;m&quot;)(j)
rs(&quot;ggxh&quot;)=request(&quot;x&quot;)(j)
rs(&quot;dgsl&quot;)=request(&quot;s&quot;)(j)
rs(&quot;hsdj&quot;)=request(&quot;d&quot;)(j)
rs(&quot;hsje&quot;)=request(&quot;j&quot;)(j)
rs(&quot;bz&quot;)=request(&quot;b&quot;)(j)
rs(&quot;zbr&quot;)=request(&quot;z1&quot;)
rs.update
next
rs.close
response.write&quot;保存成功!&quot;
set rs=nothing
set conn=nothing
else
%>
<script language =&quot;javascript&quot;>
alert(&quot;第<%=n+1%>条记录内容不完整&quot;);
history.go(-1);
</script>
<%
end if
 
to smokingroom:
这个页面是可以最多写10条记录,可现在不是在写满10条后遇到这种情况.我现在遇到的问题是如果写了5条记录,其中如果第三条不完整,那么前三条就会提交,后两条不提交.
 
to smokingroom:
不好意思,弄错了,是前两条提交,后三条不提交.请问你有什么方法能解决这个问题吗?谢谢!!!
或者你对多条记录提交的问题有什么好的方法吗?
 
n=0
m=0 //m为完整的记录个数
for i=1 to 10
if request.form(&quot;s&quot;)(i)<>&quot;&quot;
or request.form(&quot;m&quot;)(i)<>&quot;&quot;
or request.form(&quot;y&quot;)(i)<>&quot;&quot;
then
n=n+1 //通过s,m,y判断记录条数
end if
if request.form(&quot;s&quot;)(i)<>&quot;&quot;
and request.form(&quot;m&quot;)(i)<>&quot;&quot;
and request.form(&quot;y&quot;)(i)<>&quot;&quot;
then
m=m+1 //资料完整的记录个数
else
exit for
end if
next
if m=n then
sql=&quot;select * from rktzd&quot;
rs.open sql,conn,1,3
for j=1 to m
rs.addnew
'rs(&quot;djh&quot;) = Request.Form(&quot;d1&quot;)
rs(&quot;supply&quot;)=request(&quot;g1&quot;)
rs(&quot;dgdw&quot;)=request(&quot;w1&quot;)
rs(&quot;zdrq&quot;)=request(&quot;r1&quot;)
rs(&quot;fplx&quot;)=request(&quot;f1&quot;)
rs(&quot;lb&quot;)=request(&quot;y&quot;)(j)
rs(&quot;spmc&quot;)=request(&quot;m&quot;)(j)
rs(&quot;ggxh&quot;)=request(&quot;x&quot;)(j)
rs(&quot;dgsl&quot;)=request(&quot;s&quot;)(j)
rs(&quot;hsdj&quot;)=request(&quot;d&quot;)(j)
rs(&quot;hsje&quot;)=request(&quot;j&quot;)(j)
rs(&quot;bz&quot;)=request(&quot;b&quot;)(j)
rs(&quot;zbr&quot;)=request(&quot;z1&quot;)
rs.update
next
rs.close
response.write&quot;保存成功!&quot;
set rs=nothing
set conn=nothing
else
%>
<script language =&quot;javascript&quot;>
alert(&quot;第<%=m+1%>条记录内容不完整&quot;);
history.go(-1);
</script>
<%
end if

另,也可以在数据库的字段中采用非空约束,然后采用批量更新,或者启用事务。
 
我试了一下,解决了.太谢谢你了.你真是太厉害了.
这是我为公司做的一个东西,往后可能还会遇到麻烦,还请您多指教.
谢谢!!!!
 
to smokingroom
如果想在任意条记录上点右键,弹出包含添加记录,修改记录,删除记录的菜单,请问怎么实现这个功能啊!
 
后退
顶部