不知是我的bug还是sql server的bug

answermyquestion 2003-09-12 04:44:06
我建了一个数据表,里面有一个id字段,设为自增的关键字段,

但是我用asp插入一条记录后,发现数据库中有两个同样的记录,但是并不是每次都

这样,当我连绪插入十条记录其中就有8条记录是重复的即变成了16条。

不知哪位老兄还遇见过这种问题?
...全文
69 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
不老书生 2003-09-16
  • 打赏
  • 举报
回复
看看表单页,一定form被提交了两次!

看看是不是用的<type=submit onclick="javascript:sub();"

然后你在sub函数里又document.form.submit了一次!!!
肯定的是你的表单被提交两次!
answermyquestion 2003-09-16
  • 打赏
  • 举报
回复
放分了
ryuginka 2003-09-15
  • 打赏
  • 举报
回复
应该是程序编写的问题。我就没有遇到过。当然这种自增的字段一般在大型项目里是基本上不用的。
BainStudio 2003-09-15
  • 打赏
  • 举报
回复
你看一下是否你的提交页面中有图片<img .设置的src值为#.如果有请更改成其他的,应该就可以了.
FKing 2003-09-15
  • 打赏
  • 举报
回复
我遇到过,不过后来不知道怎么就好了!
富察咪咪 2003-09-15
  • 打赏
  • 举报
回复
数据被提交了两次,检查客户端脚本
Brookes 2003-09-15
  • 打赏
  • 举报
回复
sSqlAdd=GenerateUpdateSqlString(News,sFieldsName,sFieldsValue,sCondition)
把这句的结果和详细情况贴出来看看
alan815 2003-09-15
  • 打赏
  • 举报
回复
没遇到到,不过实在不行的话用触发器吧,碰到一样的删掉。
61 2003-09-15
  • 打赏
  • 举报
回复
你的游览器版本是不是IE6.0?如果是你在提交页面去掉form1.submit()语句。
answermyquestion 2003-09-15
  • 打赏
  • 举报
回复
可是问题还是依旧,真的无语
BainStudio 2003-09-15
  • 打赏
  • 举报
回复
不好意思.发错地方了.
BainStudio 2003-09-15
  • 打赏
  • 举报
