此问题已经问过一次,但是并没有真正解决。
==============================================================
我将表单页面和数据处理页面分开,但是在数据处理页面是可以对新添加的数据和修改后的数据进行保存的。区分这种操作的条件就是对提交的一项数据进行判断——这里我是用的是productsId(自动编号),代码部分如后。现在遇到一种问题,提交数据的时候,有时候会提交完全相同的数据两次,有时候却只有一次。我用的是Access数据库。请帮忙看看程序是否有错误,如果没有,该如何避免该错误出现?谢谢!
==============================================================
<%
Dim rs,productsId,productsName,productsModel,productsType,productsNew
Dim productsTypeName,productsIntroduction,productsSImages,productsBImages,resultMsg
获取表单数据
判断数据完整性
productsName = Trim(Request.Form("productsName"))
productsModel = Trim(Request.Form("productsModel"))
productsType = Int(ABS(Request.Form("productsType")))
productsTypeName = Trim(Request.Form("productsTypeName"))
productsNew = Trim(Request.Form("productsNew"))
If productsNew = "productsNew" Then
productsNew = True
Else
productsNew = False
End If
productsIntroduction = Trim(Request.Form("productsIntroduction"))
productsSImages = Trim(Request.Form("productsSImages"))
productsBImages = Trim(Request.Form("productsBImages"))
判断数据的完整性
If productsName = "" Or productsModel = "" Or productsType <= 0 Or productsTypeName = "" Or productsIntroduction = "" Or productsSImages = "" Or productsBImages = "" Then
resultMsg = "数据错误。<br/><a href=products_select.asp><img src=images/ok.gif border=0></a>"
Response.Write(resultMsg)
Response.End()
End If
productsId = Int(ABS(Request.Form("productsId")))
Response.Write(productsId)
Response.End()
If IsEmpty(productsId) Or Not IsNumeric(productsId) Or productsId <= 0 Then
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select 1 * From tProducts Order By productsId Desc",conn,3,2
rs.AddNew
rs("productsName") = productsName
rs("productsModel") = productsModel
rs("productsType") = productsType
rs("productsTypeName") = productsTypeName
rs("productsNew") = productsNew
rs("productsIntroduction") = productsIntroduction
rs("productsSImages") = productsSImages
rs("productsBImages") = productsBImages
rs.Update
rs.Close
Set rs = Nothing
resultMsg = "数据已经被成功提交。<br/><a href=products_list.asp?typesId=" & productsType & "><img src=images/ok.gif border=0></a>"
Response.Write(resultMsg)
Response.End()
Else
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From tProducts Where productsId = " & productsId,conn,3,2
If rs.RecordCount = 0 Then
rs.Close
Set rs = Nothing
resultMsg = "该数据记录不存在。<br/><a href=products_list.asp?typesId=" & productsType & "><img src=images/ok.gif border=0></a>"
Response.Write(resultMsg)
Response.End()
End If
rs("productsName") = productsName
rs("productsModel") = productsModel
rs("productsNew") = productsNew
rs("productsType") = productsType
rs("productsTypeName") = productsTypeName
rs("productsIntroduction") = productsIntroduction
rs("productsSImages") = productsSImages
rs("productsBImages") = productsBImages
rs.Update
rs.Close
Set rs = Nothing
resultMsg = "数据已经被成功提交。<br/><a href=products_list.asp?typesId=" & productsType & "><img src=images/ok.gif border=0></a>"
Response.Write(resultMsg)
Response.End()
End If
%>
up