⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlserverdbcom.cs

📁 Discuz集成.net源代码
💻 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 + -