网络编程大作业.docx

上传人:b****8 文档编号:11122199 上传时间:2023-02-25 格式:DOCX 页数:18 大小:920.55KB
下载 相关 举报
网络编程大作业.docx_第1页
第1页 / 共18页
网络编程大作业.docx_第2页
第2页 / 共18页
网络编程大作业.docx_第3页
第3页 / 共18页
网络编程大作业.docx_第4页
第4页 / 共18页
网络编程大作业.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

网络编程大作业.docx

《网络编程大作业.docx》由会员分享,可在线阅读,更多相关《网络编程大作业.docx(18页珍藏版)》请在冰豆网上搜索。

网络编程大作业.docx

网络编程大作业

华北科技学院

 

《网络编程B》

大作业

 

班级:

计科B08-1姓名:

________

作业题目:

网上答疑系统

评阅成绩:

____教师:

_____

 

年月日

1引言

1.1课程设计选题

《网上答疑系统》

1.2课程设计的目的

通过这次设计的程序,可以帮助我们更进一步掌握ASP.NET的相关编程知识。

更数量掌握ASP.NET的各控件的用法。

网上答疑系统方便学生老师在课下进行交流沟通,从而摆脱地点时间的限制,更有利于学生的学习。

2系统分析与设计

2.1功能及性能分析

2.1.1功能需求

在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。

Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。

因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。

为了更好的办学,提高学校知名度。

网上答疑系统,是一种运用计算机网络为工具来帮助教师与学生教学的方式,在这个过程中它利用多媒体技术,人工智能技术,网络技术等多种技术手段。

通过教学软件,学习平台的开发和应用,使学生和计算机之间相互作用达到教学目的,这是一种现代化教学手段。

网上答疑系统是一种教育观念与教育方式的结合,它的引入,丰富了教育教学手段,向教育现代化迈出了一大步。

2.1.2性能需求

这个网上答疑系统需要设计成用户和管理员两部分。

管理员子系统管理员通过登录进入后台管理界面,可以对有关信息进行编辑,删除。

而用户通过注册登陆答疑系统,进行相关操作。

其中为了便于管理,用户包括教师和学生。

下面进行详细的功能描述:

1)管理员功能:

管理员登录输入用户名和密码,通过系统判断是否为管理员正确的用户名和密码,确认正确之后即可进入后台管理界面。

管理员可以对用户信息进行删除,修改,查询等功能,比如有的学生或老师密码忘记了,那么管理员帮他们查询密码,也可以帮他们修改密码,当然如果存在多次违反规矩的用户,管理员可以将其删除,也可以重新编辑一下用户的信息。

另外,管理员也可以修改自己的密码,可以设置多个管理员密码。

2)用户功能:

用户分为学生和老师。

身为学生,登陆后,可以根据老师的资料,向指定老师留言,也可以查询注册用户的信息,如qq电话等信息,方便线下交流,当然也可以查询以往在留言板留的言,查询老师给的答复。

当老师登陆后,可以查看学生给自己的留言,可以将恶意留言删除,也可以针对学生问题进行解答,并自动标记已读,当然也可以修改以前

2.2系统的开发运行环境

本系统开发平台:

+Access数据库

本系统运行环境:

windows7

2.3系统总体设计

根据用户及相关用途的的划分,可以很清晰的将该系统分为三个功能模块,首先是登陆和注册功能模块,分为普通用户登陆和管理员登陆模块。

第二个模块为学留言模块,分为学生留言模块和老师留言模块。

第三个模块为管理员管理用户及用户自管理的模块

整个系统的功能模块图如下所示:

2.3.1系统结构图设计

3数据库设计

3.1数据库概念设计

数据库中主要有五个数据表,分别是用户信息表,留言信息表,管理员信息表。

数据库的具体实现见下列界面显示。

3.2数据库的实现

用户表

其中用户名为主键,用户名、职位、密码、姓名、性别、电话、电子邮箱、QQ号码、工作单位,自我介绍的数据类型为文本类型,注册时间数据类型为日期/时间。

留言信息表(Info)

其中id为主键并且自动编号,其中除了sendtime,answertime数据类型为日期/时间类型外,其它数据类型为文本类型。

管理员表(admin)

其中id为主键,其它类型都为文本类型

4详细设计与实现

4.1管理员登录模块

管理员登录管理员登录界面和用户登录界面在一起,通过对数据库中用户角色的判断来确定是否为管理员,如果是管理员则进入后台管理界面

