当前位置: 首页 > news >正文

(深入.Net平台的软件系统分层开发).第一章.上机练习.20170424

==========================================实体层==========================================

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace MySchool.Models
 8 {
 9     /// <summary>
10     /// 年级信息
11     /// </summary>
12     public class GradeInfo
13     {
14         /// <summary>
15         /// 年级ID
16         /// </summary>
17         public int GradeId { get; set; }
18         /// <summary>
19         /// 年级名称
20         /// </summary>
21         public string GradeName { get; set; }
22     }
23 }
年级信息
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace MySchool.Models
 8 {
 9     /// <summary>
10     /// 登录信息
11     /// </summary>
12     public class LoginInfo
13     {
14         /// <summary>
15         /// 登录Id
16         /// </summary>
17         public string LoginId { get; set; }
18         /// <summary>
19         /// 登录密码
20         /// </summary>
21         public string LoginPwd { get; set; }
22     }
23 }
登录信息
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace MySchool.Models
 8 {
 9     /// <summary>
10     /// 学生信息实体
11     /// </summary>
12     public class StudentInfo
13     {
14         /// <summary>
15         /// 学生姓名
16         /// </summary>
17         public string StudentName { get; set; }
18         /// <summary>
19         /// 学生学号
20         /// </summary>
21         public string StudentNo { get; set; }
22         /// <summary>
23         /// 性别
24         /// </summary>
25         public string Sex { get; set; }
26         /// <summary>
27         /// 年级
28         /// </summary>
29         public string GradeName { get; set; }
30         /// <summary>
31         /// 电话
32         /// </summary>
33         public string Phone { get; set; }
34         /// <summary>
35         /// 密码
36         /// </summary>
37         public string PWD { get; set; }
38     }
39 }
学生信息

==========================================访问数据层==========================================

  1 using MySchool.Models;
  2 using System;
  3 using System.Collections.Generic;
  4 using System.Data;
  5 using System.Data.SqlClient;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Threading.Tasks;
  9 
 10 namespace MySchool.DAL
 11 {
 12     /// <summary>
 13     /// 访问数据层
 14     /// </summary>
 15     public class MySchoolDAL
 16     {
 17         /// <summary>
 18         /// 获取登录账号、密码
 19         /// </summary>
 20         /// <returns>List<LoginInfo></returns>
 21         public List<LoginInfo> GetLoginInfo()
 22         {
 23             DBHelper db = new DBHelper();
 24             string sql = "select * from Admin ";
 25             //登录信息泛型集合
 26             List<LoginInfo> loginInfo = new List<LoginInfo>();
 27 
 28             db.connection.Open();
 29             SqlCommand cmd = new SqlCommand(sql,db.connection);
 30             SqlDataReader reader = cmd.ExecuteReader();
 31             //循环读取sql语句读取出来的数据
 32             while (reader.Read())
 33             {
 34                 //将登录Id 密码 赋给对应属性
 35                 LoginInfo li = new LoginInfo();
 36                 li.LoginId = reader["LoginId"].ToString();
 37                 li.LoginPwd = reader["LoginPwd"].ToString();
 38                 //添加到登录信息泛型集合
 39                 loginInfo.Add(li);
 40             }
 41 
 42             //关闭
 43             reader.Close();
 44             db.connection.Close();
 45             //返回登录信息泛型集合
 46             return loginInfo;
 47         }
 48 
 49         /// <summary>
 50         /// 获取登录账号、密码
 51         /// </summary>
 52         /// <returns>List<LoginInfo></returns>
 53         public List<LoginInfo> LoginInfo()
 54         {
 55             DBHelper db = new DBHelper();
 56             string sql = "select * from Admin ";
 57             //登录信息泛型集合
 58             List<LoginInfo> loginInfo = new List<LoginInfo>();
 59             DataSet ds = db.Adapter(sql);
 60             foreach (DataRow item in ds.Tables[0].Rows)
 61             {
 62                 LoginInfo li = new LoginInfo();
 63                 li.LoginId = item["LoginId"].ToString();
 64                 li.LoginPwd = item["LoginPwd"].ToString();
 65                 loginInfo.Add(li);
 66             }
 67             return loginInfo;
 68         }
 69 
 70 
 71         /// <summary>
 72         /// 获取数据库年级信息
 73         /// </summary>
 74         /// <returns></returns>
 75         public List<GradeInfo> GetGradeInfo()
 76         {
 77             string sql = "select * from grade ";
 78             List<GradeInfo> gradeInfo = new List<GradeInfo>();
 79             DBHelper db = new DBHelper();
 80             DataSet ds = db.Adapter(sql);
 81             foreach (DataRow dr in ds.Tables[0].Rows)
 82             {
 83                 GradeInfo gi = new GradeInfo();
 84                 gi.GradeId = (int)(dr["GradeId"]);
 85                 gi.GradeName = dr["GradeName"].ToString();
 86                 gradeInfo.Add(gi);
 87             }
 88             return gradeInfo;
 89         }
 90 
 91         /// <summary>
 92         /// 获取学生信息
 93         /// </summary>
 94         public List<StudentInfo> GetStudentInfo()
 95         {
 96             List<StudentInfo> studentInfo = new List<StudentInfo>();
 97             string sql = "select * from Student inner join Grade on Grade.GradeId = Student.GradeId ";
 98             DBHelper db = new DBHelper();
 99             DataSet ds = db.Adapter(sql);
100             foreach (DataRow dr in ds.Tables[0].Rows)
101             {
102                 StudentInfo si = new StudentInfo();
103                 si.GradeName = dr["GradeName"].ToString();
104                 si.Phone = dr["Phone"].ToString();
105                 si.PWD = dr["LoginPwd"].ToString();
106                 if (dr["Gender"].ToString().Equals("True"))
107                 {
108                     si.Sex = "";
109                 }
110                 else
111                 {
112                     si.Sex = "";
113                 }
114                 si.StudentName = dr["StudentName"].ToString();
115                 si.StudentNo = dr["StudentNo"].ToString();
116                 studentInfo.Add(si);
117             }
118             return studentInfo;
119         }
120     }
121 }
访问数据层
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data;
 4 using System.Data.SqlClient;
 5 using System.Linq;
 6 using System.Text;
 7 using System.Threading.Tasks;
 8 
 9 namespace MySchool.DAL
