hjr-ASP.NET:asp.net控制器登录注册验证

先介绍几个常见问题,sqlserver提示Cannot find one or more components.Please reinstall the application 让重新安装,解决办法

regedit.exe,启动注册表工具

“HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio”

删除 xx.0_Config文件夹

需要注意删除之后需要重新安装一次sqlserver,修复安装即可

asp.net操作sqlserver数据库提示用户登录失败,多半是连接字符串出问题了,可能不全,比如没有密码

 

下面简单写一下asp.net api的控制器的登录注册验证

登录验证,用户名是否存在,密码是否正确

 

   public DataTable GetLogin(string username, string password)
        {
            password = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");//MD5加密
            DataTable dt = null;
            string sql = null;
            SqlParameter[] cmdParms1 ={
                                           new SqlParameter("@username",username),
                                           new SqlParameter("@password",password)
                                       };//这样比直接用传参更安全,因为查看sql语句时得到的会是@string而不是直接看到了具体的值
            sql = "select * from g_user_info where u_name=@username and u_password=@password";
            dt = SQLHelper.GetDataTable(sql, CommandType.Text, cmdParms1);
            
            if (dt == null)
            {
                return TableTools.CreateTable("error", "没有操作数据库进行查询,返回值未实例化,为null!");
            }
            else if (dt.Rows.Count == 0)
            {
                SqlParameter[] cmdParms2 ={
                                           new SqlParameter("@username",username),
                                       };
                sql = "select * from g_user_info where u_name=@username";
                dt = SQLHelper.GetDataTable(sql, CommandType.Text, cmdParms2);
                if (dt.Rows.Count == 0)
                {
                    return TableTools.CreateTable("error", "该用户不存在!");
                }
                else
                {
                    return TableTools.CreateTable("error", "密码错误!");
                }
            }
            return dt;
        }


注册验证,用户名是否已经存在,手机号是否已经被注册过

 

 

        public String GetReg(string username, string password,String phone)
        {
            string sql = null;
            DataTable dt = null;
            SqlParameter[] cmdParms1 ={
                                           new SqlParameter("@username",username),
                                       };
            sql = "select * from g_user_info where u_name=@username";
            dt = SQLHelper.GetDataTable(sql, CommandType.Text, cmdParms1);

            if (dt.Rows.Count != 0)
            {
                return "该用户已注册过!";
            }

            SqlParameter[] cmdParms2 ={
                                           new SqlParameter("@phone",phone),
                                       };
            sql = "select * from g_user_info where u_phone=@phone";
            dt = SQLHelper.GetDataTable(sql, CommandType.Text, cmdParms2);

            if (dt.Rows.Count != 0)
            {
                return "手机号已经被使用注册过!";
            }

            password = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");
            String result = null;

            String integral = null;
            Random ran = new Random();
            int RandKey = ran.Next(100000, 999999);
            integral = RandKey.ToString();
            SqlParameter[] cmdParms3 ={
                                           new SqlParameter("@username",username),
                                           new SqlParameter("@password",password),
                                           new SqlParameter("@phone",phone),
                                           new SqlParameter("@inviteCode",100),
                                           new SqlParameter("@integral",integral)
                                       };
            sql = "insert into g_user_info(u_name,u_password,u_phone,u_invite_code,u_integral) values (@username,@password,@phone,@inviteCode,@integral)";
            SQLHelper.ExecuteScalar(sql, CommandType.Text, cmdParms3);
            return "注册成功";
        }

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值