标题:[求助]向数据库输入内容的奇怪问题?
只看楼主
qqsheji
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2006-8-3
 问题点数:0 回复次数:10 
[求助]向数据库输入内容的奇怪问题?

<!--#include file="inc/conn.asp"-->
<meta http-equiv="pragma" content="no-cache"> <%
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from data where bianhao='"&request.Form("bianhao")&"'"
rs1.open sql1,conn,1,1
do while not rs1.eof and rs1.bof
if not rs1.eof and not rs1.bof then
response.write("<SCRIPT language=JavaScript>alert('编号已存在,请重新输入');history.back();</SCRIPT>")
response.end
end if
rs1.movenext
loop
set rs1=nothing

set rs=server.CreateObject("adodb.recordset")
sql="select * from data"
rs.open sql,conn,1,3
rs.addnew


rs("bianhao")=request.Form("bianhao")

rs.update
rs.close
set rs=nothing

response.Redirect("list.asp")
%>

为什么每次都会出现“编号已存在,请重新输入”这句话??

搜索更多相关主题的帖子: where include content 数据库 
2006-08-09 12:45
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
得分:0 
以下是引用qqsheji在2006-8-9 12:45:44的发言:

<!--#include file="inc/conn.asp"-->
<meta http-equiv="pragma" content="no-cache"> <%
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from data where bianhao='"&request.Form("bianhao")&"'"
rs1.open sql1,conn,1,1
do while not rs1.eof and rs1.bof
if not rs1.eof and not rs1.bof then
response.write("<SCRIPT language=JavaScript>alert('编号已存在,请重新输入');history.back();</SCRIPT>")
response.end
end if
rs1.movenext
loop
set rs1=nothing

set rs=server.CreateObject("adodb.recordset")
sql="select * from data"
rs.open sql,conn,1,3
rs.addnew


rs("bianhao")=request.Form("bianhao")

rs.update
rs.close
set rs=nothing

response.Redirect("list.asp")
%>

为什么每次都会出现“编号已存在,请重新输入”这句话??

先不说什么其他的,你觉不觉得你的代码有点逻辑上的错误?
而且我记得,你上次有发过这个问题的贴,也有人帮你解答过了.自己后来有没有认真思考过人家的回答?


http://www./
2006-08-09 12:50
wyg4859
Rank: 2
等 级:新手上路
威 望:4
帖 子:883
专家分:0
注 册:2006-8-2
得分:0 
do while not(rs1.eof and rs1.bof)

http://www.找到组织!找到党!
2006-08-09 12:52
qqsheji
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2006-8-3
得分:0 

思考过啊 但是还是不行啊 代码没有错误啊


2006-08-09 12:54
qqsheji
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2006-8-3
得分:0 

如果这样改的话 没次写如数据库的时候就写进去了2次 ,而且相同编号的也能写进去啊?


2006-08-09 12:57
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
得分:0 
那好你说没有错,我现在来问你一下:

以下是引用qqsheji在2006-8-9 12:45:44的发言:

<!--#include file="inc/conn.asp"-->
<meta http-equiv="pragma" content="no-cache"> <%
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from data where bianhao='"&request.Form("bianhao")&"'" '这句是什么意思?是查询编号为request.Form("bianhao")的记录是否?
rs1.open sql1,conn,1,1
do while not rs1.eof and rs1.bof '这里的循环是用来做什么的?
if not rs1.eof and not rs1.bof then
response.write("<SCRIPT language=JavaScript>alert('编号已存在,请重新输入');history.back();</SCRIPT>")
response.end
end if
rs1.movenext
loop
set rs1=nothing

set rs=server.CreateObject("adodb.recordset")
sql="select * from data"
rs.open sql,conn,1,3
rs.addnew


rs("bianhao")=request.Form("bianhao")

rs.update
rs.close
set rs=nothing

response.Redirect("list.asp")
%>

为什么每次都会出现“编号已存在,请重新输入”这句话??

如果说点到这,你还是不明白的话,我想我真是帮你不到了,还是等其他高手来帮你吧,真是不好意思~~
帮你不到不是因为你的原因,是因为我不知道还应该怎么帮你,这是我的错!

补充:
还有就是.下次希望你发贴的时候,尽量写到一层楼中,不要一层楼写一句

[此贴子已经被作者于2006-8-9 13:02:14编辑过]


http://www./
2006-08-09 13:00
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
得分:0 
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from data where bianhao='"&request.Form("bianhao")&"'"
rs1.open sql1,conn,1,1
if not rs1.eof or not rs1.bof then
response.write("<SCRIPT language=JavaScript>alert('编号已存在,请重新输入');history.back();</SCRIPT>")
response.end
end If
Set rs1=nothing
else
set rs=server.CreateObject("adodb.recordset")
sql="select * from data"
rs.open sql,conn,1,3
rs.addnew
rs("bianhao")=request.Form("bianhao")
rs.update
rs.close
set rs=nothing
response.Redirect("list.asp")
楼主换成这段代码试试啊!

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-08-09 13:05
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
得分:0 

对了!把那个end if
放在下面去


程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-08-09 13:08
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
得分:0 
以下是引用gdk2006在2006-8-9 13:05:38的发言:
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from data where bianhao='"&request.Form("bianhao")&"'"
rs1.open sql1,conn,1,1
if not rs1.eof or not rs1.bof then
response.write("<SCRIPT language=JavaScript>alert('编号已存在,请重新输入');history.back();</SCRIPT>")
response.end
end If
Set rs1=nothing
else 这个怎么来的?
set rs=server.CreateObject("adodb.recordset")
sql="select * from data"
rs.open sql,conn,1,3
rs.addnew
rs("bianhao")=request.Form("bianhao")
rs.update
rs.close
set rs=nothing
response.Redirect("list.asp")
楼主换成这段代码试试啊!


http://www./
2006-08-09 13:08
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
得分:0 
else
是说如果数据库中没有找到我当前的编号然后就把这个编号写入数据啊!

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-08-09 13:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-82975-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.933886 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved