1. 程式人生 > >【機房重構】——增刪改查(一)

【機房重構】——增刪改查(一)

【增】

UI層

            
Entity.UserInfo user = new Entity.UserInfo();
user.UserID = txtUserID.Text.Trim();
Facade.StuFacade facade = new Facade.StuFacade();
                                          
//將資訊填到UserInfo表裡
user.UserID = txtUserID.Text.Trim();
user.UserName = txtUserName.Text.Trim();
user.Password = txtPassword.Text.Trim();

bool userfalg = facade.addUser(user);

門面層

    public class StuFacade
    {
        public bool addUser(Entity.UserInfo user)
        {
            bool falg;
            BLL.StuBLL addStuBLL = new StuBLL();
            falg = addStuBLL.addUser(user);
            return falg;
        }
    }

BLL層

    public class StuBLL
    {       
         public bool addUser(Entity.UserInfo user)
        {
            Factory.LoginFactory fact = new Factory.LoginFactory();
            IDAL.StuIDAL idal = fact.User();
            int result = idal.addUser(user);//接收D層返回值
            bool falg;
            if (result == 0)
            {
                falg = false;
            }
            else
            {
                falg = true;
            }
            return falg; 
        }
    }

工廠層

    public class LoginFactory
    {
        public IDAL.StuIDAL User()
        {
            string ClassName = strDB + "." + "StuDAL";
            return (IDAL.StuIDAL)Assembly.Load(strDB).CreateInstance(ClassName);
        }
    }

IDAL層

    public interface StuIDAL
    {
        int addUser(Entity.UserInfo user);
    }

DAL層

    public class StuDAL:IDAL.StuIDAL
    {
        public int addUser(Entity.UserInfo user)
        {
            SqlHelper sqlHelper = new SqlHelper();
            string sql = "INSERT INTO userInfo(UserID,UserName,Password)values(@UserID,@UserName,@Password)";
            SqlParameter[] sqlParams = 
            {
                new SqlParameter("@UserID",user.UserID),                
                new SqlParameter("@UserName",user.UserName ),
                new SqlParameter("@Password",user.Password ),
            };

            int result = sqlHelper.ExecuteNonQuery(sql, sqlParams, CommandType.Text);
            return result;
        }
    }