日期:2014-05-17  浏览次数:20717 次

sql更新数据,急需答案,
strConnString = "Driver={SQL Server};Server=(local);uid=sa;pwd=sa;database=sspic;"
  set my_Conn = Server.CreateObject("ADODB.Connection")
  my_Conn.open strConnString  
  ttsql4 = "update Bg_yongp set pnumber = pnumber+1 where pmid='"&request.form("checkbox")&"'"

'response.Write(ttsql4)
  'response.End()
my_conn.execute ttsql4
MY_conn.close
set my_conn=nothing
Response.Redirect "Caigou.asp"
Response.close()

其中ttsql4的更新查询,在mssql里面和打印输出都是对的。为什么一执行asp 输出的结果就是pnumber字段 多了一个 1 啊
 假设:现在 pnumbe数字为5
但是这个update后结构却是7而不是6,
大汗淋漓啊

------解决方案--------------------
没看出什么问题,只能说是同时访问了2次这个页面,执行了2次更新
------解决方案--------------------
更新的代码在guoz.asp里面?#2楼的代码是caigou.asp的还是什么?

单独建立一个测试的asp页面,直接执行更新id为123的记录看看,肯定不会+2的,出现+2的问题应该是其他代码重复执行更新操作了的
VBScript code
strConnString = "Driver={SQL Server};Server=(local);uid=sa;pwd=sa;database=sspic;"
  set my_Conn = Server.CreateObject("ADODB.Connection")
  my_Conn.open strConnString  
  ttsql4 = "update Bg_yongp set pnumber = pnumber+1 where pmid='123'"''''''''''''

my_conn.execute ttsql4
MY_conn.close
set my_conn=nothing

Response.close()