当前位置: 首页 > news >正文

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 时&#xff0c…...

Spring Boot 集成 spring security 01

一、导入依赖&#xff08;pom.xml&#xff09; <?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 编程中使用字符串

理解字符串&#xff1a; C 中的字符串是使用字符数组来操作的。数组中的每个字符对应字符串的一个元素&#xff0c;字符串的结尾由空字符&#xff08;\0&#xff09;标记。这个空字符至关重要&#xff0c;因为它表示字符串的结尾&#xff0c;并允许函数确定字符串在内存中的结…...

【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.示例…...

小程序开发平台源码系统:搭建新的商业体系 附带完整的搭建教程

小程序开发平台源码系统是在移动互联网快速发展的背景下诞生的。随着微信小程序的普及&#xff0c;越来越多的人开始关注小程序的开发与运营。然而&#xff0c;对于很多初学者和小型企业来说&#xff0c;开发一个小程序需要专业的技术知识和大量的时间投入&#xff0c;这无疑是…...

css3新增的伪类有哪些?

CSS3新增的伪类有&#xff1a; :first-of-type&#xff0c;选择属于其父元素的特定类型的第一个子元素。:last-of-type&#xff0c;选择属于其父元素的特定类型的最后一个子元素。:only-of-type&#xff0c;选择属于其父元素的特定类型的唯一子元素。:only-child&#xff0c;选…...

开源软件license介绍与检测

开源License介绍 通俗来讲&#xff0c;开源许可证就是一种允许软件使用者在一定条件内按照需要自由使用和修改软件及其源代码的的法律条款。借此条款&#xff0c;软件作者可以将这些权利许可给使用者&#xff0c;并告知使用限制。这些许可条款可以由个人、商业公司或非赢利组织…...

【LeeCode】142.环形链表II

给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...