ASP.NET《数据库原理及应用技术》课程指导平台的开发
1.1 系统设计目标
研制《数据库原理及应用技术》课程指导平台在功能上可以满足网络课堂教学活动的需要,在Internet上实现教学活动的各个环节。系统的基本设计原则有:先进性与方便性原则、功能实用性原则、开放性与可扩展性原则等。系统设计时采用较好的设备与技术,协议符合国家和国际标准,能保证教学软件的正常运行,确保系统有较长的生命周期;系统能实现网络课堂教学时所需的各种形式的信息交流,保证教与学活动的顺利开展;考虑到日后师生的工作、生活和学习方便,可以在现有功能上加以扩展,如视音频交互、网络直播等功能。
本系统总体目标是将网络技术、信息技术、现代管理技术和科学的教学方法相结合,建立教师和学生的互动交流平台,以充分发挥网络教学的优势,将以教师教授为主的课堂教学和以学生自学为主的网络教学紧密结合起来,构建合理的网络教学系统。该系统打破了教学活动空间上的限制,使教学活动得到了很大的延伸与扩展,
本系统首先要实现动态性和交互性。所谓的动态性就是能动态更新内容,如更新个人信息、教学信息、作业信息等。这要求与数据库有良好的连接;交互性则要求教师和学生能实时地进行学习交流。
学生与教师在使用系统时,实现系统操作方便和操作界面美观的特点。
实现系统的安全性和可靠性,避免他人进入破坏数据库信息。
1.1.1 系统流程图
用户进入系统主页面后,输入用户名和密码,同时选择登录身份,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的主页以及功能;所有合法用户在处理完业务后,都需要进行退出工作,以免被他人窃取信息。退出后,将返回到登录界面。功能示意图如图6所示:
添加图片注释,不超过 140 字(可选)
1.1.2 作业管理子模块功能说明
1. 教师作业管理模块:
根据课程要求教师选择适合学生做的作业进行发布,发布后,学生进行作业查看及提交,教师查看已交作业,对待批改的作业依次进行批阅,认真给出得分及其详细评阅意见,为学生的学习提供帮助。同时,系统会统计每班学生作业提交人数信息方便教师掌握各班学生学习情况。至此,教师作业发布及评阅过程完成。作业发布及作业评阅业务流程图如图7,图8所示:
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
2. 学生作业提交模块:
每个学生用户可查看教师新发布的作业信息,可直接提交,若教师以文本方式发布作业,系统只为学生提供相同的方式即文本方式进行作业提交,若是附件形式的作业,学生下载附件,同样以附件形式提交作业。对教师未批阅过的作业,若学生错误操作提交或认为已提交作业质量不高,可修改重新提交。系统不允许学生对教师已批阅过的作业进行修改。在查看分数模块里,学生可查看自己所有被批改过作业的得分及教师评阅意见信息,学生通过查看分数和分析教师的评阅意见,取得进步。学生提交作业业务流程图如图9所示:
添加图片注释,不超过 140 字(可选)
2 《数据库原理及应用技术》课程指导平台功能模块具体实现
2.1 用户登录认证部分代码
// 数据库连接操作帮助类
public sealed class SqlHelper
{
// 执行数据库读取
public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText)
{
return ExecuteReader(connectionString, commandType, commandText, (SqlParameter[])null);}
// 执行数据库读取
public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString");SqlConnection connection = null;try{
// 新建一个数据库连接实例
connection = new SqlConnection(connectionString);
// 建立连接connection.Open();return ExecuteReader(connection, null, commandType, commandText, commandParameters, SqlConnectionOwnership.Internal);}catch{if (connection != null)
// 关闭数据库连接
connection.Close();throw;}
}
}
// 验证用户登录类
public class CheckUserLogin{SqlConnection conn;public CheckUserLogin(){
//读取web.config里面的数据库连接字串并new一个SqlConnection实例conn =
new
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ToString());}
//取得用户密码public string getPassword(string user_no, string role){string password = String.Empty;SqlDataReader dr = null;if (role == "stu"){dr = SqlHelper.ExecuteReader(conn, CommandType.Text, "select password from DB_STU where stu_id =" + user_no);}…………………………..return password; }
}
2.2 学生作业修改功能部分代码
//要修改的作业信息protected DB_PUB_EXERCISEBE model = new DB_PUB_EXERCISEBE();protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){LoadData();}}
//加载要修改的作业的信息private void LoadData(){string stu_no = ((DB_STUBE)Session["CurrentUser"]).stu_no;string pub_exercise_no = Request["id"];model = new CGP.BLL.DB_PUB_EXERCISE().GetModelByExerNo(pub_exercise_no, stu_no);}
//发布作业protected void edit_Click(object sender, EventArgs e){string stu_no = ((DB_STUBE)Session["CurrentUser"]).stu_no;LoadData();if (model.pub_exercise_category== "文本"){if (this.Content.Value.ToString() == ""){CommonFun.WriteAlert("作业内容不能为空");return;}}//上传作业附件if (model.pub_exercise_category == "附件"){ string filename = string.Empty;//string exercisetype = "附件";if (this.FileURL.PostedFile.ContentLength > 0){ string Truefilename = this.FileURL.PostedFile.FileName;string exName = Truefilename.Substring(Truefilename.LastIndexOf('.')).ToLower();
if (exName != ".doc" && exName != ".pdf" && exName != ".xls" && exName != ".txt" && exName != ".rar" && exName != ".zip"){CommonFun.WriteAlert("只能上传.doc.pdf.xls.txt.rar.zip的文件!");return; }else{ filename = DateTime.Now.ToString("yyyyMMddHHmmss") + exName;
this.FileURL.PostedFile.SaveAs(Server.MapPath("~/" + ConfigurationManager.AppSettings["PubExercise"] + "/") + filename);
if (!File.Exists(Server.MapPath("~/" + ConfigurationManager.AppSettings["PubExercise"] + "/") + filename)){ CommonFun.WriteAlert("上传失败!");return;}}}else{ CommonFun.WriteAlert("请选择作业附件!");return; }
DB_PUB_EXERCISEBE pubexmodel = new DB_PUB_EXERCISEBE();pubexmodel.pub_exercise_id = model.pub_exercise_id;pubexmodel.pub_exercise_no = model.pub_exercise_no;pubexmodel.stu_no = model.stu_no;pubexmodel.pub_exercise_title = model.pub_exercise_title;pubexmodel.pub_exercise_category = model.pub_exercise_category;pubexmodel.pub_exercise_content = model.pub_exercise_content;pubexmodel.to_teacher = model.to_teacher;pubexmodel.is_checked = model.is_checked; //表示还没有被老师评阅过的作业pubexmodel.pub_exercise_score = model.pub_exercise_score;pubexmodel.pub_exercsie_link = ConfigurationManager.AppSettings["PubExercise"] + "/" + filename;if (new CGP.BLL.DB_PUB_EXERCISE().Update(pubexmodel)){CommonFun.WriteAlert("作业修改成功!", "ExerciseView.aspx");}else{CommonFun.WriteAlert("作业修改失败!");}}}
链接:https://pan.baidu.com/s/1Xwd0U_KktL0hRFPaggIOGQ?pwd=6688
提取码:6688
相关文章:

ASP.NET《数据库原理及应用技术》课程指导平台的开发
1.1 系统设计目标 研制《数据库原理及应用技术》课程指导平台在功能上可以满足网络课堂教学活动的需要,在Internet上实现教学活动的各个环节。系统的基本设计原则有:先进性与方便性原则、功能实用性原则、开放性与可扩展性原则等。系统设计时采用较好的…...

OSHI-操作系统和硬件信息库
文章目录 引言一、快速入门1.1 OSHI的简介1.2 引入依赖1.3 涉及的包(package)1.4 涉及的核心类 二、操作系统信息:OperatingSystem2.1 总揽2.2 文件系统信息:FileSystem2.3 网络参数信息:NetworkParams2.4 进程信息&am…...

基于Java SSM框架+Vue实现企业公寓后勤管理系统项目【项目源码+论文说明】计算机毕业设计
基于java的SSM框架Vue实现企业宿舍后勤管理网站演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所…...

stm32mp157和imx6ull在设备树节点上设置ap3216c的主要区别
stm32mp157和imx6ull在设备树节点上设置ap3216c的主要区别是,它们使用的不同的硬件架构和不同的设备树格式。以下是两者之间的差异: 硬件架构:stm32mp157是基于ARM Cortex-M4内核的微控制器,而imx6ull则是基于ARM Cortex-A7内核的…...
网工学习6-配置和管理 VLAN
6.1VLAN概念 1> 什么是 VLAN? VLAN 是一种在交换机上划分逻辑网段的二层技术。 2> 为什么要通过交换机划分网段? ① 因为交换机的端口密度比路由器高,并且价格比路由器低,所以组网成本更低。 ② 因为交换机划分网段比…...
MySQL库与表的备份
库的备份 备份 语法 mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径 例 mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql 注意 这是在linux命令行下。 还原 语法 scource 数据库文件路径 例 source D:/mysql-5.7.22/mytest.s…...
Python核心编程之基础内功
目录 一、语句和语法 1、 注释( # ) 2、继续( \ ) 3、多个语句构成代码组(:):...

GPT4-Turbo技术原理研发现状及未来应用潜力分析报告
今天分享的是GPT4-Turb系列深度研究报告:《GPT4-Turbo技术原理研发现状及未来应用潜力分析报告》。 (报告出品方:深度行业分析研究) 报告共计:46页 图像理解能力提升:三大视觉学习方法 为打造视觉大模…...

为什么 SQL 不适合图数据库
背景 “为什么你们的图形产品不支持 SQL 或类似 SQL 的查询语言?” 过去,我们的一些客户经常问这个问题,但随着时间的推移,这个问题变得越来越少。 尽管一度被忽视,但图数据库拥有无缝设计并适应其底层数据结构的查询…...

【Rust日报】2023-12-02 深度学习框架 Burn 发布 v0.11.0
深度学习框架 Burn 发布 v0.11.0 深度学习框架 Burn 发布 v0.11.0,新版本引入了自动内核融合(Kernel Fusion)功能,大大提升了访存密集型(memory-bound)操作的性能。同时宣布成立 Tracel AI (https://tracel…...

MySQL性能调优-1-实际优化案例
关于SQL优化的思路,一般都是使用执行计划看看是否用到了索引,主要可能有两大类情况: 对业务字段建立了二级联合索引,但是MySQL错误地觉得走主键聚族索引全表扫描效率更高,而没有走二级索引 走二级索引,但…...

JavaScript空值合并运算符
The Nullish Coalescing Operator(空值合并运算符)是一种 JavaScript 的新运算符,用于解决默认值设定中存在的一些问题。它的语法为 ??(两个问号),表示当左侧的操作数为 null 或 undefined 时,…...
Spring Boot 集成 spring security 01
一、导入依赖(pom.xml) <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&qu…...
C 编程中使用字符串
理解字符串: C 中的字符串是使用字符数组来操作的。数组中的每个字符对应字符串的一个元素,字符串的结尾由空字符(\0)标记。这个空字符至关重要,因为它表示字符串的结尾,并允许函数确定字符串在内存中的结…...

【GD32307E-START】04 使用TinyMaix进行手写数字识别
【GD32307E-START】04 使用TinyMaix进行手写数字识别 参考博客 【GD32F427开发板试用】使用TinyMaix进行手写数字识别 https://blog.csdn.net/weixin_47569031/article/details/129009839 软硬件平台 GD32F307E-START Board开发板GCC Makefile TinyMaix简介 TinyMaix是国…...

qt-C++笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解
qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解 code review! 文章目录 qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解1.示例运行2.event->pos();详解3.event->pos()的坐标系原点4.Qt中的坐标系详解5.QMainWindow::mousePressEvent(event);详解 1.示例…...

小程序开发平台源码系统:搭建新的商业体系 附带完整的搭建教程
小程序开发平台源码系统是在移动互联网快速发展的背景下诞生的。随着微信小程序的普及,越来越多的人开始关注小程序的开发与运营。然而,对于很多初学者和小型企业来说,开发一个小程序需要专业的技术知识和大量的时间投入,这无疑是…...
css3新增的伪类有哪些?
CSS3新增的伪类有: :first-of-type,选择属于其父元素的特定类型的第一个子元素。:last-of-type,选择属于其父元素的特定类型的最后一个子元素。:only-of-type,选择属于其父元素的特定类型的唯一子元素。:only-child,选…...

开源软件license介绍与检测
开源License介绍 通俗来讲,开源许可证就是一种允许软件使用者在一定条件内按照需要自由使用和修改软件及其源代码的的法律条款。借此条款,软件作者可以将这些权利许可给使用者,并告知使用限制。这些许可条款可以由个人、商业公司或非赢利组织…...
【LeeCode】142.环形链表II
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数…...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...