10 {
11    public class DBHelper
12     {
13         static string con = "server=.;database=MySchool;user=sa;pwd=123";
14         public SqlConnection connection = new SqlConnection(con);
15 
16         public DataSet Adapter(string sql)
17         {
18             DataSet ds = new DataSet();
19             SqlDataAdapter sda = new SqlDataAdapter(sql, connection);
20             sda.Fill(ds);
21             return ds;
22         }
23     }
24 }
DBHelper

==========================================业务逻辑层==========================================

 1 using MySchool.DAL;
 2 using MySchool.Models;
 3 using System;
 4 using System.Collections.Generic;
 5 using System.Linq;
 6 using System.Text;
 7 using System.Threading.Tasks;
 8 
 9 namespace MySchool.BLL
10 {
11     /// <summary>
12     /// 业务逻辑层
13     /// </summary>
14     public class MySchoolBLL
15     {
16         /// <summary>
17         /// 账号密码是否正确
18         /// </summary>
19         /// <param name="userName">用户名</param>
20         /// <param name="pwd">密码</param>
21         /// <returns>是否正确</returns>
22         public bool isR(string userName,string pwd)
23         {
24             MySchoolDAL dal = new MySchoolDAL();
25             //获取登录信息泛型集合
26             List<LoginInfo> loginInfo = dal.LoginInfo();
27             //遍历登录信息泛型集合  判断输入的账号密码是否存在
28             foreach (var item in loginInfo)
29             {
30                 if (item.LoginId.Equals(userName) && item.LoginPwd.Equals(pwd))
31                 {
32                     return true;
33                 }
34             }
35             return false;
36         }
37 
38         /// <summary>
39         /// 获取学生信息
40         /// </summary>
41         /// <returns></returns>
42         public List<StudentInfo> GetList()
43         {
44             MySchoolDAL mySchoolDal = new MySchoolDAL();
45             List<StudentInfo> studentInfo = new List<StudentInfo>();
46             studentInfo = mySchoolDal.GetStudentInfo();
47 
48             return studentInfo;
49         }
50 
51         /// <summary>
52         /// 按照年级获取新学生列表
53         /// </summary>
54         /// <param name="gradeId"></param>
55         /// <returns></returns>
56         public List<StudentInfo> GetNewList(string gradeName)
57         {
58             List<StudentInfo> studentInfo = GetList();
59 
60             List<StudentInfo> newStudentInfo = new List<StudentInfo>();
61             for (int i = 0; i < studentInfo.Count; i++)
62             {
63                 if (studentInfo[i].GradeName.Equals(gradeName))
64                 {
65                     newStudentInfo.Add(studentInfo[i]);
66                 }
67             }
68             return newStudentInfo;
69         }
70 
71 
72         /// <summary>
73         /// 获取年级信息
74         /// </summary>
75         /// <returns></returns>
76         public List<GradeInfo> GetGrade()
77         {
78             List<GradeInfo> gradeInfo = new List<GradeInfo>();
79             MySchoolDAL md = new MySchoolDAL();
80             gradeInfo = md.GetGradeInfo();
81             return gradeInfo;
82         }
83     }
84 }
业务逻辑层

