mysql+设计+密码长度_登陆+注册(三层+sql语句)

啰嗦:今天面试,遇到这个上级测试,很容易的,因为一个错误,居然最后没做出来,心累

回到家,1小时做完,我特么还加了密,我还验证,可是上天不给我一次重来的机会啊

很垃圾的,小白可以看看,大神可以轻喷

首先第一个问题就是:数据库字段的设计

nvarchar  与 varchar的区别

nvarhar:添加字段,自动用空格补齐后面的空余

varvhar:无空格

问题出现的原因:登陆判断时,输入文本框的值和数据库一样却报错,发现原来是有空格

ATJLSr8HFpjFAAAAAElFTkSuQmCC

最简单的数据库表设计

然后就是添加sql帮助类库

oucEAAAAABJRU5ErkJggg==

model代码:model有输入验证记得在model类库引用 using System.ComponentModel.DataAnnotations;

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.ComponentModel.DataAnnotations;usingSystem.Linq;usingSystem.Web;namespaceModel

{public classUserModel

{

[DisplayName("用户名")]

[Required(ErrorMessage= "必填")]public string UserName { get; set; }

[DisplayName("密码")]

[Required(ErrorMessage= "必填")]

[StringLength(20, MinimumLength = 6, ErrorMessage = "密码长度必须在{2} 和{1}个字符")]

[DataType(DataType.Password)]public string UserPwd { get;set; }public string ConfirmPassword { get; set; }public string Message { get; set; }

}

}

model代码

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingYL.MySQL;namespaceDAL

{public classUserDAL

{//注册

public bool regst(string UserName, stringUserPwd)

{

StringBuilder sql=newStringBuilder();

sql.Append("INSERT INTO Users (UserName,UserPwd) VALUES (@UserName,@UserPwd)");

SqlParameter[] sqlparmeter={new SqlParameter("@UserName",SqlDbType.NVarChar,50),new SqlParameter("@UserPwd",SqlDbType.NVarChar,50)

};

sqlparmeter[0].Value =UserName;

sqlparmeter[1].Value =UserPwd;var result = new MySqlAdoProvide().ExecuteNonQuery(MySqlHelper.connectionStringManager, sql.ToString(), sqlparmeter) > 0;returnresult;

}//登陆

public Model.UserModel GetLogin(stringUserName)

{

StringBuilder strSql= newStringBuilder();

strSql.Append("select UserName,UserPwd");

strSql.Append("from Users");

strSql.Append("where UserName=@UserName");

SqlParameter[] parameters={new SqlParameter("@UserName", SqlDbType.NVarChar,50)

};

parameters[0].Value =UserName;var data = new MySqlAdoProvide().ExecuteReader(dr => dr.GetEntity(), MySqlHelper.connectionStringManager, strSql.ToString(), parameters).FirstOrDefault();returndata;

}

}

}

DAL代码

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceBLL

{public classUserBLL

{//构造函数

privateDAL.UserDAL dal;publicUserBLL()

{

dal= newDAL.UserDAL();

}//注册

public bool regst(string UserName, stringUserPwd)

{returndal.regst(UserName, UserPwd);

}public Model.UserModel GetLogin(stringUserName)

{returndal.GetLogin(UserName);

}

}

}

BLL代码

MvcApplication8-HomeController代码

cdec0645add3fc3c328197dda5c76203.png控制器代码

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

@model Model.UserModel

@{

ViewBag.Title= "Index";

}

登陆界面

@using(Html.BeginForm("Login","Home",FormMethod.Post))

{

@Html.TextBoxFor(m=> m.UserName, new { @class = "form-control", @placeholder = "用户名"})

@Html.ValidationMessageFor(m=>m.UserName)

@Html.TextBoxFor(m=> m.UserPwd, new { @class = "form-control", @placeholder = "密码"})

@Html.ValidationMessageFor(m=>m.UserPwd)登陆@Html.ValidationMessageFor(m=>m.Message)注册一个新账号

}

登陆界面代码

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

@model Model.UserModel

@{

ViewBag.Title= "Index";

}

注册界面

@using(Html.BeginForm("zc","Home",FormMethod.Post))

{

@Html.TextBoxFor(m=> m.UserName, new { @placeholder = "用户名"})

@Html.ValidationMessageFor(m=>m.UserName)

@Html.TextBoxFor(m=> m.UserPwd, new { @placeholder = "密码"})

@Html.ValidationMessageFor(m=>m.UserPwd)

@Html.TextBoxFor(m=> m.ConfirmPassword, new { @placeholder="确认密码"})

@Html.ValidationMessageFor(m=>m.ConfirmPassword)

@Html.ValidationMessageFor(m=>m.Message)注册

}

注册界面代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值