登录界面

4.2用户信息管理模块

该模块为管理员对师生信息,及管理员信息进行编辑

4.2.1全部师生信息管理界面

通过编辑选项,管理员可以重新编辑或局部修改注册用户的个人基本信息,也可以通过删除选项,删除恶意留言的注册会员。

当然也能查询相关会员信息,帮助个别忘记自己密码的用户找到他们的密码

4.2.2管理员信息管理

通过这个功能,管理员可以更改自己的个人信息,也可以添加或删除其它管理员账号。

在本实验中,所有管理员的权限是一样的。

4.2.3添加师生信息

通过这个页面可以注册信息,在注册的时候,加了一些相关验证,比如QQ号码必须全为数字,邮箱格式必须符合正常标准等等。

完成填写后,点击提交,无需登录就可以直接进入相关页面进行操作了。

4.2.4添加管理员界面

4.3学生留言模块

通过这个模块学生可以向老师留言咨询,主界面如下:

4.4老师留言模块

这个模块老师可以答复学生咨询,通过点击会员信息可以查询所有注册师生的信息,通过回答按钮,可以对学生问题进行答复,也可以对一些恶意问题进行删除,还可对以前答复进行补充更新。

4.5其余辅助模块

通过这个模块,操作更人性化,辅助主要功能

老师和学生都可随时点击会员信息,老师可以了解学生的基本信息,方便沟通,也可了解老师的联系方式,方便课下咨询。

点击结果如下

4.6用户注册登录模块

程序主界面如下:

通过它可以选择登陆或注册,登陆方式有两中,一种是普通用户登陆,一种是管理员登陆,登陆后分别进入各自页面。

 

用户可以通过注册进入答疑系统,注册页面如下

当退出系统界面如下:

5功能代码详解

5.1有关于用户的操作实现代码

关于确定用户是老师,管理员还是学生的代码如下,如果选择管理员登陆按钮,则调用Login2(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs),判断用户名与数据库admin表中的数据是否相同,存在,则登陆成功。

通过调用login(ByValsenderAsObject,ByValeAsSystem.EventArgs)

来确定用户是否存在,如果存在,则通过判定roleid属性,来判定是学生还是老师。

ImportsSystem.Data

ImportsSystem.Data.OleDb

PartialClassindex

InheritsSystem.Web.UI.Page

SubPage_Load(ByValSenderAsObject,ByValEAsEventArgs)

EndSub

SubLogin2(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)

Dimmyname1AsString=TextBox1.Text

Dimmypass1AsString=TextBox2.Text

IfNotmyname1=""AndNotmypass1=""Then

message.Text=checkadmin(myname1,mypass1)

Ifmessage.Text="ok"Then

Session("UserName")=myname1

Response.Redirect("admin.aspx")

EndIf

Else

message.Text="请填写完整的信息"

EndIf

EndSub

Functioncheckadmin(ByValnAsString,ByValpAsString)AsString

DimconnAsNewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("dy.mdb"))

DimstrSqlAsString="select*fromadminwhereusername='"+n+"'anduserpwd='"+p+"'"

conn.Open()

DimcmdAsNewOleDbCommand(strSql,conn)

DimdrAsOleDbDataReader=cmd.ExecuteReader

Ifdr.Read()Then

Return"ok"

Else

Return"信息出错,请确认"

EndIf

conn.Close()

EndFunction

ProtectedSublogin(ByValsenderAsObject,ByValeAsSystem.EventArgs)

DimconnAsNewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("dy.mdb"))

DimcmdAsNewOleDbCommand("select*fromusers",conn)

conn.Open()

DimdrAsOleDbDataReader=cmd.ExecuteReader

DoWhiledr.Read

Ifdr("username")=TextBox1.TextThen

Ifdr("userpwd")=TextBox2.TextThen

Session("username")=TextBox1.Text

Session("userpwd")=TextBox2.Text

Session("roleid")=dr("roleid")

IfSession("roleid")="教师"Then

Response.Redirect("teachers.aspx")

Else

Response.Redirect("students.aspx")

EndIf

EndIf

EndIf

Loop

DimerrAsString

err="用户名或密码错误"

Label2.Text=err

conn.Close()

EndSub

ProtectedSubsignup(ByValsenderAsObject,ByValeAsSystem.EventArgs)

Response.Redirect("signup.aspx")

