机房重构之修改

本文详细解析了从用户界面到数据库的密码修改流程,包括UI层接收输入、Facade层验证、BLL层处理业务逻辑、DAL层执行数据库操作及Factory层的实例化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在修改密码时,我不懂的是,修改后的密码如何通过传值最后保存在数据库中的。
首先UI层要接受Facade层的值。

Entity.EntityLogin user = new Entity.EntityLogin();
user.PassWord = textBox1.Text.ToString();
user.newPWD1 = textBox2.Text;
user.newPWD2 = textBox3.Text;
user.UserID = frmLogin.userid;
Facade.ModifyPWDFacade modifyPWDFacade = new Facade.ModifyPWDFacade();
bool flag = modifyPWDFacade.checkPWD(user);

Facade层要通过BLL层传来的数据,通过IDAL层解耦。

public bool checkPWD(Entity.EntityLogin PassWord)
{
BLL.ModifyPWDBLL modifyPWDBLL = new BLL.ModifyPWDBLL();
bool list = modifyPWDBLL.checkPWD(PassWord);
return list; 
}
public bool updatePWD(Entity.EntityLogin PassWord)
{
BLL.ModifyPWDBLL modifyPWDBLL = new BLL.ModifyPWDBLL();
bool list = modifyPWDBLL.updatePWD(PassWord);
return list;
}

DAL层是与数据库打交道的。

SQLHelper SQLHelper = new SQLHelper();
SqlParameter[] ps = { new SqlParameter("@userid", password.UserID) };
string sql = "select * from [T-User] where UserID =@userid";
DataTable list = SQLHelper.ExecuteQuery (sql,ps,CommandType.Text);
return list;
BLL.ModifyPWDBLL modifyPWDBLL = new BLL.ModifyPWDBLL();
bool list = modifyPWDBLL.updatePWD(PassWord);
return list;

Factory层是工厂层,通过反射工厂来传值。

public IDAL.IDALModifyPWD checkPWD( )
{
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
string name = StrDB + "." + "checkPWD";
IDAL.IDALModifyPWD idalModifyPWD = (IDAL.IDALModifyPWD)Assembly.Load("DAL").CreateInstance(name);
return idalModifyPWD;
}
public IDAL.IDALModifyPWD updatePWD( )
{
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
string name = StrDB + "." + "updatePWD";
IDAL.IDALModifyPWD dALModifyPWD = (IDAL.IDALModifyPWD)Assembly.Load("DAL").CreateInstance(name);
return dALModifyPWD;
}

最后是IDAL层,这里是定义接口的。

public interface IDALModifyPWD
{
    bool checkPWD(Entity.EntityLogin password;)
    bool updatePWD(Entity.EntityLogin password;)
 }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值