【三层】——运行

①UI层
            string userName=txtUserName.Text.Trim();
            string password = txtPassword.Text;

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

            MessageBox.Show("登陆用户:" + user.UserName);
②BLL层
            Login.DAL.UserDAO uDao = new Login.DAL.UserDAO();
            Login .Model .UserInfo user= uDao.SelectUser(userName, password);
③DAL层-UserDAO
            using (SqlConnection conn = new SqlConnection(DbUtil.ConnString)) 
            {
                SqlCommand cmd = conn.CreateCommand();//创建SqlCommand对象
                cmd.CommandText = @"SELECT *
                                        FROM Uers 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);//not suggestion
                    if (!reader.IsDBNull(3))
                    {
                        user.Email = reader.GetString(3);
                    }
                }
                return user;
            }
④BLL层
            if (user != null)
            {
                Login.DAL.ScoreDAO sDao = new Login.DAL.ScoreDAO();
                

                sDao.UpateScore(userName, 10);
                return user;

            }
            else
            {
                throw new Exception("登陆失败。");
            }
                
⑤DAL层-ScoreDAO
            using (SqlConnection conn = new SqlConnection(DbUtil.ConnString)) 
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"INSERT INTO Scores (UserName,Score)Values(@UserName,@Score)";
                cmd.Parameters.Add(new SqlParameter("@UserName", userName));
                cmd.Parameters.Add(new SqlParameter("@Score", value));

                conn.Open();
                cmd.ExecuteNonQuery();
            }
⑥返回BLL层
    运行代码,使分数加10
⑦返回UI层
    显示信息

猜你喜欢

转载自blog.csdn.net/MirabelleZWH/article/details/81450753
今日推荐