EndSub

EndClass

5.2有关显示注册师生信息的代码

.<%@PageLanguage="VB"AutoEventWireup="true"CodeFile="userlist.aspx.vb"Inherits="userlist"%>

<%@ImportNamespace="System.Data"%>

<%@ImportNamespace="System.Data.OleDb"%>

SubPage_Load(SenderAsObject,EAsEventArgs)

'建立Connection对象

DimconnAsNewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\Users\ruoshui\Documents\VisualStudio2005\WebSites\WebSite2\dy.mdb")

'建立Command对象

DimcmdAsNewOleDbCommand("select*fromusers",conn)

'----------------------------------------------------------------------------------------------------------

'打开数据库连接

conn.Open()

'建立DataReader对象

DimdrAsOleDbDataReader=cmd.ExecuteReader()

'下面开始显示数据,先显示标题

message.Text="ID姓名职位性别qq号码电话号码工作单位邮箱地址"

'再利用循环显示每一条记录

DoWhiledr.Read()

message.Text&=""

message.Text&=""&dr.Item("id")&""

message.Text&=""&dr.Item("username")&""

message.Text&=""&dr.Item("roleid")&""

message.Text&=""&dr.Item("sex")&""

message.Text&=""&dr.Item("qq")&""

message.Text&=""&dr.Item("tel")&""

message.Text&=""&dr.Item("units")&""

message.Text&=""&dr.Item("email")&""

message.Text&=""

Loop

message.text&=""

'关闭数据库

conn.Close()

EndSub

返回

注册师生信息总汇

Labelid="message"runat="server"/>

5.3有关注册的代码

ImportsSystem.Data

ImportsSystem.Data.OleDb

PartialClasssignup

InheritsSystem.Web.UI.Page

SubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)

DimconnAsNewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("dy.mdb"))

DimstrsqlAsString

DimerrorsAsString

DimconttAsInteger

contt=0

errors="用户名已存在"

strsql="insertintousers(username,userpwd,submitdate,roleid,sex,tel,email,qq,intro,units)values('"&TextBox2.Text&"','"&TextBox3.Text&"',#"&Now()&"#,'"&DropDownList1.SelectedItem.Value&"','"&DropDownList2.SelectedItem.Value&"','"&TextBox5.Text&"','"&TextBox6.Text&"','"&txtQQ.Text&"','"&txtIntro.Text&"','"&TextBox7.Text&"')"

Dimcmd1AsNewOleDbCommand(strsql,conn)

Dimcmd2AsNewOleDbCommand("select*fromusers",conn)

conn.Open()

DimdrAsOleDbDataReader=cmd2.ExecuteReader

DoWhiledr.Read

Ifdr("username")=TextBox2.TextThen

conn.Close()

contt=1

 

GoToll

'Response.End()

EndIf

Loop

ll:

Ifcontt=0Then

cmd1.ExecuteNonQuery()

conn.Close()

Session("username")=TextBox2.Text

Session("userpwd")=TextBox3.Text

Session("roleid")=DropDownList1.SelectedItem.Value

IfDropDownList1.SelectedItem.Value="教师"Then

Response.Redirect("teachers.aspx")

Else

Response.Redirect("student.aspx")

EndIf

Else

Response.Write("window.parent.location.href='err.aspx';")

EndIf

EndSub

EndClass

结  论

由于平常对网络编程这门不够重视,导致动手能力很差,这个答疑系统做的虽然非常简单,功能不是很全面,也不是非常好用,但还是费了我一番力气。

做完这个大程序,首先感觉功能太缺乏,虽然想法很多,但由于自己水平有限,不能一一实现,留下了不少遗憾。

比如,可以设置多个栏目,如计算机天地,专门探讨关于计算机方面的问题,文学典故,讨论关于文学方面的问题等等,如果可能还可以加上聊天室的私聊功能,这样在线用户可以相互沟通无障碍,无顾忌了。

还有打分系统,对老师的回复进行评分测评等等,由于时间及水平不足的原因,暂时先放弃,希望以后能够弥补。

这次实验遇到的最大的困难便是关于数据库的操作问题,由于以前没有学过数据库,对数据库数据存取的原理理解的不是很深,也基本很少用过数据库,导致做这次大作业时,只要遇到关于数据库读取或写入时,只能转向课本,寻找数据库连接绑定等相关代码,以便从中的到启发。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1