基于C#+SQL Server实现(Web)学生选课管理系统【100010309】
学生选课管理系统的设计与开发
基于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">联系我们 <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】相关推荐
- Java+Servlet+JSP+Mysql+Tomcat实现Web学生选课管理系统
Java实现Web学生选课管理系统 一.系统介绍 1.软件环境 2.系统功能 3.数据库 二.系统展示 1.登录页面 2.学生-主页面 3.学生-查看个人信息 4.学生-选择课程 5.学生-查看已选课 ...
- 基于JAVA+Servlet+JSP+MYSQL的学生选课管理系统
项目功能: 系统分为管理员.老师和学生三个角色,管理员登录后可以对用户进行管理(管理员管理.学生管理.教师管理),课程管理(分配课程.修改课程.搜索课程),浏览新闻,退出登录.学生登录后可以进行选课, ...
- 【计算机毕业设计】基于微信小程序的高校学生选课系统
基于微信小程序的高校学生选课管理系统 毕设帮助.源码交流及指导,见文末 学生选课的需求和管理上的不断提升,学生选课管理的潜力将无限扩大,微信小程序的学生选课系统在业界被广泛关注,本网站及对此进行总体分 ...
- asp毕业设计——基于vb+VB.NET+SQL Server的web订餐系统设计与实现(毕业论文+程序源码)——订餐系统
基于vb+VB.NET+SQL Server的web订餐系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于vb+VB.NET+SQL Server的web订餐系统设计与实现,文章末尾附有 ...
- 基于Vue3+Spring Boot+Web的学生选课管理系统
资源下载地址:https://download.csdn.net/download/sheziqiong/85616330 题目:学生选课管理系统( 文档+前后台项目源码及数据库文件) 目的: 熟练掌 ...
- 基于 Eclipse+Java Swing + Mysql 学生选课管理系统
一.项目概要: 基于Java Swing+Mysql8.0数据库的学生选课管理系统,主要有三个部分:系统管理,数据管理,数据查询. 1).系统管理主要用于用户信息的相关管理.主要包括密码 ...
- 基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql)
基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ ...
- 基于Python下Tkinter实现学生选课管理系统
本题为数据库的一项课程作业,结合Python和Sql实现了学生选课管理系统,感觉反正都写了,就给大家做一下参考吧,可能会对Tkinter的应用有一些帮助,注释有些乱,凑活看吧. 刚开始用Tkinter ...
- java和数据库成绩管理系统,基于java与sql数据库技术的学生成绩管理系统 (4).doc...
基于java与sql数据库技术的学生成绩管理系统 (4).doc 还剩 34页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! ...
最新文章
- 使用Python生成动态图表,一个很Cool的教程
- HTTP隧道工具HTTPTunnel
- MySQL 高级 函数
- 收集17句经典程序员口头禅
- 安装office2010出现了错误,提示要安装MSXML6.10.1129.0解决方法
- IDL | 实验二、IDL语法基础
- 微型计算机原理及应用 湖南大学,2015年微机原理及其应用-湖南大学.doc
- 华为交换机删除配置命令access_华为交换机基本配置命令详解
- 小学计算机教案设计ppt,小学信息技术制作幻灯片的教案
- 个人sublime定制
- 使用max函数计算EXCEL个税公式
- 总结:linux运维常用命令
- Oracle:错误码ORA-28040 的坑
- docx4j操作word文档之生成页码、合并多个文档
- 检索所学课程包含学生S3所学课程的学生学号
- 2020, 一个对抗社恐, H1b和Google Facebook 的故事
- Spring IoC容器:BeanFactory和ApplicationContext
- 【毕业设计】协同过滤商品推荐系统 - python 深度学习
- r语言归一化_R语言scale()标准化
- mac使用ssh密钥连接云服务器
热门文章
- JavaScript小练习-计算银行卡余额案例
- solr mysql 增量索引_基于Solr DIH实现MySQL表数据全量索引和增量索引
- HG30-3a型数字式多功能校准仪
- 【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现
- NET性能优化-推荐使用Collections.Pooled(补充)
- CART分类回归树算法
- 中科大计算机网络空间安全,2020年中国科学技术大学网络空间安全考研经验分享...
- 国内芯片60个细分领域知名代表企业
- Linux命令入门教程(一):命令简介与初识
- Apache BookKeeper 简介