机房重构

来源:互联网 发布:去哪里学java 编辑:程序博客网 时间:2024/05/06 16:09

    三层登陆完事就是七层,三层当时就是照着敲,基本上没遇到什么问题,总以为七层还是能在网上找到现成的代码,庆幸的是找到了,也照着敲了,但是运行不起来,看来欠的总是要还的,自己搜的代码里好多命名都给弄混了,研究了一周终于明白点了。


UI层

[csharp] view plain copy
  1. private void btnOK_Click(object sender, EventArgs e)  
  2.         {  
  3.               
  4.             string UserName = txtUserName.Text.Trim();//赋值过程  
  5.             string Password = txtPassword.Text;  
  6.             if (txtUserName .Text ==string .Empty )//验证是否为空  
  7.             {  
  8.                 MessageBox.Show("请输入用户名!""登录");  
  9.             }  
  10.             if (txtPassword.Text ==string .Empty )  
  11.             {  
  12.                 MessageBox.Show("请输入密码!""登录");  
  13.             }  
  14.   
  15.             JF.Facade.LoginFacade FLogin = new JF.Facade.LoginFacade();//实例化外观  
  16.             JF.Entity.LoginEntity user = FLogin.SelectUser(UserName, Password);//调用外观的方法,返回给user  
  17.   
  18.             if (user!=null )  
  19.             {  
  20.                 MessageBox.Show("登陆成功!");  
  21.                 this.Hide  ();  
  22.                 this.DialogResult =System .Windows .Forms .DialogResult .OK ;  
  23.                 frmMain frmMain=new frmMain ();  
  24.                 frmMain.Show();  
  25.             }  
  26.             else   
  27.             {  
  28.                 MessageBox .Show("密码或者用户名错误");  
  29.             }  
  30.         }  
Facade层

[csharp] view plain copy
  1. public JF .Entity .LoginEntity SelectUser(string UserName,string Password)  
  2.        {  
  3.            JF.Entity.LoginEntity user = new JF.Entity.LoginEntity();//实例化实体  
  4.            JF.BLL.LoginBLL loginBll = new JF.BLL.LoginBLL();//实例化B层  
  5.            user = loginBll.SelectUser(UserName, Password);  
  6.            return user;  
  7.        }  
BLL层

[csharp] view plain copy
  1. public JF.Entity.LoginEntity SelectUser(string UserName,string Password)  
  2.         {  
  3.             JF.Entity.LoginEntity user = new JF.Entity.LoginEntity();//实例化实体  
  4.             JF.Factory.LoginFactory Datacess = new JF.Factory.LoginFactory();//实例化工厂  
  5.             JF.IDAL.LoginIDAL ILogin;//定义接口  
  6.             ILogin = Datacess.SelectUser();//工厂中方法的返回值为接口类型 ,用接口接收  
  7.             user = ILogin.GetUser(UserName, Password);//调用接口的方法  
  8.             return user;  
  9.         }  
Factory层

[csharp] view plain copy
  1. public static readonly string strDB = System.Configuration.ConfigurationManager.AppSettings ["DBString"];//读取配置文件  
  2.         public JF.IDAL .LoginIDAL SelectUser()//工厂里面为什么返回值是接口类型的  
  3.         {  
  4.             return (JF.IDAL.LoginIDAL)Assembly.Load(strDB).CreateInstance("JF.DAL.LoginDAO");  
  5.         }  
IDAL层

[csharp] view plain copy
  1. JF.Entity.LoginEntity GetUser(string UserName, string Password);  
DAL层

[csharp] view plain copy
  1. public JF.Entity.LoginEntity GetUser(string UserName, string Password)  
  2.         {  
  3.             using (SqlConnection conn = new SqlConnection(DBUtil.conString)) //通过参数DBUtil.conString打开连接数据  
  4.             {  
  5.                 SqlCommand cmd = conn.CreateCommand();//创建cmd执行sql语句  
  6.   
  7.                 cmd.CommandText = @"select * from JFUser_Info where UserID=@UserName  and Pwd=@Password";  
  8.                 cmd.CommandType = CommandType.Text;  
  9.                 cmd.Parameters.Add(new SqlParameter("@UserName", Password));//Parameters添加参数  
  10.                 cmd.Parameters.Add(new SqlParameter("@Password", UserName));  
  11.                 conn.Open();//打开数据源  
  12.                 SqlDataReader reader = cmd.ExecuteReader();//读取数据并且得到结果  
  13.   
  14.                 JF.Entity .LoginEntity user = null;  
  15.                 while (reader.Read())  
  16.                 {  
  17.                     if (user == null)  
  18.                     {  
  19.                         user = new JF.Entity.LoginEntity();  
  20.   
  21.                     }  
  22.   
  23.                     user.UserName = reader.GetString(1);  
  24.                     user.Pwd = reader.GetString(2);  
  25.                 }  
  26.                 return user;  
  27.                 }  
  28. }  
Entity层

[csharp] view plain copy
  1. public class LoginEntity  
  2.     {  
  3.         private static string _userid;  
  4.         public static string UserID  
  5.         {  
  6.             get { return _userid; }  
  7.             set { _userid = value; }  
  8.         }  
  9.         private string _level;  
  10.         public string Level  
  11.         {  
  12.             get { return _level; }  
  13.             set { _level = value; }  
  14.         }  
  15.         private string _head;  
  16.         public string Head  
  17.         {  
  18.             get { return _head; }  
  19.             set { _head = value; }  
  20.         }  
  21.         private string _username;  
  22.         public string UserName  
  23.         {  
  24.             get { return _username; }  
  25.             set { _username = value; }  
  26.         }  
  27.         private string _pwd;  
  28.         public string Pwd  
  29.         {  
  30.             get { return _pwd; }  
  31.             set { _pwd = value; }  
  32.         }  
  33.     } 
原创粉丝点击