学生信息管理系统.docx

上传人:b****7 文档编号:9537028 上传时间:2023-02-05 格式:DOCX 页数:41 大小:658.49KB
下载 相关 举报
学生信息管理系统.docx_第1页
第1页 / 共41页
学生信息管理系统.docx_第2页
第2页 / 共41页
学生信息管理系统.docx_第3页
第3页 / 共41页
学生信息管理系统.docx_第4页
第4页 / 共41页
学生信息管理系统.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

学生信息管理系统.docx

《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(41页珍藏版)》请在冰豆网上搜索。

学生信息管理系统.docx

学生信息管理系统

软件学院

一级实践课题报告

课题名称:

学生信息管理系统

专业:

网络系统管理

班级:

网络092

学号:

200907062203

学生姓名:

江瑞霞

指导教师:

韩玉民

2011年1月14日

目录

第1章任务描述1

第2章工具与技术2

第3章实现3

3.1功能模块3

3.2流程分析4

3.3编程实现4

第4章结束语14

参考文献:

15

附录主要的源程序16

第1章任务描述

(1)学生信息管理

能够实现学生信息的添加、删除、修改和查询。

查询要求:

●基于学号查询(唯一性);

●基于姓名查询(可重复,考虑多个结果);

●基于班级查询(多个结果);

(2)班级信息管理

能够实现班级信息的添加、删除、修改和查询。

 

第2章工具与技术

开发工具:

MicrosoftVisualStudio开发平台

程序设计语言:

c#

技术特点:

简洁的语法

完全的面向对象程序设计

与Web紧密结合

充分的安全性与错误处理

灵活性

兼容性

 

第3章实现

3.1功能模块

图3-1班级信息管理

 

图3-2学生信息管理

 

3.2流程分析

学生信息管理系统主要采用的是c#语言编写的一个Windows应用程序,采用三层架构的设计方法,来实现系统的基本功能。

三层分别是数据访问层、业务逻辑层和表示层。

数据访问层的主要功能是用来连接数据库,并存放SQL处理语句的方法。

业务逻辑层的主要作用是调用数据访问层的方法,并且返回一个值。

表示层即用户界面,用来实现系统和用户的交互。

表示层可以调用业务逻辑层的返回值,也可以使用Model中定义的读写字段。

Model不属于三层结构中的任何一层,只是用来定义数据操作中用到的字段的。

3.3编程实现

3.3.1班级信息管理

1、查询

查询的时候出现了错误,尚未解决,错误如图3-3所示

图3-3错误

2、添加

添加信息主要使用DataGridView控件和Button控件实现的,利用DataGridView控件进行数据绑定,将数据库中的数据显示在用户界面上。

用户可以添加数据库中没有的记录。

如图3-4

图3-4添加班级信息

单击添加按钮,会提示添加成功,如图3-5

图3-5添加成功

单击确定后,该记录会出现在界面上的DataGridView控件中,如图3-6

图3-6显示添加成功

3、修改

修改也是通过Button控件实现的,操作时,先选中将要修改的记录,如图3-7

图3-7选中将要修改的记录

然后,单击修改按钮,出现如图3-8的结果

图3-8修改成功

再单击确定按钮,将显示已经修改过的记录,如图3-9

图3-9已经成功修改记录

4、删除

删除功能也是通过Button按钮实现的,如果想删除某条记录:

首先,选中某条记录,单击删除按钮,出现如图3-10的结果

图3-10删除成功

然后,单击确定按钮,该记录将被删除,如图3-11

图3-11已经删除

3.3.2学生信息管理

1、查询

学生信息查询出现了如图3-12所示的错误

图3-12错误

2、添加

在填写完成想要添加的学生信息后,填写如图3-13

图3-13填写将要添加的记录信息

单击添加按钮,出现如图3-14的结果

图3-14添加成功

单击确定按钮,记录被成功添加,结果如图3-15

图3-15已经成功添加记录

3、修改

选中想要修改的记录,并且进行修改,如图3-16

图3-16修改记录

单击修改按钮,出现如图3-17的提示

图3-17修改成功

单击确定按钮,信息已经被修改过了,如图3-18所示

图3-18成功修改学生信息

4、删除

选中想要删除的记录,如图3-19

图3-19选中记录

单击删除按钮,出现如图3-20的提示

图3-20删除成功

单击确定按钮,该记录从学生信息管理界面上被删除,如图3-21所示

图3-21成功删除选中记录

第4章结束语

我觉得自己较好地完成了本次实践课题,运行程序可以实现基本的功能。

但是,我觉得自己还有很多的不足和需要改进的地方。

工具栏和菜单栏一直令我困惑,我不太清楚怎么把工具栏和菜单栏对应起来,而且这是一个比较小的系统,我不知道怎样写菜单栏中的子菜单,也不知道工具栏应该有哪些工具。

所以在设计的时候,我没有使用工具栏。

