C#——教务管理系统设计01(20181003)
目录
任务目标
初步设计思路
设计日志
任务目标
基于学生信息管理的数据库项目训练
(1)课时: 4
(2)教学目的
通过本次课程训练,使学生初步掌握数据库系统设计的基本思路。能够使用C#完成客户端软件的程序编写工作。
(3)教学内容:
学生管理系统的数据库表的设计,学生管理系统客户端软件的设计与实现工作。
(4)教学重点及难点
本次课程教学的重点和难点:表设计结果的合理性,客户端开发过程中各种技术使用的正确性。
(5)教学方法
本次课程教学以任务驱动为主。
(6)教学内容
1、训练说明任务
C#端要求:
1)首先系统分为三类用户角色:管理员角色具有学生、教师信息的添加、删除、修改、浏览功能,;教师角色具有录入学生成绩,修改成绩,成绩统计、成绩排序,学生基本信息查询等功能;学生角色具有本人成绩浏览,本人信息浏览等功能。在使用本系统时要进行登录验证,不同用户提供以上不同的系统功能。
2)学生信息录入时,对数据项进行验证,要求使用C#正侧表达式或其他验证方式,对数据进行格式或其他方面的验证,如邮编格式,身份证、手机号码的验证等。
3)所有统计结果通过图形展示。可以集成第三方类库完成,也可以自己设计完成。自己设计以一个类完成图形处理
4)对于结果输出,如学生花名册、成绩表等,提供打印输出及预览功能。打印输出同样设计一个类完成处理。
5)将输出结果,如学生基本信息表格,成绩表格输出到EXECL和Word文件中保存,输出的内容要完成排版处理。word和EXECL文件处理接口同样要求设计一个类完成数据的排版和保存。
6)其他要求与《程序设计专项训练》一致。
数据库部分要求:
1)数据库表的设计要有约束或规则,确保数据的有效性。
2)多表查询要有视图的使用。
3)多表数据插入要通过事务处理完成,确保数据的完整性
4)复杂的统计工作使用存储过程,利用存储过程完成统计。
2、演示要求
1)写好数据库的创建脚本,保存为.sql文件;或通过数据库的分离和附加操作,快速完成系统环境的搭建。
2)准备好PPT,包含数据库设计和客户端设计两部分内容。
初步设计思路
运用三层架构实现教务管理系统
- 界面分三部分:
- 登陆界面(包括登陆和修改密码,忘记密码界面)
- 操作选择界面
- 欢迎界面,自动识别身份
- 自动识别身份后通过代码修改button属性,及单击事件调用的函数
- 展示台界面
- 图形展示界面
- 数字展示界面
- 程序三层架构对应:
- 登陆界面:
对应在两个表中查询pwd和ID
- 操作选择界面
- 自动识别身份,在对应的表中查询修改数据
- 每个数据库的表建立一个类,将对其的操作封装
展示台界面:
- 同登陆界面,根据返回的结果调用第三方类库输出至显示台(图形化输出和数字格式输出)
- 使用代码建立控件存放数据(可将图形化数据保存为图片,然后用picturebox将其显示。
设计日志
三层步骤:分析功能
- 管理员:学生、教师信息的添加,删除,修改,浏览功能;
- 教师:录入学生成绩,修改成绩,成绩统计,成绩排序,学生基本信息查询
- 学生:本人成绩浏览,本人信息浏览
- 学生信息录入时,对数据进行验证,要求正则表达式或其他,格式验证等。
- 统计结果图形展示。借助第三方类库或自定义类
- 结果输出(例如学生花名册,成绩表等)提供打印输出、打印预览功能,打印输出设计一个类完成
- 将输出结果输出到EXECL和Word文件中保存,输出的内容要完成排版处理。文件处理接口设计一个类完成
- 数据库要求:
- 表的设计要有约束或规则,确保数据有效性
- 多表查询要有视图的使用
- 多表数据插入要通过事务处理完成,确保数据完整性
- 展示要求:
- 写好数据库的创建脚本,保存为.sql文件;或通过数据库的分离和附加操作,快速完成环境的搭建
- 准备好PPT,分为数据库设计和客户端设计两部分
- 根据功能确定SQL语句
- 在数据访问层(DAL)编写执行该SQL语句的函数
- //该函数应该在哪个类中,一般情况下,当前的SQL语句要操作哪张表,那么就在数据访问层中中建一个类,这个类的名字与该表名相同,所有操作这个表的函数都写出该类中。
- 编写业务逻辑层的方法
- 编写表现层代码
- 5.1采集数据
- 5.2展示数据
- 5.3调用对应的业务逻辑层来实现具体功能
- 添加timer 实时监控textbox等控件 可用于校验。
- 复杂的统计工作使用存储过程,利用存储过程完成统计
日常笔记
- Textbox.passwordchar = ‘*’;
//使textbox.text内容正常显示(默认以 * 显示)private void pictureBox4_Click(object sender, EventArgs e){textBox2.PasswordChar = new char();}
//使输入的文本以 ‘*’显示
WinForm中TextBox控件的PasswordChar属性默认是没有设置的或者说没有开启密码模式,当设置了该属性之后就会开启密码模式,输入的内容以设置的该属性的值来显示。那么该如何取消PasswordChar的设置呢?归纳起来有三种方法,其本质都是把PasswordChar的值赋值为默认值,赋值为默认值后就会按照正常文本进行显示。三种方法代码如下。
this.textBox1.PasswordChar = new char();
this.textBox1.PasswordChar = '\0';
this.textBox1.PasswordChar = default(char);
//使输入的文本正常显示
- Shift+Alt+F10 生成对应函数
- 连接数据库,使用数据库通用格式 (登录按钮)
//登录校验用户名是否存在以及密码是否正确private void button2_Click(object sender, EventArgs e){//1.采集数据string loginID = textBox1.Text;string loginpwd = textBox2.Text;//2.先根据用户名去数据库中查找,是否有对应的用户string constr = "Data Source = localhost ; Initial Catalog = StudyOprationSytem ; Integrated Security = True;User ID=sa;Password=123456;Database=StudyOprationSystem;";using (SqlConnection con = new SqlConnection(constr)){string sql = string.Format("select * from users where ID = '{0}'",loginID);using (SqlCommand cmd = new SqlCommand(sql, con)){con.Open();using (SqlDataReader reader = cmd.ExecuteReader()){if (reader.HasRows){//存在该用户if (reader.Read()){//3.如果有对应的用户,再比较密码是否正确//获取查询出的密码,和用户输入的密码进行比较string dbpwd = reader.GetString(2);if (loginpwd == dbpwd){//登陆成功MessageBox.Show("登录成功");//启用修改密码button3.Enabled = true;button3.Visible = true;//获取当前登陆用户的主键ID,设置到IDshareIDshare.ID = reader.GetString(1);}else{MessageBox.Show("密码错误");}}}else{MessageBox.Show("用户不存在");//4.如果没有对应的用户,直接提示“用户名不存在”}}}} }
- Form窗口切换
This.hide;
Form2 frm = new Form2();
Frm.show();
C#——教务管理系统设计01(20181003)相关推荐
- java-php-python-ssm百分百教育集团教务管理系统设计计算机毕业设计
java-php-python-ssm百分百教育集团教务管理系统设计计算机毕业设计 java-php-python-ssm百分百教育集团教务管理系统设计计算机毕业设计 本源码技术栈: 项目架构:B/S ...
- 计算机毕业设计Java百分百教育集团教务管理系统设计(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java百分百教育集团教务管理系统设计(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java百分百教育集团教务管理系统设计(源码+系统+mysql数据库+lw文档) 本源码技 ...
- 基于JAVA百分百教育集团教务管理系统设计计算机毕业设计源码+系统+lw文档+部署
基于JAVA百分百教育集团教务管理系统设计计算机毕业设计源码+系统+lw文档+部署 基于JAVA百分百教育集团教务管理系统设计计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...
- 【附源码】计算机毕业设计java学校教务管理系统设计与实现
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 基于JSP的教务管理系统设计
欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘 要 教务管理是学校的教务工作的主要内容,其信息量大.信息变动频繁历来是各学校的头疼问题,随 ...
- 基于SSM的教务管理系统设计与实现
目 录 摘要 I Abstract II 第一章 绪论 1 1.1 课题的选题背景 1 1.2 项目开发的目标 1 第二章 开发环境和相关技术简介 2 2.1 开发环境 2 2.2 开发环境 2 2. ...
- OOAD实验六教务管理系统设计之状态机图
评估状态机 评估 发布评估 查看评估 统计评估 学籍状态机 学籍登记 学籍查询 学籍管理 学籍汇总
- java计算机毕业设计BS景区票务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
java计算机毕业设计BS景区票务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计BS景区票务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署 ...
- java-net-php-python-jspm高校助学金评选管理系统设计PPT计算机毕业设计程序
java-net-php-python-jspm高校助学金评选管理系统设计PPT计算机毕业设计程序 java-net-php-python-jspm高校助学金评选管理系统设计PPT计算机毕业设计程序 ...
- 计算机毕业设计Java干洗店订单管理系统设计与实现(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java干洗店订单管理系统设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java干洗店订单管理系统设计与实现(源码+系统+mysql数据库+lw文档) 本源码技术栈 ...
最新文章
- Elasticsearch之数据建模
- VGA12h与VGA寄存器
- 多线程与并发编程实践
- 二值化_处理连续型特征:二值化与分段
- 【详解】()调试方法从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,是从个别推断一般的方法。
- Asp.Net操作Cookie总结
- [bzoj4516] [SDOI2016]生成魔咒
- 在html标签中写css样式,html style样式标签元素教程
- 目标检测的数据增强 -- 代码实现
- 浅谈Visual Studio 2010并行运算原理
- html游戏音乐,背景音乐的html标签
- ldd usr bin mysql_ldd与otool
- windows睡眠和休眠的区别
- Python dataframe绘制饼图_Python可视化29|matplotlib-饼图(pie)
- 智商情商哪个重要_智商和情商哪个更重要 一辩辩词
- linux系统引导设置,Linux操作系统GRUB引导程序配置方法大全 - 技术文档 - 新手入门 Linux时代......
- Base64编码/解码原理及实现
- 数据库函数依赖与候选码求解
- POV系列制作之十字旋转LED
- SEO词汇表:您应该知道的180多个术语和定义
热门文章
- 正弦信号与噪声信号仿真生成实测信号,自相关分析
- win7下VS2012配置DirectShow+Opencv并且多摄像头采集
- 盘点五款值得收藏的 Linux 开发板
- Linux账号安全控制与PAM认证模块
- AE快速输出GIF动图格式插件:GifGun for Mac(支持ae2022)
- Android手机投屏利器米卓同屏助手
- 爱词霸、QQ词典、海词在线词典API接口
- FreeRADIUS介绍
- root 红米note5_小米 红米NOTE5_刷机助手root-Android手机一键ROOT工具 - 线刷宝官网...
- 纯原生js自定义弹窗