关闭

数据冲突解决办法

958人阅读 评论(0) 收藏 举报

可以改表名这个是肯定的
  在一个页面中,程序通过读取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的方式一并传递过去.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13446次
    • 积分:214
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    最新评论