虽然课题要求是把信息写成二进制文件,并保存为.dat格式,但是由于以前没有接触过这些,我也尝试着查看一些资料,来实现课题的要求,但是由于时间有限,我未能如期完成任务,只好用自己比较熟悉的数据库来保存班级和学生的信息。

我感觉很惭愧,学了一年半了,生成安装程序都没有听说过。

一看见课题上要求生成安装程序,我就感觉课题好陌生。

不过,在老师和同学的帮助下,我基本上熟悉了生成安装程序的步骤,但是有时不能成功地生成安装程序。

一年没学过新建项目的编程了,看到课题的我有点害怕。

不过,我经过一个学期网站设计的学习,还有三级课题的锻炼,我对做好课题还是充满了信心。

但是,在实训的过程中,我还是遇到了很多的困难和问题。

课题的要求用我们以前学过的知识大部分都无法解决。

如生成安装程序,我感觉好迷茫,通过老师的指导和相关资料的参考,我终于解决了这个问题。

二进制文件的存取是我遇到的最难的问题,尽管我查过相关的资料,也和同学讨论过,但是到现在还没有解决。

工具栏和菜单栏刚开始的时候我也有些迷茫,但是,经过查阅相关资料,向同学请教,我明白了它们的用法。

同时,我也认识到了项目开发这个行业的工作的困难和面临的挑战。

如果我们想在这个行业做的很好的话,就必须付出很多的努力。

对自己也有了一个清晰的认识,尽管我编程现在学的不怎么样,但是只要用心去做,我发现自己对编程还是很有兴趣的。

从课题实训中我发现了自己的兴趣爱好,我将一如既往的学习编程,将来从事编程方面的工作。

我最大的优点就是对于自己不懂的问题会及时查阅相关资料、问老师或者同学。

谢谢韩老师在我做课题的过程中给我的指导和帮助,谢谢给我帮助的同学们。

参考文献:

[1]童爱红.VisualC#.NET应用教程[M].北京:

人民邮电出版社,2004.3

[2]李兰友杨晓光.VisualC#.NET程序设计[M]北京:

清华大学出版社,2004.5

[3]韩玉民.计算机专业英语教学研究与实践[J].计算机与信息技术,2008,(6):

106-107.

附录主要的源程序

数据访问层主要程序代码

namespaceDal

{

publicclassDataBase//建立数据库连接

{

publicstaticstringsqlconn="datasource=LENOVO-PC;uid=qq;pwd=abcd;database=ZhonggongStudent";

}

}

namespaceDal

{

publicclassClasses

{

publicDataTableGetAll()

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

SqlDataAdapterda=newSqlDataAdapter("select*fromtb_ClassesInfo",conn);

DataSetds=newDataSet();

da.Fill(ds);

returnds.Tables[0];

}

publicboolAdd(Model.ClassesmClasses)//添加班级信息的方法

{

try

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

conn.Open();

SqlCommandcom=newSqlCommand();

com.Connection=conn;

com.CommandText="insertintotb_ClassesInfovalues(@ClassID,@ClassName,@TeacherName,@StudentNum)";

com.Parameters.Add(newSqlParameter("@ClassID",mClasses.ClassID));

com.Parameters.Add(newSqlParameter("@ClassName",mClasses.ClassName));

com.Parameters.Add(newSqlParameter("@TeacherName",mClasses.TeacherName));

com.Parameters.Add(newSqlParameter("@StudentNum",mClasses.StudentNum));

com.ExecuteNonQuery();

conn.Close();

returntrue;

}

catch

{

returnfalse;

}

}

publicboolUpdate(Model.ClassesmClasses)//修改班级信息的方法

{

try

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

conn.Open();

SqlCommandcom=newSqlCommand();

com.Connection=conn;

com.CommandText="updatetb_ClassesInfosetClassName=@ClassName,TeacherName=@TeacherName,StudentNum=@StudentNumwhereClassID=@ClassID";

com.Parameters.Add(newSqlParameter("@ClassID",mClasses.ClassID));

com.Parameters.Add(newSqlParameter("@ClassName",mClasses.ClassName));

com.Parameters.Add(newSqlParameter("@TeacherName",mClasses.TeacherName));

com.Parameters.Add(newSqlParameter("@StudentNum",mClasses.StudentNum));

com.ExecuteNonQuery();

conn.Close();

returntrue;

}

catch

{

returnfalse;

}

}

publicboolDelete(stringClassID)//删除班级信息的方法

{

try

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

conn.Open();

SqlCommandcm=newSqlCommand();

cm.Connection=conn;

cm.CommandText="deletefromtb_ClassesInfowhereClassID=@ClassID";

cm.Parameters.Add(newSqlParameter("@ClassID",ClassID));

cm.ExecuteNonQuery();

conn.Close();

returntrue;

}

catch

{

returnfalse;

}

}

publicDataTableGetList(stringstrWhere)//查询班级信息的方法

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

SqlDataAdapterda=newSqlDataAdapter();

