逐步深入三层架构(三)-三层登陆源码分享
来源:互联网 发布:淘宝自动上架软件 编辑:程序博客网 时间:2024/05/30 23:52
下面是我在敲三层架构登陆窗体的时候的代码;
一方面本着为人民服务的心做到友好的分享,另一方面点点滴滴的积累自己的代码库资源。
1,UI层的部分代码如下:
这里其实蛮简单的,它的操作最多的还是界面控件以及属性等,UI层也叫界面层;
<span style="font-family:KaiTi_GB2312;font-size:18px;">namespace loginUI{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnLogin_Click(object sender, EventArgs e) { string userName = txtUserName.Text.Trim(); string password = txtPassword.Text; Login.BLL.LoginManager mgr = new Login.BLL.LoginManager(); Login.Model .UserInfo user = mgr.UserLogin(userName, password); if (user!=null) { MessageBox.Show("登陆用户:" + user.UserName); } else { MessageBox.Show("登陆失败"); } } private void txtUserName_TextChanged(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } }}</span>
2,BLL层的部分代码如下:
这部分是业务逻辑层,中间干活的那个,主要工作是接收-处理-传出数据;
<span style="font-family:KaiTi_GB2312;font-size:18px;">namespace Login.BLL{ public class LoginManager { public Login.Model.UserInfo UserLogin(string userName,string password) { Login.DAl.UserDAO uDao = new Login.DAl .UserDAO (); Login.Model.UserInfo user = uDao.SelectUser(userName,password); if (user!=null)//login successfully. { Login.DAl.ScoreDAO sDao = new Login.DAl.ScoreDAO(); sDao.UpdateSore(userName, 10); return user; } else { //throw new Exception("登陆失败。"); return null; } } }}</span>
3,DAL层的部分代码如下:
这部分是数据访问层,主要跟数据库打交道,当然个人觉得也是意义最重要的一层。
这是User部分;
<span style="font-family:KaiTi_GB2312;font-size:18px;">namespace Login.DAl{ public class UserDAO { public Login.Model .UserInfo SelectUser(string userName, string password) { using (SqlConnection conn = new SqlConnection(DbUtil.ConnString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"SELECT * FROM Users 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(0); user.password = reader.GetString(1);//密码不需要从数据库里面取得 if (!reader.IsDBNull(2)) { user.Email = reader.GetString(2); } } return user; } } }}</span>
这是Score部分:
<span style="font-family:KaiTi_GB2312;font-size:18px;">namespace Login.DAl{ public class ScoreDAO { public void UpdateSore(string userName,int value) { using (SqlConnection conn = new SqlConnection(DbUtil.ConnString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"INSERT INTO SCORES(UserName,Score,ID)Values(@UserName,@Score,1)"; cmd.Parameters.Add(new SqlParameter("@UserName",userName)); cmd.Parameters.Add(new SqlParameter ("@Score",value)); conn.Open(); cmd.ExecuteNonQuery(); } } }}</span>
当然,除了这些还有一些SQL语句,因为每个人跟每个人的SQL对象以及用户名等都不一样,所以没有放上来;
如果有需要的可以私信我,一起探讨,OK,先到这里了....
1 0
- 逐步深入三层架构(三)-三层登陆源码分享
- 逐步深入三层架构(一)-初识
- 逐步深入三层架构(二)-不支持关键字:“server” or 当前上下文中不存在“null”...
- 三层架构登陆
- 三层架构登陆实例
- 【三层架构】登陆实例
- 深入三层架构
- 三层架构深入认识(二)
- C#三层架构登陆实例
- C#三层架构登陆实例
- C#三层架构登陆实例
- 我的架构经验小结(三)-- 深入三层架构
- 我的架构经验小结(三)-- 深入三层架构
- 我的架构经验小结(三)-- 深入三层架构
- 我的架构经验小结(三)-- 深入三层架构
- 我的架构经验小结(三)-- 深入三层架构
- 我的架构经验小结(三)—— 深入三层架构
- 我的架构经验小结(三)-- 深入三层架构
- 漫话中国古代史 —— 总论
- POJ 2082 Terrible Sets(单调栈)
- google gtest 快速入门
- poj 3320 Jessica's Reading Problem
- unity3d 第十四天
- 逐步深入三层架构(三)-三层登陆源码分享
- git rm/reset/checkout使用说明
- F28027第一节课---创建一个空的工程
- PHP的51个Memcached方法(12-21)
- ViewPager+Fragment+TabLayout联合使用
- Java编程---2、(补充)用数组编写简易的学生管理系统-----定义学生类
- 什么是单一原则?
- Android studio 提取方法和恢复
- uboot使用脚本