问题:更新时要更新四个字段,偶尔会出现只更新三个字段的情况。
环境:数据库MSSQL2005,语言:ASP
源代码: goods=request("goods")
'Date:2009.12.19 Editor:wzc
  conn.execute("update orders_err set state=4, errsh=1,errshdate=getdate(),errshren='"& request.cookies("Buy2Buy")("admin") &"' where  goods='"&goods&"'")
response.Write "<script language=javascript>alert('审核完成!');window.opener.location.reload();window.close();</script>"例如:在上面的源代码执行时,偶尔会出现字段state不更新。(按代码意思,字段state应当从原来的值3更新为4)

解决方案 »

  1.   

    1、该语句lz确认执行成功否?
    2、注意where条件限定的范围,state = 3对应的数据行是否符合?
      

  2.   

    update orders_err set state=4, errsh=1,errshdate=getdate(),errshren='"& request.cookies("Buy2Buy")("admin") &"' where  goods='"&goods&"'
    这个sql带值到查询分析器里面执行过吗!?
      

  3.   

    每天,上面的代码要更新上千条记录,本月更新的记录估计超过了上万,有14条记录出现不更新state字段。
      

  4.   


    理论上说上万都严格执行了。只有14条没有更新的可能性几乎为0.
    所以更多的考虑方向,lz还是监控下外围的条件约束等等。
    SQL这一侧应该不会出现lz说的只更新其中一部分的状况。
      

  5.   

    我也纳闷啊。每次财务反映这个问题的时候,都要去数据库里直接UPDATE。