首页上一页 1 下一页尾页 3 条记录 1/1页
ASP.NET范例完全自学手册疑问
发表在ASP.NET图书答疑
2011-04-02
是否精华
是
否
版块置顶:
是
否
《ASP.NET范例完全自学手册》中的明日聊天室 源码文件位置:MR/11/114/SL /ROOM.ASPX.CS
1.不理解 bindUserList()中
select * from roomUser where datediff(s,state,getdate())>5 and datediff(s,state,getdate())<9
这样就能判断用户离线了么,为什么要大于5且小于9呢?
2.还有就是在运行测试的时候在一个用户退出后会显示两次或三次不等的“系统信息提示XXX离开聊天室”,正常的应该只显示一次的,对应的代码为
for (int i = 0; i < dtOut.Rows.Count; i++)
{
//创建SQL语句,插入退出提示信息
string sqlOut = "insert into roomMsg values('','','系统信息提示【" + dtOut.Rows[i][1] + "】离开聊天室','','ff0000','0',getdate());";
//执行SQL语句
operateData.execSql(sqlOut);
}
3.不理解showMsg()中
string sqlSel = "select * from roomMsg where msg_id>" + msgCount + " and (msg_ispublic=0 or msg_from='" + Session["name"] + "' or msg_receiver='" + Session["name"] + "' or msg_receiver ='所有人') and (msg_sendtime>getdate()-'00:05:00' ) ";
中(msg_sendtime>getdate()-'00:05:00' ) "的意思,为啥要-5S呢
望指教为感!
1.不理解 bindUserList()中
select * from roomUser where datediff(s,state,getdate())>5 and datediff(s,state,getdate())<9
这样就能判断用户离线了么,为什么要大于5且小于9呢?
2.还有就是在运行测试的时候在一个用户退出后会显示两次或三次不等的“系统信息提示XXX离开聊天室”,正常的应该只显示一次的,对应的代码为
for (int i = 0; i < dtOut.Rows.Count; i++)
{
//创建SQL语句,插入退出提示信息
string sqlOut = "insert into roomMsg values('','','系统信息提示【" + dtOut.Rows[i][1] + "】离开聊天室','','ff0000','0',getdate());";
//执行SQL语句
operateData.execSql(sqlOut);
}
3.不理解showMsg()中
string sqlSel = "select * from roomMsg where msg_id>" + msgCount + " and (msg_ispublic=0 or msg_from='" + Session["name"] + "' or msg_receiver='" + Session["name"] + "' or msg_receiver ='所有人') and (msg_sendtime>getdate()-'00:05:00' ) ";
中(msg_sendtime>getdate()-'00:05:00' ) "的意思,为啥要-5S呢
望指教为感!