📄 sqlserverdbcom.cs
字号:
using System;
using Motion.DZ;
namespace Motion.DZ.DB
{
public class SqlServerDbCom : IDbCommand
{
public bool Register(string username, int gender, string nickname, string password, int groupid, string email, string regip, string qq, string msn)
{
object[,] parsBBS = new object[2, 7] {
{ "@username","@gender","@nickname","@password","@groupid","@email","@lastip" },
{ username, gender, nickname, Motion.DZ.Command.Md5(password), groupid, email, regip } };
int LastId;
if (Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS,
String.Format("insert into [{0}users] (username,gender,nickname,password,groupid,email,regip) values (@username,@gender,@nickname,@password,@groupid,@email,@lastip)", Motion.DZ.Command.RC.Tableprefix), false, out LastId) <= 0)
{
return false;
}
object lid;
if (LastId <= 0)
{
lid = Motion.DZ.Command.DBC.vExecuteScalar(String.Format("select top 1 uid from [{0}users] order by uid desc", Motion.DZ.Command.RC.Tableprefix));
}
else
{
lid = LastId;
}
parsBBS = new object[2, 3] {
{ "@uid", "@qq", "@msn" },
{ lid, qq, msn } };
if (Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS, String.Format("insert into [{0}userfields] (uid, qq, msn) values (@uid, @qq, @msn)", Motion.DZ.Command.RC.Tableprefix), false) <= 0)
{
Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("delete from [{0}users] where uid={1}", Motion.DZ.Command.RC.Tableprefix, LastId));
return false;
}
parsBBS = new object[2, 2] { { "@username", "@userid" }, { username, lid } };
Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS, String.Format("update [{0}statistics] set totalusers=totalusers+1, lastusername=@username, lastuserid=@userid", Motion.DZ.Command.RC.Tableprefix), false);
return true;
}
public bool ModifyPwd(string username, string password)
{
return (Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("update [{0}users] set password='{2}' where username='{1}' and password<>'{2}'", Motion.DZ.Command.RC.Tableprefix, username, Motion.DZ.Command.Md5(password))) == 1);
}
public virtual bool Login(string username, string password, int expDays, bool inVisisble, string reFerer)
{
string Sql = String.Format("select top 1 tpp,ppp,pmsound,invisible,sigstatus,uid from [{1}users] where username='{0}'", username, Motion.DZ.Command.RC.Tableprefix);
System.Data.DataTable myDt = Motion.DZ.Command.DBC.vDataTable(Sql);
if (Object.Equals(myDt, null) || myDt.Rows.Count <= 0)
{
Motion.DZ.Command.Register(username, 0, String.Empty, password, 11, String.Empty);
myDt = Motion.DZ.Command.DBC.vDataTable(Sql);
}
GetUserInfo userinfo = new GetUserInfo(myDt);
if (Object.Equals(myDt, null) || myDt.Rows.Count <= 0) return false;
Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("UPDATE [{0}users] SET [lastvisit]=GetDate(), [lastip]='{2}' WHERE [username]='{1}'", Motion.DZ.Command.RC.Tableprefix, username, Motion.DZ.Command.RC.UserIP));
return Motion.DZ.Command.WriteLoginCookie(userinfo, inVisisble, reFerer, expDays, password);
}
public virtual void LoginOut()
{
try
{
System.Web.HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["dnt"];
if (Object.Equals(cookie, null))
{
cookie = new System.Web.HttpCookie("dnt");
}
else
{
if (!Object.Equals(cookie.Values["userid"], null))
{
string Uid = cookie.Values["userid"].ToString();
if (!String.IsNullOrEmpty(Uid))
{
int uid;
Int32.TryParse(Uid, out uid);
Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("UPDATE [{0}users] SET [oltime] = [oltime] + DATEDIFF(n,[lastvisit],GetDate()) WHERE [uid]={1};delete from [{0}online] where userid={1};", Motion.DZ.Command.RC.Tableprefix, uid));
}
}
}
cookie.Values.Clear();
cookie.Expires = DateTime.Now.AddYears(-1);
if (Motion.DZ.Command.IsValidDomain(Motion.DZ.Command.RC.doMain))
{
cookie.Domain = Motion.DZ.Command.RC.doMain;
}
System.Web.HttpContext.Current.Response.AppendCookie(cookie);
}
catch
{ }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -