登陆+注册(三层+sql语句)
啰嗦:今天面试,遇到这个上级测试,很容易的,因为一个错误,居然最后没做出来,心累
回到家,1小时做完,我特么还加了密,我还验证,可是上天不给我一次重来的机会啊
很垃圾的,小白可以看看,大神可以轻喷
首先第一个问题就是:数据库字段的设计
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Model
{
public class UserModel
{
[DisplayName("用户名")]
[Required(ErrorMessage = "必填")]
public string UserName { get; set; }
[DisplayName("密码")]
[Required(ErrorMessage = "必填")]
[StringLength(, MinimumLength = , ErrorMessage = "密码长度必须在{2} 和{1}个字符")]
[DataType(DataType.Password)]
public string UserPwd { get;set; }
public string ConfirmPassword { get; set; }
public string Message { get; set; }
}
}
model代码
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YL.MySQL;
namespace DAL
{
public class UserDAL
{
//注册
public bool regst(string UserName, string UserPwd)
{
StringBuilder sql =new StringBuilder();
sql.Append("INSERT INTO Users (UserName,UserPwd) VALUES (@UserName,@UserPwd)" );
SqlParameter[] sqlparmeter =
{
),
)
};
sqlparmeter[].Value = UserName;
sqlparmeter[].Value = UserPwd;
;
return result;
}
//登陆
public Model.UserModel GetLogin(string UserName)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select UserName,UserPwd " );
strSql.Append(" from Users ");
strSql.Append(" where UserName=@UserName ");
SqlParameter[] parameters = {
)
};
parameters[].Value = UserName;
var data = new MySqlAdoProvide().ExecuteReader(dr => dr.GetEntity<Model.UserModel>(), MySqlHelper.connectionStringManager, strSql.ToString(), parameters).FirstOrDefault();
return data;
}
}
}
DAL代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class UserBLL
{
//构造函数
private DAL.UserDAL dal;
public UserBLL()
{
dal = new DAL.UserDAL();
}
//注册
public bool regst(string UserName, string UserPwd)
{
return dal.regst(UserName, UserPwd);
}
public Model.UserModel GetLogin(string UserName)
{
return dal.GetLogin(UserName);
}
}
}
BLL代码
@model Model.UserModel
@{
ViewBag.Title = "Index";
}
<h2>登陆界面</h2>
<div>
@using(Html.BeginForm("Login","Home",FormMethod.Post))
{
<div>
@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)
<button type="submit">登陆</button>
@Html.ValidationMessageFor(m => m.Message)
<a href="@Url.Action("regist")">注册一个新账号</a>
</div>
}
</div>
登陆界面代码
@model Model.UserModel
@{
ViewBag.Title = "Index";
}
<h2>注册界面</h2>
<div>
@using(Html.BeginForm("zc","Home",FormMethod.Post))
{
<div>
@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)
<button type="submit">注册</button>
</div>
}
</div>
注册界面代码
登陆+注册(三层+sql语句)的更多相关文章
- PLSQL执行sql语句输出的中文是???之解决方法和步骤
方法/步骤 1 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出 步骤阅读 2 输入sql语句select * from V$NLS_PARAMETERS查 ...
- 浅谈c#的三个高级参数ref out 和Params C#中is与as的区别分析 “登陆”与“登录”有何区别 经典SQL语句大全(绝对的经典)
浅谈c#的三个高级参数ref out 和Params c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和 ...
- Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证
Python tkinter 实现简单登陆注册 最终效果 开始界面 注册 登陆 源码 login.py # encoding=utf-8 from tkinter import * from ...
- sql语句去重 最后部分没看 看1 有用
一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选择重复项,然后去掉重复项:) 数据库里 ...
- Spring Boot+Jpa(MYSQL)做一个登陆注册系统(前后端数据库一站式编程)
Spring Boot最好的学习方法就是实战训练,今天我们用很短的时间启动我们第一个Spring Boot应用,并且连接我们的MySQL数据库. 我将假设读者为几乎零基础,在实战讲解中会渗透Sprin ...
- Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)
写在最前: 在实际开发中,相信每个项目都会有用户登陆注册功能,这个实现的方法很多,下面是我实现的方法,供大家交流. 新人发帖,万分紧张,怎么样才能装作一副经常发帖的样子不被别人看出来呢-,- ? 好了 ...
- SQL语句大全
经典SQL语句大全(绝对的经典) 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份s ...
- 实用SQL语句大全
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- 经典SQL语句大全
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...
随机推荐
- maven 环境搭建
1.maven环境搭建 1)下载maven,http://maven.apache.org/download.cgi,到本地解压,然后配置环境变量 MAVEN_HOME:D:\software\apa ...
- asp.net gridview 鼠标悬浮提示信息
使用场景: gridview绑定数据,某列数据太多,故超过一定字符,隐藏起来,同时鼠标移到指定列显示其明细信息: 知识点: 1,oderListTbl_DataBound事件中,添加,oderList ...
- Add Digits, Maximum Depth of BinaryTree, Search for a Range, Single Number,Find the Difference
最近做的题记录下. 258. Add Digits Given a non-negative integer num, repeatedly add all its digits until the ...
- MyBatis原理分析之三:初始化(配置文件读取和解析)
1. 准备工作 编写测试代码(具体请参考<Mybatis入门示例>),设置断点,以Debug模式运行,具体代码如下: )ExecutorType:执行类型,ExecutorType主要有三 ...
- mybatis实战教程(mybatis in action)之十:mybatis SqlSessionSupport 的使用,构件DAO 层的应用
前面的系列mybatis 文章,已经基本讲到了mybatis的操作,但都是基于mapper隐射操作的,在mybatis 3中这个mapper 接口貌似充当了以前在ibatis 2中的 DAO 层的作用 ...
- 现代DOJO(翻译)
http://dojotoolkit.org/documentation/tutorials/1.10/modern_dojo/index.html 你可能已经不用doio一段时间了,或者你一直想保持 ...
- JVM GC算法 CMS 详解(转)
前言 CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性 ...
- 修改eclipse中包的显示结构为树形
- OAF_开发系列29_实现OAF中批次处理迭代器RowSet/RowSetIterator(案例)
20150814 Created By BaoXinjian
- JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址
在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext().getRealP ...