数据冲突解决办法

可以改表名这个是肯定的
  在一个页面中,程序通过读取A表中的X列(主键)的最大值,并按一定规则生成一条新记录的X列值,供用户编辑这条记录,之后再保存进A表中。如果在用户甲打开该页面之后,正在编辑数据而尚未保存时,用户乙也打开了这个页面,由于规则相同,所以生成的X列值与甲相同,并且乙先编辑完成并保存。此时如果甲也编辑完成了,当他点击保存时,当然便会出现错误。怎样避免出现这种情况呢?可以改表名这个是肯定的,我的程序现在有这个功能。我换种问法吧:  
  在一个页面中,程序通过读取A表中的X列(主键)的最大值,并按一定规则生成一条新记录的X列值,供用户编辑这条记录,之后再保存进A表中。如果在用户甲打开该页面之后,正在编辑数据而尚未保存时,用户乙也打开了这个页面,由于规则相同,所以生成的X列值与甲相同,并且乙先编辑完成并保存。此时如果甲也编辑完成了,当他点击保存时,当然便会出现错误。怎样避免出现这种情况呢?

 

答案:

脚本代码如下:  
  <SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  //以XML求取数据  
  //webFileUrl:要读取的页面地址,可带参数  
  function   XmlPost()  
  {  
  //要刷新的页面  
  webFileUrl   =   "xxx.aspx";  
  var   xmlHttp   =   new   ActiveXObject("MSXML2.XMLHTTP");  
  xmlHttp.open("POST",   webFileUrl,   false);  
  xmlHttp.send("");  
   
  //重复执行,每分钟执行一次  
  setTimeout("XmlPost();",1000*60);  
  }  
   
  //页面加载完毕,加载XmlPost()  
  XmlPost();  
   
  //-->  
  </SCRIPT>  
   
   
  如上,你可在xxx.aspx里面,去写你的hashTable表内容,并且你可以顺便把你的一些其他参数直接通过xxx.aspx?id=xx的方式一并传递过去.

阅读更多
上一篇唯一性约束和主键的区别- -
下一篇Eclipse 快捷键
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