==========================================用户界面层==========================================

----------------------------------------登录界面----------------------------------------

 1 using MySchool.BLL;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.ComponentModel;
 5 using System.Data;
 6 using System.Drawing;
 7 using System.Linq;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11 
12 namespace SJ3
13 {
14     public partial class frmLogin : Form
15     {
16         public frmLogin()
17         {
18             InitializeComponent();
19         }
20 
21         //单击登录
22         private void btnLogin_Click(object sender, EventArgs e)
23         {
24             MySchoolBLL mb = new MySchoolBLL();
25             //调用账号密码是否正确方法
26             bool isR = mb.isR(txtUserName.Text,txtPWD.Text);
27             if (isR == true)
28             {
29                 MessageBox.Show("登录成功");
30                 frmList fl = new frmList();
31                 fl.ShowDialog();
32             }
33             else
34             {
35                 MessageBox.Show("登录失败,账号或者密码错误");
36             }
37         }
38 
39         //单击退出
40         private void btnCancel_Click(object sender, EventArgs e)
41         {
42             Application.Exit();
43         }
44     }
45 }
frmLogin

----------------------------------------学生列表界面----------------------------------------

 1 using MySchool.BLL;
 2 using MySchool.Models;
 3 using System;
 4 using System.Collections.Generic;
 5 using System.ComponentModel;
 6 using System.Data;
 7 using System.Drawing;
 8 using System.Linq;
 9 using System.Text;
10 using System.Threading.Tasks;
11 using System.Windows.Forms;
12 
13 namespace SJ3
14 {
15     public partial class frmList : Form
16     {
17         public frmList()
18         {
19             InitializeComponent();
20         }
21 
22         //加载
23         private void frmList_Load(object sender, EventArgs e)
24         {
25             BangCmb();
26         }
27 
28         /// <summary>
29         /// 绑定年级组合框
30         /// </summary>
31         public void BangCmb()
32         {
33             MySchoolBLL mb = new MySchoolBLL();
34             List<GradeInfo> gradeInfo = mb.GetGrade();
35             cmbGrade.DataSource = gradeInfo;
36             cmbGrade.DisplayMember = "GradeName";
37             cmbGrade.ValueMember = "GradeId";
38         }
39 
40         /// <summary>
41         /// 按照年级绑定学生列表
42         /// </summary>
43         public void BangList()
44         {
45             MySchoolBLL mb = new MySchoolBLL();
46             List<StudentInfo> studentInfo = mb.GetNewList(cmbGrade.Text);
47             dataGridView1.DataSource = studentInfo;
48         }
49 
50         //更改组合框内容
51         private void cmbGrade_SelectedIndexChanged(object sender, EventArgs e)
52         {
53             BangList();
54         }
55     }
56 }
frmList

转载于:https://www.cnblogs.com/1-2-3-4/p/6759822.html

相关文章:

  • Java NIO系列教程(三) Channel之Socket通道
  • 构建工具 - 收藏集 - 掘金
  • Kettle6.0表输入连接数据库
  • c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明的区别...
  • 1.2 Use Cases中 Event Sourcing官网剖析(博主推荐)
  • 【Java基础】类和接口
  • 设计模式之原型模式
  • python3 django mysql 连接池说明
  • 【Spring源码分析】AOP源码解析(下篇)
  • 深入浅出设计模式(四)
  • scala-基础-映射(1)
  • struts2的核心和工作原理
  • Linux 有问必答:在 Linux 如何更改文本文件的字符编码
  • 《Node应用程序构建——使用MongoDB和Backbone》一2.4 Socket.io
  • 《C++ 黑客编程揭秘与防范(第2版)》—第6章6.2节详解PE文件结构
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • C语言笔记(第一章:C语言编程)
  • Java 内存分配及垃圾回收机制初探
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Laravel 中的一个后期静态绑定
  • Laravel核心解读--Facades
  • Linux gpio口使用方法
  • mysql 数据库四种事务隔离级别
  • node和express搭建代理服务器(源码)
  • orm2 中文文档 3.1 模型属性
  • PAT A1017 优先队列
  • 阿里云购买磁盘后挂载
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​HTTP与HTTPS:网络通信的安全卫士
  • # Maven错误Error executing Maven
  • #git 撤消对文件的更改
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (6)添加vue-cookie
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (过滤器)Filter和(监听器)listener
  • (十)T检验-第一部分
  • (万字长文)Spring的核心知识尽揽其中
  • (一)为什么要选择C++
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)socket Aio demo
  • .Net - 类的介绍
  • .net mvc 获取url中controller和action
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .net程序集学习心得
  • .so文件(linux系统)
  • @AutoConfigurationPackage的使用
  • @WebService和@WebMethod注解的用法
  • [20190401]关于semtimedop函数调用.txt