SqlCommandcmd=newSqlCommand();

cmd.Connection=conn;

stringsqlStr="select*fromtb_ClassesInfo"+strWhere;

cmd.CommandText=sqlStr;

da.SelectCommand=cmd;

DataSetds=newDataSet();

da.Fill(ds);

returnds.Tables[0];

}

}

}

namespaceDal

{

publicclassStudents

{

publicDataTableGetAll()

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

SqlDataAdapterda=newSqlDataAdapter("select*fromtb_UserInfo",conn);

DataSetds=newDataSet();

da.Fill(ds);

returnds.Tables[0];

}

publicDataTableGetAll1()

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

SqlDataAdapterda=newSqlDataAdapter("select*fromtb_StudentsInfo",conn);

DataSetds=newDataSet();

da.Fill(ds);

returnds.Tables[0];

}

publicboolAdd(Model.StudentsmStudent)

{

try

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

conn.Open();

SqlCommandcom=newSqlCommand();

com.Connection=conn;

com.CommandText="insertintotb_StudentsInfovalues(@StudentID,@StudentName,@StudentSex,@Subject,@StudentBirthday,@ClassID,@AvergeGrade)";

com.Parameters.Add(newSqlParameter("@StudentID",mStudent.StudentID));

com.Parameters.Add(newSqlParameter("@StudentName",mStudent.StudentName));

com.Parameters.Add(newSqlParameter("@StudentSex",mStudent.StudentSex));

com.Parameters.Add(newSqlParameter("@Subject",mStudent.Subject));

com.Parameters.Add(newSqlParameter("@StudentBirthday",mStudent.StudentBirthday));

com.Parameters.Add(newSqlParameter("ClassID",mStudent.ClassID));

com.Parameters.Add(newSqlParameter("AvergeGrade",mStudent.AvergeGrade));

com.ExecuteNonQuery();

conn.Close();

returntrue;

}

catch

{

returnfalse;

}

}

publicboolUpdate(Model.StudentsmStudent)//修改学生信息的方法

{

try

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

conn.Open();

SqlCommandcom=newSqlCommand();

com.Connection=conn;

com.CommandText="updatetb_StudentsInfosetStudentName=@StudentName,StudentSex=@StudentSex,Subject=@Subject,StudentBirthday=@StudentBirthday,ClassID=@ClassID,AvergeGrade=@AvergeGradewhereStudentID=@StudentID";

com.Parameters.Add(newSqlParameter("@StudentID",mStudent.StudentID));

com.Parameters.Add(newSqlParameter("@StudentName",mStudent.StudentName));

com.Parameters.Add(newSqlParameter("@StudentSex",mStudent.StudentSex));

com.Parameters.Add(newSqlParameter("@Subject",mStudent.Subject));

com.Parameters.Add(newSqlParameter("@StudentBirthday",mStudent.StudentBirthday));

com.Parameters.Add(newSqlParameter("ClassID",mStudent.ClassID));

com.Parameters.Add(newSqlParameter("AvergeGrade",mStudent.AvergeGrade));

com.ExecuteNonQuery();

conn.Close();

returntrue;

}

catch

{

returnfalse;

}

}

publicboolDelete(stringStudentID)//删除学生信息的方法

{

try

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

conn.Open();

SqlCommandcm=newSqlCommand();

cm.Connection=conn;

cm.CommandText="deletefromtb_StudentsInfowhereStudentID=@StudentID";

cm.Parameters.Add(newSqlParameter("@StudentID",StudentID));

cm.ExecuteNonQuery();

conn.Close();

returntrue;

}

catch

{

returnfalse;

}

}

publicDataTableGetList(stringstrWhere)//查询学生信息的方法

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=DataBase.sqlconn;

SqlDataAdapterda=newSqlDataAdapter();

SqlCommandcmd=newSqlCommand();

cmd.Connection=conn;

stringsqlStr="select*fromtb_StudentsInfo"+strWhere;

cmd.CommandText=sqlStr;

da.SelectCommand=cmd;

DataSetds=newDataSet();

da.Fill(ds);

returnds.Tables[0];

}

}

}

业务逻辑层的主要代码:

namespaceBLL

{

publicclassClasses

{

publicDataTableGetAll()

{

returnnewDal.Classes().GetAll();

}

publicboolAdd(Model.ClassesmClass)

{

returnnewDal.Classes().Add(mClass);

}

publicboolUpdate(Model.ClassesmClasses)

{

returnnewDal.Classes().Update(mClasses);

}

publicboolDelete(stringClassID)

{

returnnewDal.Classes().Delete(ClassID);

}

publicDataTableGetList(stringstrWhere)

{

returnnewDal.Classes().GetList(strWhere);

}

}

}

namespaceBLL

{

publicclassStudents

{

publicDataTableGetAll()

{

returnnewDal.Students().GetAll();

}

public

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

当前位置:首页 > 初中教育 > 理化生

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

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