C#教务管理系统设计与实现Word文档格式.docx

上传人:b****2 文档编号:5857263 上传时间:2023-05-05 格式:DOCX 页数:11 大小:84.11KB
下载 相关 举报
C#教务管理系统设计与实现Word文档格式.docx_第1页
第1页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第2页
第2页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第3页
第3页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第4页
第4页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第5页
第5页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第6页
第6页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第7页
第7页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第8页
第8页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第9页
第9页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第10页
第10页 / 共11页
C#教务管理系统设计与实现Word文档格式.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C#教务管理系统设计与实现Word文档格式.docx

《C#教务管理系统设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《C#教务管理系统设计与实现Word文档格式.docx(11页珍藏版)》请在冰点文库上搜索。

C#教务管理系统设计与实现Word文档格式.docx

教务管理系统是每个学校的一项必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受到非常严重的损失,也会影响到每一个学生。

所以现如今设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要.

四、课程设计内容

1.系统总体结构

2。

数据库模块

由用户的需求分析和概念结构设计,最终设计了名为教务管理数据库的数据库,一部分数据库中的表如下所示:

表1-1admin表

表1-2teacher表

表1-3student表

表1—4class表

2.运行界面如图1—1所示:

图1-1主界面

图1—2课程界面

五、课程设计核心代码

Login。

aspx代码如下:

protectedvoidLogin1_Authenticate(objectsender,AuthenticateEventArgse)

try

stringusertype=((System.Web.UI。

WebControls。

ListControl)(this.Login1。

FindControl("

RadioButtonList1”)))。

SelectedValue;

intre=userinfo.usercheck(usertype,Login1.UserName,Login1.Password);

if(re!

=0)

