学生选课管理系统的设计与开发

基于C#+SQL Server实现学生选课管理系统

一、项目背景

学生选课管理系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要,它应该具有传统的手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学校的管理效率,有助于推进学校的信息化建设。

二、技术选型

C#的窗体程序开发

本系统未采用C#实现MDI——多文档窗口,因为考虑到C#的该技术与java类似,而暑期java实训时,曾用过类似的方法做过停车场管理系统,所以想为这次的系统注入一点新鲜的血液,所以本系统设计的主题采用了了C#的C#TreeView 实现。

Sql server数据库

三、需求分析

本系统只有一类用户:管理员。管理员可以通过系统来添加管理员信息、修改管理员信息、添加学生信息、修改学生信息;开设课程、查询课程等。

3.1 管理员角色拥有的功能

管理员信息管理

  • 添加管理员信息;
  • 管理员可以添加其他的管理员信息。
  • 修改管理员信息;
  • 管理员可以删除其他的管理员信息。

课程管理

  • 开设课程;

  • 管理员可以录入课程信息,学生就可以浏览到这些课程信息,从而选课。

  • 查询课程;

  • 可以通过学期查询课程,或通过学期和课程结合的方式查询课程。

四、数据库设计

4.1 完成系统中数据表的结构设计

管理员信息表

用户表:UserInfo
字段名称 数据类型 可空 默认值 说明
id nvarchar(20) 不可 主键,管理员id
name nvarchar(20) 不可 管理员姓名
pwd nvarchar(50) 不可 管理员密码
sex nvarchar(5) 不可 管理员性别

学生选课信息表

管理员信息表:CourseInfo
字段名称 数据类型 可空 默认值 说明
id int 不可 自动增长 主键,课程id
name nvarchar(100) 不可 课程名称
kcms nvarchar(500) 不可 课程描述
xkrq DATETIME 不可 学生选课日期
xkxs nvarchar(20) 不可 选课学生

五、界面设计

登录界面:

注册界面:

5.1 管理员角色

管理员界面:

管理员账号添加界面:

选课信息查询界面:

添加选课信息界面:

六、关键技术的介绍

使用模板来搭建框架,减少每个页面的代码量,同时方便修改

具体代码如下:

Site1.Master
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="MySite.Site1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title>温州理工学院学生选课管理信息系统</title><asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder><style type="text/css">.auto-style1 {height: 90px;}</style>
</head>
<body bgcolor="#c0c0c0"><center><form id="form1" runat="server"><div><table width="780" bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0"><tr><td><img src="data:images/01.gif" width="780" height="120" alt=""></td></tr><tr><td><table border="0" width="100%" cellspacing="0" cellpadding="0" background="images/02.gif"><tr><td height="40" width="180" align="center"><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></td><td class="ClassTitle"><asp:Label runat="server" Text="欢迎进入温州理工学院学生选课管理信息系统"></asp:Label>|<asp:Label ID="lbId" runat="server" Text="Label"></asp:Label></td></tr></table></td></tr></table><table width="780" bgcolor="#FFFFFF" border="1" cellpadding="0" cellspacing="0"><tr><td height="450" width="180" valign="top" align="center"><table border="0" width="170" cellspacing="0" cellpadding="0" class="auto-style1"><tr><td><a href="Index.aspx">信息系统用户管理</a></td></tr><tr><td><a href="AddUser.aspx">添加用户</a></td></tr><tr><td><a href="Index2.aspx">学生选课查询</a></td></tr><tr><td><a href="AddSafe.aspx">添加选课信息</a></td></tr></table></td><td height="450px" valign="top" style="padding-top:10px" align="center"><asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder></td></tr></table><table border="0" width="780" cellspacing="0" cellpadding="0"><tr><td background="images/04.gif" height="29" align="center" class="ClassTitle">联系我们&nbsp;&nbsp; <a href="login.aspx">管理员登录</a></td></tr></table></div></form></center>
</body>
</html>Site1.Master.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;namespace MySite
{public partial class Site1 : System.Web.UI.MasterPage{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){                Label1.Text = DateTime.Today.Date.ToString("yyyy年MM月dd日");if (Session["Id"]!=null){lbId.Text = Session["Id"].ToString();}}}}
}

