求教:关闭页面或跳转后修改数据库数据
最近项目遇到一个问题,录入页面需要从数据库调用一个编号(编号已经在数据库一个表中存在),如果同一单位两个用户访问录入界面,会同时调用同一个编号,想实现两个用户调用不同的编号。
解决办法:1、使用锁机制,担心死锁的情况。并且锁机制不太了解。
2、修改编号的标记和修改标记的时间。遇到一个问题就是 假如用户关闭网页或页面跳转了。标记如 何更改。
使用了第二个办法。JS用onunload()方法。使用ajax修改标记和时间。但是因为页面关闭了,会造成接收不到返回值。其实不用接受返回值。只需要修改标记和时间就可以了。可以实现修改两次。当第三次的时候 就不修改标记和时间了。
求一个合理的解决办法。谢谢
js:
window.onunload=function()
{
var birthno=$("#Label1").html();//获取页面中使用的编号
var count;
var url="UpdateUnlock.aspx?birthno="+escape(birthno);//UpdateUnlock.aspx 修改编号标记的页面
var obj=CreateAJAX();
if(!obj){alert("不能创建对象!");return;}
obj.open("get",url,false);
obj.onreadystatechange=function()
{
if(obj.readyState==4)
{
if(obj.status==200)
{}
else
{
alert("发生错误!state:"+obj.status);
}
}
}obj.send(null);
}
function CreateAJAX()
{
if(typeof(XMLHttpRequest)!="undefined")
return new XMLHttpRequest();
if(window.ActiveXObject)
{
var objs=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHTTP"];
var xmlhttp;
for(var i=0;i<objs.length;i++)
{
try
{
xmlhttp=new ActiveXObject(objs[i]);
return xmlhttp;
}
catch(e)
{}
}
}
}
UpdateUnlock.aspx 页面后台办法:
public partial class UpdateUnlock : System.Web.UI.Page
{
cszmBLL objcszmBLL = new cszmBLL();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string birthno = Request.QueryString["birthno"].ToString();
int count = objcszmBLL.UpdateUnLock(birthno); //修改编号是否使用的标记和标记时间
Response.Write(count);
Response.End();
}
}
}
解决办法:1、使用锁机制,担心死锁的情况。并且锁机制不太了解。
2、修改编号的标记和修改标记的时间。遇到一个问题就是 假如用户关闭网页或页面跳转了。标记如 何更改。
使用了第二个办法。JS用onunload()方法。使用ajax修改标记和时间。但是因为页面关闭了,会造成接收不到返回值。其实不用接受返回值。只需要修改标记和时间就可以了。可以实现修改两次。当第三次的时候 就不修改标记和时间了。
求一个合理的解决办法。谢谢
js:
window.onunload=function()
{
var birthno=$("#Label1").html();//获取页面中使用的编号
var count;
var url="UpdateUnlock.aspx?birthno="+escape(birthno);//UpdateUnlock.aspx 修改编号标记的页面
var obj=CreateAJAX();
if(!obj){alert("不能创建对象!");return;}
obj.open("get",url,false);
obj.onreadystatechange=function()
{
if(obj.readyState==4)
{
if(obj.status==200)
{}
else
{
alert("发生错误!state:"+obj.status);
}
}
}obj.send(null);
}
function CreateAJAX()
{
if(typeof(XMLHttpRequest)!="undefined")
return new XMLHttpRequest();
if(window.ActiveXObject)
{
var objs=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHTTP"];
var xmlhttp;
for(var i=0;i<objs.length;i++)
{
try
{
xmlhttp=new ActiveXObject(objs[i]);
return xmlhttp;
}
catch(e)
{}
}
}
}
UpdateUnlock.aspx 页面后台办法:
public partial class UpdateUnlock : System.Web.UI.Page
{
cszmBLL objcszmBLL = new cszmBLL();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string birthno = Request.QueryString["birthno"].ToString();
int count = objcszmBLL.UpdateUnLock(birthno); //修改编号是否使用的标记和标记时间
Response.Write(count);
Response.End();
}
}
}
...全文
相关推荐
若依 修改默认跳转页面 demo
这个过程中,开发者需要具备扎实的Java、前端、数据库以及框架相关的知识,同时要有良好的代码组织和调试能力。
QT+access数据库制作登陆界面的跳转(QT跳转页面)
**页面跳转**: QT中页面跳转通常通过切换`QWidget`或使用`QStackedWidget`实现。
vue单页面实现当前页面刷新或跳转时提示保存
在Vue单页面应用中,用户在填写表单后可能会遇到意外刷新或跳转页面导致数据丢失的问题。为了防止这类问题发生,可以在表单提交之前对用户进行提示,确认是否真的想要离开当前页面。
自动刷新页面+自动跳转和关闭
## 三、自动关闭**自动关闭**通常指的是在执行某些操作后自动关闭当前页面或窗口。
ajax 提交数据到后台jsp页面及页面跳转问题
这里的问题是关于如何使用Ajax提交数据到后台的JSP页面,并在处理完数据后进行页面跳转。我们将详细探讨这个问题以及相关的知识点。


