1、准备做一个页面,录入考生信息,并生成考生号(专业号+四位流水号),要求生成的考生号唯一,流水号从0001逐一增加至9999,使用时会有几十台机器同时操作数据,自己粗浅的想想:a、读数据库找出相同专业最大流水号,自动加1;b、设置application变量,另外数据库(sql2000唯一约束)不想插入记录时报错,该如何操作,请指教一个思路
2、站点统计代码有问题,请帮忙看看,写在global.asax里,但一到下午,统计当天人数的变量就归零,从头开始(具体下午几点没试出来)贴上代码,帮忙看看:
protected void Application_Start(Object sender, EventArgs e)
{
Application["user_sessions"] = 0;//声明一个application变量来做计数器
Application["dateTime"]=0;//先给赋为0
Application["day_count"]=0;
}
protected void Session_Start(Object sender, EventArgs e)
{
Application.Lock();//先锁定应用程序,这里大家都明白
Application["user_sessions"] = (int)Application["user_sessions"] + 1;
//当session_start方法启动时判断当前有几个人在线,然后赋值到Application["user_sessions"]变量.(int)强制转换类型,卸箱,装箱! /*DataSet objDataSet = new DataSet();
objDataSet.ReadXml(Server.MapPath("count.xml"));//读xml文件*/
string xmlPath = Server.MapPath("~/count.xml");
DataSet ds = XmlObject.GetXml(xmlPath);
if (Convert.ToInt64(ds.Tables["MyCount"].Rows[0]["MaxCount"]) < (int)Application["user_sessions"])
{
ds.Tables["MyCount"].Rows[0]["MaxCount"] = (int)Application["user_sessions"];
XmlObject.XmlNodeReplace(xmlPath, "MyCount/MaxCount", Application["user_sessions"].ToString());
}
if(DateTime.Now.Day==Convert.ToInt32(Application["dateTime"]))
//如果系统日期(天数,服务器上的) 等于Application["dateTime"]里面的值,则Application["day_count"]变量累加1.
{
Application["day_count"]=(int)Application["day_count"]+1;
}
else//如果不等于则把Application["day_count"]变量赋为1,Application["datetime"]赋为当天,依次类推
{
Application["datetime"]=DateTime.Now.Day;
Application["day_count"]=1;
}
Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["user_sessions"] = (int)Application["user_sessions"] - 1;
//当用户离开站点的时候,减1 卸箱,装箱! Object=int
Application.UnLock();
}
2、站点统计代码有问题,请帮忙看看,写在global.asax里,但一到下午,统计当天人数的变量就归零,从头开始(具体下午几点没试出来)贴上代码,帮忙看看:
protected void Application_Start(Object sender, EventArgs e)
{
Application["user_sessions"] = 0;//声明一个application变量来做计数器
Application["dateTime"]=0;//先给赋为0
Application["day_count"]=0;
}
protected void Session_Start(Object sender, EventArgs e)
{
Application.Lock();//先锁定应用程序,这里大家都明白
Application["user_sessions"] = (int)Application["user_sessions"] + 1;
//当session_start方法启动时判断当前有几个人在线,然后赋值到Application["user_sessions"]变量.(int)强制转换类型,卸箱,装箱! /*DataSet objDataSet = new DataSet();
objDataSet.ReadXml(Server.MapPath("count.xml"));//读xml文件*/
string xmlPath = Server.MapPath("~/count.xml");
DataSet ds = XmlObject.GetXml(xmlPath);
if (Convert.ToInt64(ds.Tables["MyCount"].Rows[0]["MaxCount"]) < (int)Application["user_sessions"])
{
ds.Tables["MyCount"].Rows[0]["MaxCount"] = (int)Application["user_sessions"];
XmlObject.XmlNodeReplace(xmlPath, "MyCount/MaxCount", Application["user_sessions"].ToString());
}
if(DateTime.Now.Day==Convert.ToInt32(Application["dateTime"]))
//如果系统日期(天数,服务器上的) 等于Application["dateTime"]里面的值,则Application["day_count"]变量累加1.
{
Application["day_count"]=(int)Application["day_count"]+1;
}
else//如果不等于则把Application["day_count"]变量赋为1,Application["datetime"]赋为当天,依次类推
{
Application["datetime"]=DateTime.Now.Day;
Application["day_count"]=1;
}
Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["user_sessions"] = (int)Application["user_sessions"] - 1;
//当用户离开站点的时候,减1 卸箱,装箱! Object=int
Application.UnLock();
}
begin tran
waitfor delay '00:00:30';
commit tran begin tran
commit tran
通过记录用户登录记录,最后操作时间,判断时间与当前时间是否在一定范围内,在表示在线计数减1http://topic.csdn.net/u/20090824/14/5febc04b-cd03-44c8-ba72-36072839c5d0.html