{

e.Authenticated=false;

if(re==1){Login1。

FailureText="

用户登录失败!

”;

}

if(re==2){Login1.FailureText=”用户不存在!

”;

else

Session["

User_id"

]=Login1。

UserName;

Session[”user_power"

]=usertype;

e。

Authenticated=true;

catch(Exception)

return;

addclass。

aspx主要代码如下:

protectedvoidBtnadd_Click(objectsender,EventArgse)

stringsql="

insertintoclass(Class_id,Class_name,Class_college,Class_teacherid)values('

”+TBxCid。

Text+”'

,'

”+TBxCname。

Text+"

'

,’”+TBxCollege。

'

"

+DDLtid.SelectedValue+"

)"

intresult=connection。

ExecuteSql(sql);

if(result〉=1)

Response。

Write(MyUtility.Alert(”插入成功!

”));

Write("

〈scriptlanguge=’javascript'

〉window。

location.href=’addclass.aspx'

〈/script〉”);

choosecourse.aspx主要代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

stringsql,Islocked;

DataSetds;

if(!

IsPostBack)

sql="

SELECTx.Course_id,x.Course_name,x。

Course_credit,x.Course_PreCId,teacher_course.SCno,teacher_course.Teacher_id,teacher_course.CMax,teacher_course。

Class_id,teacher.Teacher_name,(SELECTCourse_nameFROMcourseASyWHERE(Course_id=x。

Course_PreCId))ASCPreCourse_nameFROMteacher_courseINNERJOINteacherONteacher_course。

Teacher_id=teacher。

Teacher_idINNERJOINcourseASxONteacher_course。

Course_id=x。

Course_idWHERE(x。

Course_kind='

2’)”;

ds=connection.ExecuteSelectSql(sql);

if(ds!

=null&

&

ds。

Tables。

Count〉0)

dgCourse.DataSource=ds。

Tables[0];

dgCourse。

DataBind();

for(inti=0;

i<

ds.Tables[0]。

Rows.Count;

i++)

selectcount(*)fromstudent_coursewhereCourse_id=”+ds。

Tables[0]。

Rows[i]["

Course_id”]。

ToString()+"

andSCno="

+ds.Tables[0]。

Rows[i][”SCno"

].ToString();

DataSetds1=connection.ExecuteSelectSql(sql);

if(ds1!

=null&&ds1.Tables。

Count>

0&

ds1。

Tables[0].Rows.Count>

0)

dgCourse.Items[i].Cells[6].Text=ds1.Tables[0]。

Rows[0][0]。

ToString();

sql=”SELECTSLockedFROMstudentwhereStudent_id=’"

+Session["

]。

SqlCommandcoursecommand=newSqlCommand(sql,connection。

getconnection());

coursecommand.Connection。

Open();

Islocked=coursecommand.ExecuteScalar()。

ToString();

Close();

if(Islocked==”1”)

Session["

Locked"

]=true;

else

Locked”]=false;

sql=”selectcourse。

Course_name,course.Course_credit,course.Course_kind,Teacher。

Teacher_name,Teacher.Teacher_id,student_course.*fromstudent_course,Teacher,course,teacher_coursewherestudent_course.Student_id='

+Session[”User_id"

]。

ToString()+”’andstudent_course.SCno=teacher_course。

SCnoandstudent_course.Course_id=Course。

Course_idandteacher_course.Teacher_id=Teacher。

Teacher_idandteacher_course。

Course_id=course.Course_id"

ds=connection。

ExecuteSelectSql(sql);

&ds.Tables。

dgselectedCourse。

DataSource=ds。

Tables[0];

DataBind();

boollocked=bool.Parse(Session["

Locked”]。

ToString());

if(!

locked)

lbLock.Text="

您尚未锁定选课信息!

选课信息已被锁定!

Label1。

Text=”您所要学习的课程(必修和选修的):

btnLock。

Visible=false;

Columns[8].Visible=false;

Columns[10]。

addgrade.aspx主要代码如下:

stringsql;

protectedvoidPage_Load(objectsender,EventArgse)

sql=”selectteacher_course。

SCno,teacher_course.Course_id,course.Course_namefromcourse,teacher_coursewhereteacher_course.Teacher_id='

ToString()+”'

andteacher_course.Course_id=course。

Course_id”;

DataSetds=connection。

if(ds!

=null&&

ds.Tables.Count>

DataViewdv=newDataView(ds。

Tables[0]);

GVcourse.DataSource=dv;

GVcourse.DataBind();

GVcourse。

SelectedIndex=—1;

protectedvoiddgSC_EditCommand(objectsource,System.Web.UI.WebControls。

DataGridCommandEventArgse)

dgSC.EditItemIndex=e.Item。

ItemIndex;

sql=”selectstudent_course。

*,Student_namefromstudent_course,studentwhereCourse_id='

”+Lblcid.Text+”'

andSCno=’”+Lblscno。

Text+”'

andstudent_course.Student_id=student.Student_id"

;

dgscdatabind(sql);

六、课程设计心得体会

本系统通过一组数据的测试后,可以实现基本的功能,但是功能不是很完善。

管理员登陆后的功能还不够完善,有的地方效率不高,而且随着使用者的不同,系统的明朗度不够,所以系统的维护是非常重要的。

我觉得应该要对三方面进行维护。

一是对功能的维护,随着经济的发展等等社会因素,使用者对系统功能的要求越来越高。

所以系统设计者就要对功能进行进一步的分析.二是对数据库的维护,数据库是非常重要的东西,对数据结构进行修改,更新数据文件等。

三是代码的维护。

代码的可读性和可更新性非常重要,随着技术的发展,旧的代码不能适应新的技术,必须进行更新.

在教务管理系统的开发过程中,碰到了一些问题。

一些是因为粗心而导致了,一些是技术不过关的原因,碰到问题总结如下:

1.数据的关联性。

如删除了学生信息却没有将选课信息中相应学生选课信息进行删除.

2.在多表查询时,定义表的简称时出问题了,还有多表之间的连接,如果是用AND语句的话,每一个字段都必须指定已知值,内连接则不然。

通过查有关资料将此问题解决了。

3.实现数据的插入出错,一个表中的数据改动,将牵连到其他表中相关的数据,由于没有及时更新其他表中的数据。

导致其他信息的显示出错,提示没有任何记录,后来根据反复思考,终于找到了根本原因。

4.系统界面设计的困难,由于审美观欠缺,总觉得系统总的不好看,多次改动,引起其他更多问题,后来想还是做个模板好,可最终还是没用上模板。

由于学习asp时间不是很长,系统在设计过程中,难免存在不足之处。

在程序结构上系统设计得还不够紧密,对一些问题,如数据库的设计上没有统一,造成部分数据冗余。

其次,安全性上考虑不够仔细等等。

虽然毕业设计已接近尾声,但我想我的这个设计不会因为毕业设计的结束而停止,在今后的学习中,再就这些问题进行完善,争取做出一个完全能够适当教务管理的系统。

七、参考文献

VisualStudioC#2005案例

ASP.NET2。

0案例教程

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

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2