【机房重构】之修改密码
来源:互联网 发布:俄罗斯军粮淘宝 编辑:程序博客网 时间:2024/05/22 03:02
【前言】
进行机房重构,七层的架构,可以说是都是套路,当然有大框架在这,里面的小细节也需要自己补充呢,在这其中逻辑思路是很重要很重要的,刚开始进行时,每个功能咋传值,什么逻辑,我完全是晕晕的状态,想到这一点,丢掉那个,也是“服”了自己了。后面通过跟周边的小巨人们请教,终于自己有点开窍了呢。对于一个功能,首先分析客户需求,也就是在U层,我们想要像用户展示什么功能,达到什么效果。然后就是D层,想要在数据库中获得什么,每次用专业的数据库语句增、删、改 查”去思考,这时候可以多借助纸笔呢,写下来,然后再将其编程sql语句,D层的工作也就结束了。再就是B层根据一些条件,进行逻辑判断。其他层的代码也就迎刃而解了。
按照上面这种思路,去进行修改密码这个窗体。首先用户需要判断旧密码是否正确,然后就是两次新密码是否一致,最后就是对新密码的修改成功。慢慢的感觉自己有了小小的进步,理清楚一些逻辑,代码就洒洒水了!(虽然有的不熟悉代码还需要查询,嘿嘿!)当然理论与实践结合才是最重要的嘛,下面看一下我的伟大工程吧!
U层
private void btnOK_Click(object sender, EventArgs e) { //对于输入框进行常规的判断 if (txtOldPassword.Text=="") { MessageBox.Show("请输入旧密码!"); } if (txtNewPassword.Text=="") { MessageBox.Show("请输入新密码!"); } if (txtOKNewPassword.Text == "") { MessageBox.Show("请确定新密码!"); } //实例化各层的类 LoginEntity.UserInfo user = new LoginEntity.UserInfo(); user.PWD = txtOldPassword.Text.ToString(); user.newPwd1 = txtNewPassword.Text; user.newPwd2 = txtOKNewPassword.Text; user.userID = Form1.LoginTxtUserID; Facade.ModifypwdFacade facade = new Facade.ModifypwdFacade(); bool flag = facade.checkpwd(user); if (flag==false) { MessageBox.Show("旧密码输入错误,请重新输入!"); txtOldPassword.Focus(); txtOldPassword.Clear(); } else { if (txtNewPassword.Text !=txtOKNewPassword.Text) { MessageBox.Show("两次输入密码不相同,请重新输入!"); txtOKNewPassword.Clear(); txtNewPassword.Clear(); txtNewPassword.Focus(); } else { user.PWD = txtNewPassword.Text; bool result = facade.updatePWD(user); if (result==true) { MessageBox.Show("密码修改成功!"); txtNewPassword.Clear(); txtOKNewPassword.Clear(); txtOldPassword.Clear(); } else { MessageBox.Show("密码修改失败!"); }
public class ModifypwdBLL { public bool checkpwd(UserInfo pwd) //判断旧密码是否正确 { Factory.ModifypwdFactory fac = new Factory.ModifypwdFactory(); IDAL.IModifyPWD idal = fac.checkpwd(); DataTable table= idal.checkpwd( pwd); string dt = table.Rows[0]["PWD"].ToString(); // bool flag; if (pwd.PWD ==dt.Trim() ) { return true; } else { return false; } } public bool updatePWD(UserInfo userinfo) //修改密码 { Factory.ModifypwdFactory factory = new Factory.ModifypwdFactory(); IDAL.IModifyPWD dt = factory.updatePWD(); int ds = dt.updatePWD(userinfo); if (ds !=0) { return true; } else { return false; } }
D层
public class SqlSeverModifyPWDDAL:IDAL.IModifyPWD { public DataTable checkpwd(UserInfo pwd) { SqlParameter[] parameter = { new SqlParameter("@userID",pwd.userID)}; string sql = "select * from User_Info where UserID=@userID"; DataTable table = SQLHelper.SqlHelper.ExecuteDataTable(sql, CommandType.Text, parameter); return table; } public int updatePWD(UserInfo userInfo) { SqlParameter[] parameter = { new SqlParameter("@userID",userInfo.userID), new SqlParameter("@PWD",userInfo.PWD)}; string sql = "update User_Info set PWD=@PWD where UserID=@userID "; int result = SQLHelper.SqlHelper.AddDelUpdate(sql,CommandType.Text,parameter); return result; } }
【总结】
老师经常说“思想比技术更重要”,我篡改一下“思路比套路更重要”,嘿嘿!自己的小见解!
阅读全文
0 0
- 机房重构 之 修改密码
- 【机房重构】之修改密码
- 机房重构---修改密码
- 【机房重构】——修改密码之全局变量
- 机房重构——密码修改
- 机房重构之修改密码窗体所遇到的问题(1)
- 机房重构——三层的修改密码路线
- 【机房重构】——修改密码 及 share()
- C#个人重构之修改密码
- 机房收费系统之修改密码
- 机房收费系统之修改密码
- 机房收费系统之修改密码
- 重构-修改密码
- 机房重构 之 SqlHelper
- 【机房重构】之报表
- 机房重构之用例图
- 机房重构之SqlHelper
- 机房重构之接口
- BZOJ2753 滑雪与时间胶囊 (洛谷P2573)
- eclipse 全局替换文件中的内容
- HTTP协议详解
- 在Rancher中添加为中国区优化的k8s应用商店的步骤和方法
- C++stl 向量,链表,栈,队列(vector, list, stack, queue)
- 【机房重构】之修改密码
- Ubuntu 16.04 LTS 为Firefox安装flash插件
- 数组
- 欧拉筛——线性筛素数和欧拉函数
- KafkaUtils.createStream接收数据流程
- CSS Mastery2(11.6-透明度&引用&圆角)
- 2017-6-29
- Python简单爬虫的实现
- STL 的 erase() 陷阱-迭代器失效总结