使用自创类来处理每个页面的数据库访问操作

包括:数据库连接、构建数据库查找字符串、对搜索数据进行分类判断、返回封装好的数据对象、对异常数据的冲突处理等

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;namespace MySite
{public class SiteDAL{private SqlConnection sqlcon;private SqlCommand sqlcom;private string strCon = "server=(local);uid=lqc;pwd=123;database=SCMS";public DataSet GetUser(string id, string name ,string sex){string sqlstr = "select * from UserInfo where 1=1 ";if (id != "" && id != null){sqlstr = sqlstr + " And (Id = '" + id + "')";}else{if (name != "" && name != null){sqlstr = sqlstr + " And (Id like '%" + name + "%' Or name like '%" + name + "%')";}}if (sex != "全部"){sqlstr = sqlstr + " And Sex='" + sex + "'";}sqlcon = new SqlConnection(strCon);SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);DataSet myds = new DataSet();sqlcon.Open();myda.Fill(myds, "user");            sqlcon.Close();return myds;}internal int DeleteSafe(string Id){string sqlstr = "delete from CourseInfo where Id='" + Id + "'";sqlcon = new SqlConnection(strCon);sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();int result = sqlcom.ExecuteNonQuery();sqlcon.Close();return result;}internal DataSet GetSafe(string id ,string name, DateTime? xkrq){string sqlstr = "select * from CourseInfo where 1=1 ";if (!string.IsNullOrEmpty(id)){sqlstr = sqlstr + " And (Id = " + id + ")";}else{if (name != "" && name != null){sqlstr = sqlstr + " And (Name like '%" + name + "%')";}if (xkrq!=null){sqlstr = sqlstr + " And (xkrq = '" + xkrq.Value.ToString("yyyy-MM-dd") + "')";}}sqlcon = new SqlConnection(strCon);SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);DataSet myds = new DataSet();sqlcon.Open();myda.Fill(myds, "food");sqlcon.Close();return myds;}public int DeleteUser(string Id){string sqlstr = "delete from UserInfo where Id='" + Id + "'";sqlcon = new SqlConnection(strCon);sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();int result= sqlcom.ExecuteNonQuery();sqlcon.Close();return result;}public int UpdateUser(string id, string name, string pwd ,string sex){string sqlstr = "update UserInfo set name='" + name + "',Pwd='" + pwd + "',Sex='" + sex + "' where Id='" + id + "'";sqlcon = new SqlConnection(strCon);sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();int result = sqlcom.ExecuteNonQuery();sqlcon.Close();return result;}public int AddUser(string id, string name, string pwd, string sex){string sqlstr = "insert into UserInfo(Id,Name,Pwd,Sex)values('" + id + "','" + name + "','" + pwd + "','" + sex + "')";sqlcon = new SqlConnection(strCon);sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();int result = sqlcom.ExecuteNonQuery();sqlcon.Close();return result;}public int UpdateSafe(int id, string name, string kcms, DateTime xkrq, string xkxs){string sqlstr = "update CourseInfo set Name='" + name + "',kcms='" + kcms + "',xkrq='" + xkrq.ToString("yyyy-MM-dd")+ "',xkxs='" + xkxs + "' where Id=" + id;sqlcon = new SqlConnection(strCon);sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();int result = sqlcom.ExecuteNonQuery();sqlcon.Close();return result;}public int AddSafe(string name, string kcms, DateTime xkrq, string xkxs){string sqlstr = "insert into CourseInfo(name,kcms,xkrq,xkxs)values('" + name + "','" + kcms + "','" + xkrq.ToString("yyyy-MM-dd") + "','" + xkxs + "')";sqlcon = new SqlConnection(strCon);sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();int result = sqlcom.ExecuteNonQuery();sqlcon.Close();return result;}}
}

♻️ 资源

大小: 7.63MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87359323

