我做软件时间不长,现在遇到一个问题,请大神帮忙想个解决方案。
在前台点击【保存】有时候网页卡了,多次点击【保存】,数据库会重复添加同样的数据,请问,怎么解决这个问题,有没有好的解决方案呢?
这个还是比较简单的,方法很多。
在后台保存的时候,加多一点点代码,判断要新增的数据是否已经存在。
比如PrimaryID或者BillNo这类唯一性的东东。
我采用的方式是主键GUID,直接从前台传过来。(注:不要传Guid.Empty)
然后判断,
if Exist(PrimaryID) then
UpdateData
else
NewData
end if
对了,我的新增和编辑页面使用的是同一个保存处理页面代码。
补充一下,如果只有上面的逻辑,还是会重复执行UpdateData的,这时候,其实也简单,你从前台再多传一个参数,Mode="New" or Mode="Edit",两个条件合起来判断,就可以避免多次访问数据库了。