回复
Public Function HTMLencode(FString)
FString = Replace(FString, ">", ">")
FString = Replace(FString, "<", "<")
FString = Replace(FString, CHR(32), " ")
FString = Replace(FString, CHR(9), " ")
FString = Replace(FString, CHR(34), """)
FString = Replace(FString, CHR(39), "'")
FString = Replace(FString, CHR(13), "")
FString = Replace(FString, CHR(10) & CHR(10), "</P><P> ")
FString = Replace(FString, CHR(10), "<BR> ")
HTMLencode = FString
End Function
answermyquestion 2003-09-15
  • 打赏
  • 举报
回复
TO: Brookes(边走边唱) ( )上面是我写的一个函数,其返回的结果就是插入到数据库的sql语句
其代码如下:
'***************************生成更改数据库中部分字段的SQL语句**************************
'*******
'******* 函数定义:
'******* GenerateUpdateSqlString(sTableName,sFieldsName,sFieldsValue,sCondition)
'*******
'******* 该函数调用的其它函数名:无
'*******
'*******
'******* 传入参数名 参数类型 代表意义简述 是否充许为空
'******* sTableName string 需要插入数据的表 否
'******* sFieldsName string 由,号分隔的字段名 否
'******* sFieldsValue string 由,号分隔的值 否
'******* sCondition string 更新数据的条件 否
'*******
'******* 返回值 返回类型 代表意义
'******* 正常值 string 生成更新数据库的sql语句
'******* -1 integer 传入参数错误(如不能为空的却是空值)
'******* -2 integer 字段名和字段值的个数不相符
'*******
'******* 其它备注:
'******* 1、多个字段、多个值之间用@_@即sTextSeperate分隔
'******* 2、调用本函数时如果sFieldsValue中是字符串则要加上引号
'*******
'*************************************************************************************
'
function GenerateUpdateSqlString(sTableName,sFieldsName,sFieldsValue,sCondition)
iReturnValue=0
if sTableName="" or sFieldsName="" or sCondition="" then
iReturnValue=-1
else
'判断字段个数与值是否对应
arrFieldsValue=split(sFieldsValue,sTextSeparator,-1,1)
arrFieldsName=split(sFieldsName,sTextSeparator,-1,1)
if UBound(arrFieldsName)=UBound(arrFieldsValue) then
sSqlUpdate="update " & sTableName & " set "
for i=0 to UBound(arrFieldsName)-1
sSqlUpdate=sSqlUpdate & arrFieldsName(i) & "=" & arrFieldsValue(i) & ","
next
sSqlUpdate=sSqlUpdate & arrFieldsName(i) & "=" & arrFieldsValue(i)
sSqlUpdate=sSqlUpdate & " where " & sCondition
iReturnValue=sSqlUpdate
else
iReturnValue=-2
end if

end if
GenerateUpdateSqlString=iReturnValue

end function
dgm8 2003-09-12
  • 打赏
  • 举报
回复
数据插入后立即重定向网页,
dgm8 2003-09-12
  • 打赏
  • 举报
回复
也遇到过,但是我传到服务器上就没有问题了.估计是盗版系统问题
xiaobird1 2003-09-12
  • 打赏
  • 举报
回复
遇到过。是突然出现的,解决不了,最后把原来代码bak重新覆盖,没事了,重新编写后,也没事了。

应该是代码编写的毛病。不过应该算是比较特殊的那种了。

不知道解决办法,gz。
answermyquestion 2003-09-12
  • 打赏
  • 举报
回复
以下是写的一个测试页面

<!--#include virtual="../../../visionsys/common/pageconst.asp"-->
<!--#include virtual="../../../visionsys/common/dbtable.asp"-->
<!--#include virtual="../../../visionsys/common/conntodb.asp"-->
<!--#include virtual="../../../visionsys/common/dbconst.asp"-->
<!--#include virtual="../../../visionsys/common/echohtml.asp"-->
<!--#include virtual="../../../visionsys/common/commonfunc.asp"-->
<%
'本页面实现将用户端输入的与新闻有关的数据保存到数据库
'GET变量名 代表意义简要说明 是否充许为空
'action 是新增还是修改 是
'id 如果是修改则指定id号 上面为空时可以为空

'POST变量名 代表意义简要说明 是否充许为空
'NewsTitle 新闻标题 否
'NewsContent 新闻内容 否
'NewsType 新闻类型 是(默认值:1)
'NewsImages 新闻图片 是
'NewsImages 新闻Flash 是

bAction=Request.QueryString("action")
bID=Request.QueryString("id")
bNewsTitle=Request.Form("NewsTitle")
bNewsType=Request.Form("NewsType")
bNewsContent=Request.Form("NewsContent")
sSessUserName=SESSION("SessUserName")
dBookInDate=date() & " " & time()
blCntnChk=true
cSeperatorTemp=","
if bNewsTitle="" then
blCntnChk=false
end if
if bNewsType="" then
blCntnChk=false
end if
if bNewsContent="" then
blCntnChk=false
end if
if not blCntnChk then
sScript=GenerateScriptAlert("带*号的内容为必填项,请检查后重试!","history.back()")
Response.Write(sScript)
else
'如果是更新则使用不同的分隔符
if bAction<>"" then
cSeperatorTemp=sTextSeparator
end if
sFieldsName=NewsTitle & cSeperatorTemp & NewsType & cSeperatorTemp & NewsContent & _
cSeperatorTemp & NewsPubUser
sFieldsName=sFieldsName & cSeperatorTemp & NewsPubDate
sFieldsValue="'" & bNewsTitle & "'" & cSeperatorTemp & bNewsType & cSeperatorTemp & _
"'" & bNewsContent & "'"
sFieldsValue=sFieldsValue & cSeperatorTemp & "'" & SessUserName & "'" & cSeperatorTemp & _
"'" & dBookInDate & "'"
'如果是修改则生成不同的语句
if bAction<>""then
if bID<>"" then
sCondition=ID & "=" & bID
sSqlAdd=GenerateUpdateSqlString(News,sFieldsName,sFieldsValue,sCondition)
else
sSqlAdd=-1
sScript=GenerateScriptAlert("修改数据的id号不能为空!","history.back()")
Response.Write(sScript)
end if
else
sSqlAdd=GenerateInsertSqlString(News,sFieldsName,sFieldsValue)
end if
if sSqlAdd<>"" and sSqlAdd<>-1 then
set conn=Server.CreateObject("ADODB.Connection")
conn.open Application("DBConn")
iAddFlag=0
conn.execute sSqlAdd,iAddFlag
if iAddFlag>0 then
sScript=GenerateScriptAlert("已经成功保存该新闻","history.back()")
Response.Write(sScript)
else
sScript=GenerateScriptAlert("保存新闻过程中出现问题,请返回重试!","history.back()")
Response.Write(sScript)
end if
set conn=nothing
else
sScript=GenerateScriptAlert("保存新闻过程中出现问题,请返回重试!","history.back()")
Response.Write(sScript)
end if

end if



%>

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