七层登录——C#
来源:互联网 发布:java股票分析系统源码 编辑:程序博客网 时间:2024/05/18 00:44
三层登录完成之后,紧接着就是七层登录,七层相对三层多的是设计模式、接口,目的无非就是希望解耦合,符合开闭原则,系统更加优化。刚开始的时候七层很是不理解,不知道层层之间的联系,花了好几天的时间才实现,现在不能说非常明白,但是懂的多了,我想说:只要去做,时间花在哪里都是值得的!
UI层
private void btnOK_Click(object sender, EventArgs e) { string UserName = txtUserName.Text.Trim();//赋值过程 string Password = txtPassword.Text; if (txtUserName .Text ==string .Empty )//验证是否为空 { MessageBox.Show("请输入用户名!", "登录"); } if (txtPassword.Text ==string .Empty ) { MessageBox.Show("请输入密码!", "登录"); } JF.Facade.LoginFacade FLogin = new JF.Facade.LoginFacade();//实例化外观 JF.Entity.LoginEntity user = FLogin.SelectUser(UserName, Password);//调用外观的方法,返回给user if (user!=null ) { MessageBox.Show("登陆成功!"); this.Hide (); this.DialogResult =System .Windows .Forms .DialogResult .OK ; frmMain frmMain=new frmMain (); frmMain.Show(); } else { MessageBox .Show("密码或者用户名错误"); } }Facade层
public JF .Entity .LoginEntity SelectUser(string UserName,string Password) { JF.Entity.LoginEntity user = new JF.Entity.LoginEntity();//实例化实体 JF.BLL.LoginBLL loginBll = new JF.BLL.LoginBLL();//实例化B层 user = loginBll.SelectUser(UserName, Password); return user; }BLL层
public JF.Entity.LoginEntity SelectUser(string UserName,string Password) { JF.Entity.LoginEntity user = new JF.Entity.LoginEntity();//实例化实体 JF.Factory.LoginFactory Datacess = new JF.Factory.LoginFactory();//实例化工厂 JF.IDAL.LoginIDAL ILogin;//定义接口 ILogin = Datacess.SelectUser();//工厂中方法的返回值为接口类型 ,用接口接收 user = ILogin.GetUser(UserName, Password);//调用接口的方法 return user; }Factory层
public static readonly string strDB = System.Configuration.ConfigurationManager.AppSettings ["DBString"];//读取配置文件 public JF.IDAL .LoginIDAL SelectUser()//工厂里面为什么返回值是接口类型的 { return (JF.IDAL.LoginIDAL)Assembly.Load(strDB).CreateInstance("JF.DAL.LoginDAO"); }IDAL层
JF.Entity.LoginEntity GetUser(string UserName, string Password);DAL层
public JF.Entity.LoginEntity GetUser(string UserName, string Password) { using (SqlConnection conn = new SqlConnection(DBUtil.conString)) //通过参数DBUtil.conString打开连接数据 { SqlCommand cmd = conn.CreateCommand();//创建cmd执行sql语句 cmd.CommandText = @"select * from JFUser_Info where UserID=@UserName and Pwd=@Password"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add(new SqlParameter("@UserName", Password));//Parameters添加参数 cmd.Parameters.Add(new SqlParameter("@Password", UserName)); conn.Open();//打开数据源 SqlDataReader reader = cmd.ExecuteReader();//读取数据并且得到结果 JF.Entity .LoginEntity user = null; while (reader.Read()) { if (user == null) { user = new JF.Entity.LoginEntity(); } user.UserName = reader.GetString(1); user.Pwd = reader.GetString(2); } return user; }}Entity层
public class LoginEntity { private static string _userid; public static string UserID { get { return _userid; } set { _userid = value; } } private string _level; public string Level { get { return _level; } set { _level = value; } } private string _head; public string Head { get { return _head; } set { _head = value; } } private string _username; public string UserName { get { return _username; } set { _username = value; } } private string _pwd; public string Pwd { get { return _pwd; } set { _pwd = value; } } }
只要理清思路,代码实现就不是问题了,机房第一步登录,向下一步进军!!!
0 0
- 七层登录——C#
- c#七层 登录版
- 重构——七层登录
- 七层登录——小问题
- 七层登录——千里之行始于足下
- 七层登录——代码篇
- 机房重构—七层登录
- C# 七层登录窗体--------详细版
- 机房收费系统——“七层”登录
- 七层登录——VB.NET版
- 【机房重构】——七层登录
- 机房重构——七层登录
- 机房重构——七层登录
- 【C#】机房重构——七层登录
- 七层登录——三层到七层的转变
- 七层登录实现
- 七层登录
- 七层登录实现
- C++: 解释error: call of overloaded ‘abs(int)’ is ambiguous
- 你还在问android横竖屏切换的生命周期?
- Delphi函数详解:全局函数,内部函数,类的成员函数,类的静态方法
- insert插入数据
- 前端样式学习
- 七层登录——C#
- iOS延时操作
- mysql 线程等待时间,解决sleep进程过多的办法
- Spring Security 3.x完整入门配置教程及其代码下载
- 创建一个对象都在内存中做了什么事情?
- iOS关于App上线构建版本一直正在处理的解决方法
- 浮点数的内存介绍
- 命令行是你的至交好友
- insert--select添加数据