基于C#+SQL Server实现(Web)学生选课管理系统【100010309】相关推荐

  1. Java+Servlet+JSP+Mysql+Tomcat实现Web学生选课管理系统

    Java实现Web学生选课管理系统 一.系统介绍 1.软件环境 2.系统功能 3.数据库 二.系统展示 1.登录页面 2.学生-主页面 3.学生-查看个人信息 4.学生-选择课程 5.学生-查看已选课 ...

  2. 基于JAVA+Servlet+JSP+MYSQL的学生选课管理系统

    项目功能: 系统分为管理员.老师和学生三个角色,管理员登录后可以对用户进行管理(管理员管理.学生管理.教师管理),课程管理(分配课程.修改课程.搜索课程),浏览新闻,退出登录.学生登录后可以进行选课, ...

  3. 【计算机毕业设计】基于微信小程序的高校学生选课系统

    基于微信小程序的高校学生选课管理系统 毕设帮助.源码交流及指导,见文末 学生选课的需求和管理上的不断提升,学生选课管理的潜力将无限扩大,微信小程序的学生选课系统在业界被广泛关注,本网站及对此进行总体分 ...

  4. asp毕业设计——基于vb+VB.NET+SQL Server的web订餐系统设计与实现(毕业论文+程序源码)——订餐系统

    基于vb+VB.NET+SQL Server的web订餐系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于vb+VB.NET+SQL Server的web订餐系统设计与实现,文章末尾附有 ...

  5. 基于Vue3+Spring Boot+Web的学生选课管理系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85616330 题目:学生选课管理系统( 文档+前后台项目源码及数据库文件) 目的: 熟练掌 ...

  6. 基于 Eclipse+Java Swing + Mysql 学生选课管理系统

    一.项目概要:        基于Java Swing+Mysql8.0数据库的学生选课管理系统,主要有三个部分:系统管理,数据管理,数据查询. 1).系统管理主要用于用户信息的相关管理.主要包括密码 ...

  7. 基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql)

    基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ ...

  8. 基于Python下Tkinter实现学生选课管理系统

    本题为数据库的一项课程作业,结合Python和Sql实现了学生选课管理系统,感觉反正都写了,就给大家做一下参考吧,可能会对Tkinter的应用有一些帮助,注释有些乱,凑活看吧. 刚开始用Tkinter ...

  9. java和数据库成绩管理系统,基于java与sql数据库技术的学生成绩管理系统 (4).doc...

    基于java与sql数据库技术的学生成绩管理系统 (4).doc 还剩 34页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! ...

最新文章

  1. 使用Python生成动态图表,一个很Cool的教程
  2. HTTP隧道工具HTTPTunnel
  3. MySQL 高级 函数
  4. 收集17句经典程序员口头禅
  5. 安装office2010出现了错误,提示要安装MSXML6.10.1129.0解决方法
  6. IDL | 实验二、IDL语法基础
  7. 微型计算机原理及应用 湖南大学,2015年微机原理及其应用-湖南大学.doc
  8. 华为交换机删除配置命令access_华为交换机基本配置命令详解
  9. 小学计算机教案设计ppt,小学信息技术制作幻灯片的教案
  10. 个人sublime定制
  11. 使用max函数计算EXCEL个税公式
  12. 总结:linux运维常用命令
  13. Oracle:错误码ORA-28040 的坑
  14. docx4j操作word文档之生成页码、合并多个文档
  15. 检索所学课程包含学生S3所学课程的学生学号
  16. 2020, 一个对抗社恐, H1b和Google Facebook 的故事
  17. Spring IoC容器:BeanFactory和ApplicationContext
  18. 【毕业设计】协同过滤商品推荐系统 - python 深度学习
  19. r语言归一化_R语言scale()标准化
  20. mac使用ssh密钥连接云服务器

热门文章

  1. JavaScript小练习-计算银行卡余额案例
  2. solr mysql 增量索引_基于Solr DIH实现MySQL表数据全量索引和增量索引
  3. HG30-3a型数字式多功能校准仪
  4. 【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现
  5. NET性能优化-推荐使用Collections.Pooled(补充)
  6. CART分类回归树算法
  7. 中科大计算机网络空间安全,2020年中国科学技术大学网络空间安全考研经验分享...
  8. 国内芯片60个细分领域知名代表企业
  9. Linux命令入门教程(一):命令简介与初识
  10. Apache BookKeeper 简介