三层搭建
三层架构 适合使用范围(项目比较复杂时) 属性封装了字段(属性跟外界打交道) formclosing
1 表示层(UI):
2 业务逻辑层(BLL):实现具体逻辑 隔离UI和DAL 传递数据 3 数据访问层(DAL)
4 实体
三层搭建步骤: 1新建空解决方案 2创建三个类库项目ItcastSIMModel,ItcastSIMDAL,ItcastSIMBLL(项目名+后缀名) 和一个winform项目 3修改项目默认命名空间ItcastSIM.DAL 4添加引用:UI:BLL,MODEL BLL:DAL,MODEL DAL:MODEL
建议写代码顺序model》dal》bll》ui 注意各级引用的添加,类的权限设置 在MODEL中创建一个PERSON类(private int pID; private string pCName; 等等,并CTRL+R+E每个字段得属性) 在DAL中创建SQLHelper类(加引用,加配置文件)和PersonDAL类(加public) 在PersonDAL类中(根据用户名获取person对象) public GetPersonByLoginName(string loginName,int type) { //sql语句 string sql="select * from person where ploginname=@name and ptype and pisdel=0"; sqlparameter[] param={ @name @type }; //执行 datatable dt=sqlhelper.gettable(sql,param); //关系转换成对象 person per =null;//用了new之后就有初始值了 if(dt.rows.count>0) { datarow dr=dt.rows[0]; per=new person(); //判断是否是数据库中空值 if(dr["PAddTime"]!=DBnull.value) { per.PAddTime=convert.todatatime(dr["PAddTime"]); per.PID } per.PAreas=dr["PAreas"].tostring(); } return per; } 命名空间using itcastsim.dal ...bll 在PersonBLL类(加public)中 public bool Login(string name,string pwd,int type,out string msg,out Person person) { bool r =false; }
在UI中 在btnlogin_click中判断用户名密码是否为空 { string name =txtname.text; string pwd=txtpwd.text; int type=rdostu.checked?1:2; string msg; Person person; }
密码修改功能:
FrmMain_load中判断身份 新建updatepwd窗体
DAL中添加update方法,返回true或false
BLL中判断原始密码,然后进行密码更新操作
UI里面判断输入是否为空,调用BLL.UpdatePwd