您的位置:首页 > 编程语言 > C#

最简单的三层实例(C#)

2013-08-27 18:48 405 查看
三层包图:



表示层UI,业务逻辑层BLL,数据访问层DAL,和实体层Entity。

类图:

UI层的类图是FrmLogin.



BLL层的类图是Login



DAL层的类图是UserDAO



Entity层的类图是UserInfo



序列图:



登录界面:



UI层代码:

[csharp] view
plaincopy

public partial class FrmLogin : Form  

    {  

        public FrmLogin()  

        {  

            InitializeComponent();  

        }  

  

        private void btnLogin_Click(object sender, EventArgs e)  

        {  

            string userName = txtUserName.Text.Trim();  

            string password = txtPassword.Text;  

              

            try  

            {  

                Login.BLL.LoginManager mgr = new Login.BLL.LoginManager();  

                Login.Model.UserInfo user = mgr.UserLogin(userName, password);  

                MessageBox.Show("登录用户:" + user.UserName);  

            }  

            catch (Exception err)  

            {  

                MessageBox.Show(err.Message.ToString() );  

            }           

  

        }  

BLL层代码:

  

[csharp] view
plaincopy

public class LoginManager  

{  

    public Login .Model .UserInfo  UserLogin(string userName, string password)  

    {  

         

        Login.DAL.UserDAO uDao = new Login.DAL.UserDAO();  

        if (userName == null)  

        {  

            throw new Exception("请输入用户名!");                  

        }  

  

        if (password == null)  

        {  

            throw new Exception("请输入密码!");  

        }  

  

        Login .Model .UserInfo user= uDao.SelectUser(userName, password);  

  

        if (user != null)  

        {  

            return user;  

        }  

        else  

        {  

            throw new Exception("登录失败!");  

        }  

    }  

}  

DAL层代码:

[csharp] view
plaincopy

public class UserDAO  

{  

    public static string ConnString = @"Server=XIAOZUO-PC;Database=Login;User ID =sa;Password=123456";  

    public Login .Model .UserInfo  SelectUser(string userName, string password)  

    {              

        using (SqlConnection conn = new SqlConnection(ConnString))     

        {  

            SqlCommand cmd = conn.CreateCommand();  

            cmd.CommandText =@"select ID,UserName,Password,Email from Users where UserName=@UserName and Password=@Password";  

              

            cmd .CommandType =CommandType .Text ;  

            cmd.Parameters.Add(new SqlParameter("@UserName", userName));  

            cmd.Parameters.Add(new SqlParameter("@Password", password));  

  

            conn.Open();  

            SqlDataReader reader=cmd.ExecuteReader();  

              

            Login.Model .UserInfo user=null;  

            while (reader .Read ())  

            {  

                if (user ==null)  

                {  

                    user =new Login.Model .UserInfo ();  

                }  

                user .ID =reader .GetInt32 (0);  

                user .UserName =reader.GetString (1);  

                user.Password =reader.GetString (2);  

                if (reader .IsDBNull (3))  

                {  

                    user.Email =reader.GetString (3);  

                }  

            }  

            return user ;  

        }  

    }  

  

}  

Entity层代码:

[csharp] view
plaincopy

public class UserInfo  

{  

    public int ID { get; set; }  

    public  string UserName {get;set;}  

    public string Password {get;set;}  

    public string Email {get;set;}  

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: