目录

任务目标

初步设计思路

设计日志


  • 任务目标

  • 基于学生信息管理的数据库项目训练

    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,包含数据库设计和客户端设计两部分内容。


  • 初步设计思路

运用三层架构实现教务管理系统

  • 界面分三部分:
  1. 登陆界面(包括登陆和修改密码,忘记密码界面)
  2. 操作选择界面
    1. 欢迎界面,自动识别身份
    2. 自动识别身份后通过代码修改button属性,及单击事件调用的函数
  3. 展示台界面
    1. 图形展示界面
    2. 数字展示界面
  • 程序三层架构对应:
  1. 登陆界面:

对应在两个表中查询pwd和ID

  1. 操作选择界面

    1. 自动识别身份,在对应的表中查询修改数据
    2. 每个数据库的表建立一个类,将对其的操作封装

展示台界面:

  1. 同登陆界面,根据返回的结果调用第三方类库输出至显示台(图形化输出和数字格式输出)
  2. 使用代码建立控件存放数据(可将图形化数据保存为图片,然后用picturebox将其显示。

    设计日志

三层步骤:分析功能

  • 管理员:学生、教师信息的添加,删除,修改,浏览功能;
  • 教师:录入学生成绩,修改成绩,成绩统计,成绩排序,学生基本信息查询
  • 学生:本人成绩浏览,本人信息浏览
  • 学生信息录入时,对数据进行验证,要求正则表达式或其他,格式验证等。
  • 统计结果图形展示。借助第三方类库或自定义类
  • 结果输出(例如学生花名册,成绩表等)提供打印输出、打印预览功能,打印输出设计一个类完成
  • 将输出结果输出到EXECL和Word文件中保存,输出的内容要完成排版处理。文件处理接口设计一个类完成
  • 数据库要求:
  • 表的设计要有约束或规则,确保数据有效性
  • 多表查询要有视图的使用
  • 多表数据插入要通过事务处理完成,确保数据完整性
  • 展示要求:
  • 写好数据库的创建脚本,保存为.sql文件;或通过数据库的分离和附加操作,快速完成环境的搭建
  • 准备好PPT,分为数据库设计和客户端设计两部分
  • 根据功能确定SQL语句
  • 在数据访问层(DAL)编写执行该SQL语句的函数
  • //该函数应该在哪个类中,一般情况下,当前的SQL语句要操作哪张表,那么就在数据访问层中中建一个类,这个类的名字与该表名相同,所有操作这个表的函数都写出该类中。
  • 编写业务逻辑层的方法
  • 编写表现层代码
  • 5.1采集数据
  • 5.2展示数据
  • 5.3调用对应的业务逻辑层来实现具体功能
  • 添加timer 实时监控textbox等控件 可用于校验。
  • 复杂的统计工作使用存储过程,利用存储过程完成统计

日常笔记

  1. 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);

//使输入的文本正常显示

  1. Shift+Alt+F10 生成对应函数
  2. 连接数据库,使用数据库通用格式 (登录按钮)
    //登录校验用户名是否存在以及密码是否正确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.如果没有对应的用户,直接提示“用户名不存在”}}}}    }
  3. Form窗口切换

This.hide;

Form2 frm = new Form2();

Frm.show();


C#——教务管理系统设计01(20181003)相关推荐

  1. java-php-python-ssm百分百教育集团教务管理系统设计计算机毕业设计

    java-php-python-ssm百分百教育集团教务管理系统设计计算机毕业设计 java-php-python-ssm百分百教育集团教务管理系统设计计算机毕业设计 本源码技术栈: 项目架构:B/S ...

  2. 计算机毕业设计Java百分百教育集团教务管理系统设计(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java百分百教育集团教务管理系统设计(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java百分百教育集团教务管理系统设计(源码+系统+mysql数据库+lw文档) 本源码技 ...

  3. 基于JAVA百分百教育集团教务管理系统设计计算机毕业设计源码+系统+lw文档+部署

    基于JAVA百分百教育集团教务管理系统设计计算机毕业设计源码+系统+lw文档+部署 基于JAVA百分百教育集团教务管理系统设计计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  4. 【附源码】计算机毕业设计java学校教务管理系统设计与实现

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  5. 基于JSP的教务管理系统设计

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘 要 教务管理是学校的教务工作的主要内容,其信息量大.信息变动频繁历来是各学校的头疼问题,随 ...

  6. 基于SSM的教务管理系统设计与实现

    目 录 摘要 I Abstract II 第一章 绪论 1 1.1 课题的选题背景 1 1.2 项目开发的目标 1 第二章 开发环境和相关技术简介 2 2.1 开发环境 2 2.2 开发环境 2 2. ...

  7. OOAD实验六教务管理系统设计之状态机图

    评估状态机 评估 发布评估 查看评估 统计评估 学籍状态机 学籍登记 学籍查询 学籍管理 学籍汇总

  8. java计算机毕业设计BS景区票务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计BS景区票务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计BS景区票务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署 ...

  9. java-net-php-python-jspm高校助学金评选管理系统设计PPT计算机毕业设计程序

    java-net-php-python-jspm高校助学金评选管理系统设计PPT计算机毕业设计程序 java-net-php-python-jspm高校助学金评选管理系统设计PPT计算机毕业设计程序 ...

  10. 计算机毕业设计Java干洗店订单管理系统设计与实现(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java干洗店订单管理系统设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java干洗店订单管理系统设计与实现(源码+系统+mysql数据库+lw文档) 本源码技术栈 ...

最新文章

  1. Elasticsearch之数据建模
  2. VGA12h与VGA寄存器
  3. 多线程与并发编程实践
  4. 二值化_处理连续型特征:二值化与分段
  5. 【详解】()调试方法从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,是从个别推断一般的方法。
  6. Asp.Net操作Cookie总结
  7. [bzoj4516] [SDOI2016]生成魔咒
  8. 在html标签中写css样式,html style样式标签元素教程
  9. 目标检测的数据增强 -- 代码实现
  10. 浅谈Visual Studio 2010并行运算原理
  11. html游戏音乐,背景音乐的html标签
  12. ldd usr bin mysql_ldd与otool
  13. windows睡眠和休眠的区别
  14. Python dataframe绘制饼图_Python可视化29|matplotlib-饼图(pie)
  15. 智商情商哪个重要_智商和情商哪个更重要 一辩辩词
  16. linux系统引导设置,Linux操作系统GRUB引导程序配置方法大全 - 技术文档 - 新手入门 Linux时代......
  17. Base64编码/解码原理及实现
  18. 数据库函数依赖与候选码求解
  19. POV系列制作之十字旋转LED
  20. SEO词汇表:您应该知道的180多个术语和定义

热门文章

  1. 正弦信号与噪声信号仿真生成实测信号,自相关分析
  2. win7下VS2012配置DirectShow+Opencv并且多摄像头采集
  3. 盘点五款值得收藏的 Linux 开发板
  4. Linux账号安全控制与PAM认证模块
  5. AE快速输出GIF动图格式插件:GifGun for Mac(支持ae2022)
  6. Android手机投屏利器米卓同屏助手
  7. 爱词霸、QQ词典、海词在线词典API接口
  8. FreeRADIUS介绍
  9. root 红米note5_小米 红米NOTE5_刷机助手root-Android手机一键ROOT工具 - 线刷宝官网...
  10. 纯原生js自定义弹窗