现在的位置: 首页 > 综合 > 正文

C# 三层架构登录功能简单实现

2012年12月20日 ⁄ 综合 ⁄ 共 1933字 ⁄ 字号 评论关闭

类图:

时序图:

UI层代码:

namespace LoginUI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
 
            string userName = txtUserName.Text.Trim();
            string password = txtPassword.Text;
            Login.BLL.LoginManager mgr = new Login.BLL.LoginManager();
            Login.Model.UserInfo user = mgr.UserLogin(userName, password);

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

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

BLL层代码:

namespace Login.BLL
{
    public class LoginManager
    {
        public Login.Model.UserInfo UserLogin(string userName, string password)
        {

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

            if (user != null)// login successfully.
            {
                return user;
            }
            else
            {
                throw new Exception ("登录失败。");
            }
           
        }
    }
}

DAL层代码:

namespace Login.DAL
{
    public class UserDAO
    {
        public Login.Model.UserInfo SelectUser(string userName, string password)
        {
            using (SqlConnection conn = new SqlConnection(DbUtil.ConnString))
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT UserName, Pwd
                                    FROM Login_Info WHERE UserName=@UserName AND Pwd=@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.UserName = reader.GetString(0);
                    user.PassWord = reader.GetString(1);
              
                    
                }

                return user;
            }
        }
    }
}

Model 代码:

namespace Login.Model
{
    public class UserInfo
    {

        public string UserName { get; set; }
        public string PassWord { get; set; }
  

    }
}

抱歉!评论已关闭.