C#.net成绩管理系统项目开发总结心得体会

《成绩管理系统》C#项目开发总结 姓名:史建军 学号:P111713266 班级:11级软件(2)班

一、心得体会

学生成绩管理系统是一功能十分強大的管理系统,它集各种功用于一身,可以完成教学中的各种操作,如对学生的成绩的添加.删除等。学生成绩管理系统功能大,

程序编写也十分复杂,工作量很大,编写一定要认真。一个小小的失误都可能使程序出现大的漏洞。

建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。 我们这次完成学生成绩管理系统分三步.

(1)是对要写成的学生成绩管理系统做全面的分析,即对学生成绩管理系统要使用的编写方法,管理功用,运行方式进行分析,并作出明确的解决方案.针对这次的学生成绩管理系统,它的流程是:以老师和学生两种方式进入,要有密码认证.学生进入系统在能查看此学生的各科目的成绩,平均分,各科最高分和总分.老师进入系统也能查看各位学生的成绩,并能添加,删除学生和学生成绩,对学生成绩进行总分,平均分的运算.

(2)是程序的编写.由于学生成绩管理系统的功能十分強大,程序的编写也十分的复杂,所以我们四人一组,每人完成一部分程序.程序的

编写是一项困难的任务,完成此程序必需运用书中的大部分知识,而且要有清晰的思路,有较強的语言组织能力.由于四人各完成一部分,所以最后四部分程序要能衔接得十分完整,所以四个人要在编写自己的程序的基础上考虑其他人的程序结构.编写程序就是一项十分困难的事,所以一定要细心,不能有一丝的马虎,否则会前功尽弃.

(3)是程序的检查和系统的调用.程序写完后并不能保证它一定能运行,所以要对它进行调试,发现其中的弊端,并作出相应的修改,以完善程序,使其逻辑性,运算能力都符合题目要求,使学生成绩管理系统的运行

二、项目开发总结

开发工具选择

本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 20xx作为主要开发工具,可与SQL Server 20xx数据库无缝链接。

定义

Visual C#——C#是微软开发的一种面向对象的编程语言,是微软.NET开发环境的重要组成部分。而Microsoft Visual C# 20xx是微软开发的C#编程集成开发环境(同种产品还有Borland公司的C# Builder),它是为生成在 .NET Framework 上运行的多种应用程序而

设计的。

产品

最终制成的产品,包括:

a. 程序系统中包括学生成绩查询模块,教师成绩管理模块,管理员模块,学生成绩查询时在账号及学号进入界面后能够对其的选修课与必修课成绩查询,但是不能修改,可以对自己的密码进行修改。教师可以上传成绩。管理员可以对教师信息,学生信息,课程信息进行修改与添加。但是不能对其成绩进行改变。他们数据时建立了表单,存放在数据库中,通过关键字与外关键字使他们产生联系。最终存取与提取数据。

b. 学生成绩管理系统,运行,教师登录界面是教师号与初始密码111111,学生是用户名是学号,初始密码是111111。 c. 建立的数据库database。在运行该系统式要配置一定的虚拟服务器。

主要功能和性能

学生成绩查询模块:学生成绩查询时在账号及学号进入界面后能够对其的选修课与必修课成绩查询,但是不能修改,可以对自己的密码进行修改。

教师成绩管理模块:教师可以上传成绩,对自己的账号密码可以修改。

管理员模块:管理员可以对教师信息,学生信息,课程信息进行修改与添加。但是不能对其成绩进行改变。

本系统基本达到我们预设的全部功能,并希望在以后的使用中逐渐完善。

出错原因的分析

给出对于开发中出现的错误的原因分析。团队的沟通在开始项目前没有做好协商,而且以前编程太少,对程序的驾驭能力还够强。以及对asp.net的网页编程还不太熟。

经验与教训

经过这次开发,我们尽力了从需求分析到成品发布的全部过程。从中我们认识到,要开发一个软件产品,必须对它所有涉及到的各个方面都要有所了解。关键地方必须熟悉。作为设计者的系统分析阶段,必须对不同模块的联系,工作量有正确的认识才能合理的分配任务。管理者要时刻保持清醒,要有合理的进度和质量的控制,才能保证按时按量的完成任务。这次最大的教训是,对进度的掌握不是很好,整个项目的进度没有一定的节奏,忽快忽慢的。幸好最后按时完成了任务。管理者的头脑不清楚,就会导致整个团队走很多的弯路。所以一个领导者是非常重要的。项目是要在过硬的技术基础上有严格的管理,才能确保工程的质量与数量 同时得到满意的效果。

 

第二篇:C#.net在线考试系统项目开发总结心得体会

《在线考试系统》C#项目开发总结 姓名:邬志成 学号:P111713287 班级:11级软件工程(2)班

一、课程设计目的

通过系统的制作,使我们熟悉系统开发的流程,更加熟练掌握C#语言的编程以及系统制作,同时可以减轻老师的工作负担提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。

背景

在我国,虽然远程教育已经蓬勃地发展起来了,但是目前学校与社会上的各种考试大都采用传统的考试方式。在此方式下,组织一次考试是至少要经过5个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。

显然,随着考试类型的不断增加以及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是十分繁琐和容易出错的,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高考试的质量,从而使考试更加趋于公正、客观、更加激发学生的学习兴趣。

在线考试系统要求对考生进行登录验证、考生选择考试科目、

限制考试时间、交卷后自动评分,同时需要为管理人员提供试卷管理及考生信息的相关管理,设计系统的主要目的是为考试减少不必要的浪费并且使考核学生成绩变得客观和公正。

二、课程设计的要求

(一)管理员用户

1、能对试题(只有单项选择题)进行管理(增加,修改和删除);

2、能对用户留言进行管理;

3、能管理注册用户(删除某用户);

4、 能查看所有用户的考试成绩。

(二)普通注册用户

1、可注册一新用户,注册内容项自定,但必须有上传照片项,所有项目须验证。

2、可登录进入考试页面进行考试,登录成功后考试页面上要显示用户信息和用户照片,同时显示相关试题(随机从题库表中任意抽取20题进行考试),用户做完试题后点提交试卷按钮结束考试,可使用消息框看到本次考试的成绩,并将相关信息存入成绩表中。

3、可查看留言和留言。

三、运行环境

系统开发平台:Microsoft.Visual.Studio.20xx;

系统开发语言:C#;

数据库软件:Microsoft SQL Server 20xx;

运行平台:windows xp/windows7

运行环境:Microsoft.NET Framework SDK v2.0

四、系统设计:

本系统有两个类型的用户,管理员和普通用户。用户在注册时可以设定自己的权限,注册成功可以跳转到登录页面登录.

如果是普通用户登录,就可以修改自己的信息,并自己进行留言和进行试题测试,查看开始时间/考试成绩和留言信息

如果是管理员登录系统,则可以对试题进行相关的操作,如增加试题。对注册的新用户进行管理,删除用户。对留言信息进行管理。并且可以查看学生的成绩。

运行:

在线考试系统的基本功能,包括系统用户的添加、考试试卷的添加、试题的添加和在线考试以及分数计算等。最后将所有模块组装成一个完整的系统。经过测试,系统实现了需求分析中的要求,运行正常,操作界面简洁。

五、心得体会

基于.net的在线考试系统的的设计与实现经过系统分析、需求分析、概要设计、详细设计等阶段基本了解了该系统的功能要求及设计的可行性。在线考试系统的基本功能,包括系统用户的添加、考试试卷的添加、试题的添加和在线考试以及分数计算等。最后将所有模块组装成一个完整的系统。经过测试,系统实现了需求分析中的要求,运行正常,操作界面简洁。

由于时间和技术水平的缘故,本系统还存在着许多方面的工作尚未完善。系统的各项功能基本都能正常运行,达到了初步设计的要求,但是还不够完善。比如插入试题模块功能还不完善,系统安全性有待提高。另外在试题的插入时,只能由管理员逐题进行录入,还没有实现试题的成套录入。界面的美化还得进一步细化,各功能模块也有待进行整改和完善。一个好的系统需要一段时间的跟踪及长期的维护,也许后期还有可能进行功能上的增加或改进,这些都需要在系统设计时考虑好,才能使一个系统被应用的时间更长。自己有待进一步提高,相信在以后的学习及生活中会将本设计修改的更加完善。

 

第三篇:学生信息管理系统论文及心得体会,MFC,VC++

中国石油大学(华东)计通学院

《沟通与协作实训》实习报告

专业班级: 软件工程1202

学    号:12072220

姓    名:卢凯瑞

                                20##年7月

第一部分

认知实习总结

(备注:小四字号,宋体,1.5倍行距,第一部分内容不少于3页)

一、 实习的意义和目的

实习是一种实践。是理论联系实际应用和巩固所学专业知识的一项重要环节,是培养我们能力和技能的一个重要手段。它对我们学生的动手能力有较大的意义,可以使我们理解软件工程专业在现实生活中的运用,也有助于为以后走向工作岗位打下牢固的基础。通过实习我们可以提前了解社会的需要,加深对社会的理解,缩短我们从一名大学生到一名社会工作人员之间的距离,为我们毕业后社会角色的转变打下基础。通过参加一些实践性活动巩固所学的理论,增长一些书本上学不到的知识和技能。因为知识要转化成真正的能力要依靠实践的经验和锻炼。面对日益严峻的就业形势和日新月异的社会,我觉得大学生应该转变观念,不要简单地把暑期打工作为挣钱或者是积累社会经验的手段,更重要的是借机培养自己的创业和社会实践能力。现在的招聘单位越来越看重大学生的实践和动手能力以及与他人的交际能力。作为一名大学生,只要是自己所能承受的,就应该把握所有的机会,正确衡量自己,充分发挥所长,以便进入社会后可以尽快走上轨道

学习工作技巧,提高了工作质量没有谁是天生就会,多是现学现卖,一个人的态度决定好坏。在大学里学的是方法,有了好的学习方法,面对新的工作挑战,我们要有足够的能力去应对,去学习,去适应,变得得心应手。在工作中想要有好的发展前景,必须在实践中找到工作技巧,从而提高工作效率和工作质量。而此次的实习正是给我们这个难得的机会,让我们从中受益。

二、认知实习时间:7月1日到7月7日

三、实习的具体流程

7月1日:早上从青岛校区出发,坐车去老校区参观,通过参观老校区让我们感受到老校区不一样的校园气氛,感受老校区的风采,感受老一辈为石油大学奋斗的环境,让我们对学校的一步步的成长有了更充分的认识,同时也增强了对石油大学的归属感,让我们为学校的成长感到自豪,了解老校区的历史和现状。通过参观各个院的办公楼,了解了不同的专业的建立时间。参观计算机专业的陈旧的楼,感受到计算机学院在学校的悠久的历史,让我们对自己学校的专业更加地充满信心。下午参观东营的中国联通大楼里的机房和服务器,及工作人员对我们进行的详细的介绍,让我们对自身专业在现实生活中的具体运用有了更加深刻的体会,极大地鼓舞了我们学习专业知识的热情,对未来有了更美好的憧憬,紧接着是冒雨去参观东营的软件园基地,里面的工作人员为我们进行了细致的介绍,给我们介绍许多专业方面的知识,带领我们去参观IBM的大型服务器,可以将其他有需要的公司的服务在该基地的服务器上运行,帮助中小型企业实现其经济能力以外的计算服务,因此也叫“云计算中心”。

7月2日:学院组织我们去听了苏兴书记的关于大学生职业规划的讲座,也是让人受益匪浅,先是给我们进行了专业前景的分析,对于计算机方面的前景给我们进行了细致的分析及比较,相对于其他的传统领域的专业来说,计算机专业是一门新兴的课程,产生的时间较短,但是发展的前景很广阔,只要我们有很强的能力,以后无论走到哪都会受到重用,现在我们要做到的就是去充实自己的生活,补充自己的不足,为以后走向社会打下比较好的基础。还有就是我们应该勇于去改变现状,痛苦才能带来改变——富兰克林如是说,我们应该勇于去改变,不断地去改掉自己的陋习,改变的过程注定是艰辛的,但是只要你坚持下来,带来的改变有事很可观的,比如每天看2小时自己感兴趣的书,坚持下来的就会使自己不断改变,最终慢慢地变成你向往成为的那类人,这个过程注定有许多人会放弃,只要我能做到不放弃,那么成功我相信是指日可待的。

7月3日:在学校老师的带领下,我们参观了学校的许许多多以前所不知道的实验基地,有很多建立的年代比较久,有专门的实验老师指导,每个学生都有自己的一台电脑,配置较齐全,深深地感受到了学校计算机的学习氛围的浓厚,还有智能小车的实验室,许多人靠着自学书上的知识,然后将其运用到实际当中,有四轮的小车,也有两轮的站立的小车,通过内置的平衡仪来实现自身的平衡,当然这一切都离不开算法,很多小车能已很快的速度实现准确的转弯,其反应能力是人类的反应能力所不及的,通过自身的摄像头来感知前方的路线,提起做好转弯的准备,其中的算法均是用编程实现的,所以学好编程就具有许多的应用。

7月4日:学校的校园卡管理老师对我们进行了校园卡的全方面的讲解,校园卡的使用极大的方便了我们的生活,可以在食堂、超市、浴室、门禁系统、图书馆进行使用,实现一卡在手,走遍学校无忧。在老师为我们讲解完校园卡的原理之后,还进行了答疑的阶段,许多好奇的同学也结合自身提出一些不明白的原理,都得到了老师的详细解答。晚上为我们讲课的是网络中心的主任,他是一名学校的功臣,自从青岛校区在建的时候,他就开始了青岛校区校园网络的建设,历经几年的时间,将校园网建成,并在不断实现更多的功能,不断扩宽学校的网络带宽。他给我们介绍了许多同学们在日常生活中常见的问题,例如:为什么将分路器的两个端口用一根线连起来之后就会使分路器失效,在讲解的过程中还进行了比喻,将分路器比作是一个人在传输包裹,如果将其构成了回路的话,就会在分路器内部形成一个循环,这个循环就会导致下一个包裹的传输,这就简单地为我们解释了问题产生的原因。紧接着还为我们介绍了ping在网络检测中的应用,例如我们可以在运行框里输入ping www.baidu.com –n 10来看打开百度网的时间,从而判断其网络速度的快慢。最后,主任给我们进行答疑,在这个环节,很多同学提出的问题也是令人受益匪浅,让我感受到学校对网络的支持力度大,网络带宽的不断提升,才有了我们现在上网速度快,学习效率大大提高的结果。

四、实习的心得

    通过这几日的实习,大大地开拓了我的眼界,让我认识到现在计算机行业的发展现状,为我们日后走向工作岗位打下了较为坚实的基础,通过参观实验基地,我们了解了服务器是如何将许多的机器连接到一起的,通过去老校区的参观,让我们对母校的历史有了更为深刻的理解,增强了母校的归属感,参观东营市联通大楼,通过网络拓扑图,我了解到东营的网络构成及各个网络是怎么联系到一起的,软件园的参观则让人了解到了一个全新的概念,什么叫做“云计算”,紧接着职业规划,让我对大学的生活有了更加深刻的思考,大学能做什么,什么才是自己想做的,然后是学习到了许多书本上没有的知识,也理解了什么叫“纸上得来终觉浅,绝知此事要躬行”,学习理论要和学习实际的相结合,然后才能够将知识彻彻底底地理解,而且对于一些自己不到的东西一定要让自己明白,学有余力的时候,甚至可以给自己学习一些非自身专业的但是自己喜欢的方面的知识,毕竟是技多不压身!

第二部分

《程序设计实习》实习报告

题目:《学生信息管理系统》

(备注:正文用小四字号,宋体,1.5倍行距。不少于5000字。如果第二部分报告多于20页,请双面打印)

一、题目介绍

(包括:题目背景简介、系统达到目标等)

二、主要内容

(详细介绍系统总体功能、模块划分,以及每个模块的具体实现)

三、技术总结

(包括:使用的主要技术、遇到的技术问题及解决方法总结、关键代码(不要超过2页))

四、心得体会

目录

一、  题目介绍

1.1————————————————————题目背景简介

1.2————————————————————系统达到目标

二、系统功能介绍

   

 2.1——————————————————介绍系统总体功能

    

2.2—————————————————介绍系统的模块划分

    

2.3—————————————————每个模块的具体实现

三、技术总结

    

3.1———————————————————使用的主要技术

    

3.2——————————————————遇到的问题及解决

    

3.3——————————————————关键的代码

四、心得体会

——1.1题目背景简介

     随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

    本文介绍了在Visual C++6.0环境下开发一个管理信息系统的过程。通过分析学校学生管理系统的不足,创建了一套行之有效的计算机管理学生的方案。本论文介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了学生信息管理系统功能设计;系统实现部分说明了几个主要模块的算法,本系统操作简单,比较实用。

——1.2系统达到的目标

 

      使用下面的数据,用VC设计一个简单的学籍管理系统,实现出最基本的功能。

学生基本信息存储在文件(A.TXT)中, A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成,其示例内容如下:

学号   姓名   性别    宿舍号码  电话号码

01    张成成  男    501     87732111

02    李成华  女    101     87723112

03    王成凤  女    101     87723112

04    张明明  男    502     87734333

05    陈东    男    501     87732111

06    李果    男    502     87734333

07    张园园  女    102     87756122

…     …     …     …   …   …

学生成绩基本信息存储在文件(B.TXT)中,其示例内容如下:

学号 课程编号 课程名称  学分 平时成绩  实验成绩   卷面成绩   综合成绩  实得学分

01    A01    大学物理    3    66        78         82     

02    B03    高等数学    4    78        -1         90

01    B03    高等数学    4    45        -1         88

02    C01    VF         3    65        76         66

…     …    …      …      …       …     …    …      …   

二、基本功能要求

1.  增加功能:

设计界面,在系统中能分别录入学生信息和成绩信息,并分别存储到A.txt和B.txt文件中。

2.  数据读入功能:

对B.TXT进行数据读入,包括每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。综合成绩、学分由程序根据条件自动运算

综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%。

实得学分的计算:采用等级学分制。

综合成绩在90-100之间,应得学分=学分*100%,综合成绩在80-90之间,应得学分=学分*80%,综合成绩在70-80之间,应得学分=学分*75%,综合成绩在60-70之间,应得学分=学分*60%,综合成绩在60以下 ,应得学分=学分*0%。

3.查询功能:

分为学生基本情况查询和成绩查询两种

A:学生基本情况查询:

A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。

A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。

B:成绩查询:

B1:输入一个学号时,查询出此生的所有课程情况,格式如下:

学    号:xx       姓    名:xxxxx

课程编号:xxx      课程名称:xxxxx    综合成绩:xxxx   实得学分: xx

课程编号:xxx      课程名称:xxxxx    综合成绩:xxxx   实得学分: xx

课程编号:xxx      课程名称:xxxxx    综合成绩:xxxx   实得学分: xx

…     …       …       …     …      …      …      …     …

共修:xx科,实得总学分为: xxx

4.删除功能:

当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。

三、扩展功能

1.排序功能:

实现选择按综合成绩或实得学分升序或降序排序并显示数据。

2.导出功能:

把系统中的学生信息、成绩信息全部或根据用户条件进行部分导出,导出到Word或Excel中。

四、界面要求

界面不做具体的规定,可自行设计。但要本着简洁使用、操作方便、视觉美观的原则。

——2.1介绍系统的总体功能

该系统主要包括学生信息、成绩信息的添加、修改、删除、及导入和导出功能。

 

 

——2.2介绍系统总体功能划分

 

 

 

学生信息管理系统的总功能设计图

 

                                  

                                                                  

                                                             添加功能    数据读入功能       查询功能          删除功能     排序功能

 

                         

——2.3介绍每个系统的具体实现

 添加功能

                               

                                                

                                               

         添加学生基本信息                添加学生成绩信息

                                              

         输入学生基本信息                输入学生成绩信息

                                                  

调用CStudentInfo::OnBtnTjxx()函数  调用CChengjiInfo::OnBtnTjxx()函数

                           查找功能

                              

                                                   

                                                 

学生基本信息查询                         学生成绩信息查询

                                                                       

调用导入函数                            调用导入函数

导入学生基本信息                        导入学生成绩信息 

                                              

调用CStudentInfo::OnBtnTdcz()函数   调用CChengjiInfo::OnBtnTdcz()函数

 

 

 

                          修改功能

                                                    

                                                  

       学生基本信息修改                       学生成绩信息修改

                                                  

 调用修改函数                            调用修改函数

修改学生基本信息                        修改学生成绩信息

                                                 

调用CStudentInfo::OnBtnXgxx()函数   调用CChengjiInfo::OnBtnXgxx()函数

 

 

                       删除功能

                                                    

                                                  

       学生基本信息删除                       学生成绩信息删除

                                                  

 调用删除函数                            调用删除函数

删除学生基本信息                        删除学生成绩信息

                                                 

调用CStudentInfo::OnBtnScxx()函数   调用CChengjiInfo::OnBtnScxx()函数

 

——3.1使用的主要技术

        本学生信息管理系统在VC++中实现,主要使用windows的MFC中的功能,参考了较多的书籍,最终采用的是access数据库,而非要求的从txt文件中导入,数据库中的表格设计较为简单,添加数据的时候,则是先在数据库中添加,然后调用函数从数据库中导入数据,也可以在学生系统中添加信息,现在相应的编辑框内输入数据,然后调用UpdateData(true)从编辑框中读入数据,然后使用OnInitADOConnect()连接数据库,然后逐个信息读入数据库,最后ExitConnect()关闭数据库。其他的功能如修改,删除使用的技术与此相一致,主要步骤是:UpdateData(true) 从编辑框中读入数据

            OnInitADOConnect()连接数据库

            ExitConnect()关闭数据库

——3.2遇到的问题及解决

     在设计及制作程序时,在导入及导出的问题上停留较长时间,主要是在之前的课堂学习上并没有接触过,很多的东西对于我来说都是新的,都必须现学现用,最后还是通过书上的一篇较类似的程序触发了灵感,而导入导出数据库的代码,则是从书中借鉴,但是遇到了许多的错误,必须得一个个地去解决,很多的错误都是新的,于是就通过网络的力量,一个个去了解,一个个去解决,经过一步步的修改,最后程序勉强能运行了,然后通过测试一些数据,找到一些小漏洞,经过仔仔细细的检查和分析,将错误尽量的减少。

——3.3关键的代码

3.3.1——添加学生信息程序的源代码

    void CStudentInfo::OnBtnTjxx()

{   UpdateData(true); OnInitADOConnect();//连接数据库

    _bstr_t sql="select * from StudentInfo";

    m_pRecordset.CreateInstance(_uuidof(Recordset));

    m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

    GetDlgItemText(IDC_EDIT_DAY,m_DAY);

    try

    {   //向数据库里添加新的纪录

        m_pRecordset->AddNew();   

        m_pRecordset->PutCollect("学号",(_bstr_t)m_ID);

        m_pRecordset->PutCollect("姓名",(_bstr_t)m_NAME);

        m_pRecordset->PutCollect("性别",(_bstr_t)m_SEX);

        m_pRecordset->PutCollect("籍贯",(_bstr_t)m_ZG);

        m_pRecordset->PutCollect("学院",(_bstr_t)m_SCHOOL);

        m_pRecordset->PutCollect("专业",(_bstr_t)m_ZY);

        m_pRecordset->PutCollect("出生日期",(_bstr_t)m_DAY);

        m_pRecordset->PutCollect("电话号码",(_bstr_t)m_PHONE);

        m_pRecordset->Update();

        ExitConnect();//关闭数据库}catch(_com_error e)

    {AfxMessageBox("添加失败");return;}

    MessageBox("添加成功");

    m_Info.DeleteAllItems();//清空列表框

    AddDB();//重新显示数据}

3.3.2——添加成绩信息的程序的源代码

void CChengjiInfo::OnBtnTjxx()

{   UpdateData(true);   OnInitADOConnect();       

    _bstr_t sql="select * from ChengjiInfo";

    m_pRecordset1.CreateInstance(_uuidof(Recordset));

  m_pRecordset1->Open(sql,m_pConnection1.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

    try

    {  m_pRecordset1->AddNew();    //添加新的纪录

        m_pRecordset1->PutCollect("学号",(_bstr_t)m_ID);

        m_pRecordset1->PutCollect("姓名",(_bstr_t)m_NAME);

        m_pRecordset1->PutCollect("性别",(_bstr_t)m_SEX);

        m_pRecordset1->PutCollect("专业名称",(_bstr_t)m_ZYNAME);

        m_pRecordset1->PutCollect("班级",(_bstr_t)m_class);

        m_pRecordset1->PutCollect("科目名称",(_bstr_t)m_KCNAME);

        m_pRecordset1->PutCollect("成绩",(_bstr_t)m_CJ);

        m_pRecordset1->PutCollect("学期",(_bstr_t)m_XQ);

        m_pRecordset1->Update();      ExitConnect();       }

    catch(_com_error e)

    {AfxMessageBox("添加失败");return;}

    MessageBox("添加成功");m_Info.DeleteAllItems();AddDB();}

3.3.3——删除学生信息的程序的源代码

void CStudentInfo::OnBtnScxx()

{   UpdateData(true);

    if(MessageBox("是否真的要该删除信息?","提示",MB_YESNO|MB_ICONQUESTION)==IDNO)

    {  return;}

    OnInitADOConnect();//连接数据库

    CString sql;

    sql.Format("delete * from StudentInfo where 学号='%s'",m_ID);

    try

    {m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);

        m_pConnection->Close();m_pConnection.Release();}

    catch(_com_error e)

    {AfxMessageBox("删除失败");return;}

    MessageBox("删除成功");

    m_Info.DeleteAllItems();AddDB();}

3.3.4——删除成绩信息的程序的源代码

void CChengjiInfo::OnBtnScxx()   

{   UpdateData(true);

    if(MessageBox("是否真的要该删除信息?","提示",MB_YESNO|MB_ICONQUESTION)==IDNO)

    {  return;}    OnInitADOConnect();

CString sql;

sql.Format("delete * from ChengjiInfo where 学号='%s' and 姓名='%s' and 科目名称='%s'",m_ID,m_NAME,m_KCNAME);

   try

    {m_pConnection1->Execute((_bstr_t)sql,NULL,adCmdText);

        m_pConnection1->Close();

        m_pConnection1.Release();}catch(_com_error e)

    {AfxMessageBox("删除失败");return;}

    MessageBox("删除成功");m_Info.DeleteAllItems();AddDB();}

3.3.4——导出成绩信息的程序的源代码

void CStudentInfo::OnBtnExecl()

{if(IDNO==MessageBox("是否导出当前页面显示的数据!","提示",MB_ICONQUESTION | MB_YESNO))return;

    if(ExcelSql.IsEmpty())

    {MessageBox("当前页面没有数据!","提示");return;}

    app1.SetVisible(true);    app1.SetUserControl(true);

    Workbooks  books;   _Workbook  book;  

    Worksheets  sheets;   _Worksheet  sheet;  

    LPDISPATCH  lpDisp;   Range   range;  

    COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); 

    books.AttachDispatch(app1.GetWorkbooks()); 

    book = books.Add(covOptional);    

    sheets = book.GetWorksheets();    

    sheet = sheets.GetItem(COleVariant((short)1));

    range  = sheet.GetRange(COleVariant("A1"), covOptional);

    range.SetValue2( COleVariant("学号"));                             

    range = sheet.GetRange(COleVariant("B1"), covOptional);  

    range.SetValue2(COleVariant("姓名"));                             

    range = sheet.GetRange(COleVariant("C1"), covOptional);  

    range.SetValue2(COleVariant("性别"));                          

    range = sheet.GetRange(COleVariant("D1"), covOptional);  

    range.SetValue2(COleVariant("籍贯"));                                  

    range = sheet.GetRange(COleVariant("E1"), covOptional);  

    range.SetValue2(COleVariant("学院"));                                  

    range = sheet.GetRange(COleVariant("F1"), covOptional);   

    range.SetValue2(COleVariant("专业"));                                  

    range = sheet.GetRange(COleVariant("G1"), covOptional);  

    range.SetValue2(COleVariant("出生日期"));                              

    range = sheet.GetRange(COleVariant("H1"), covOptional);   

range.SetValue2(COleVariant("电话号码")); OnInitADOConnect();                      

    m_pRecordset.CreateInstance(_uuidof(Recordset));

m_pRecordset->Open((_bstr_t)ExcelSql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); int i=2;

    while(!m_pRecordset->adoEOF)

    {   CString str;

        str.Format("A%d",i);

        range = sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("学号")));str.Format("B%d",i);

        range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("姓名")));str.Format("C%d",i);range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("性别")));str.Format("D%d",i);range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("籍贯")));str.Format("E%d",i);range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("学院")));str.Format("F%d",i);range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("专业")));str.Format("G%d",i);range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("出生日期")));str.Format("H%d",i);range =sheet.GetRange(COleVariant(str), covOptional);

        range.SetValue2( COleVariant((char*)(_bstr_t)m_pRecordset->GetCollect("电话号码")));m_pRecordset->MoveNext();i++;}ExitConnect();}

——4.1心得体会

经过近两周的努力,学生管理系统最终完工,经过这次实习系统设计,自己总结了这个学生信息管理系统的一些问题,不过收获还是颇为丰富的,再有理论知识上结合实践,使我学到了更多。

首先,更进一步的了解了数据库的基本操作, 在这之前,我对数据库只是略知皮毛,只是了解一些概念性的东西。在做这个系统之前,连基本的连接数据库,数据库查询语句等这些东西都不熟练。
       对于数据库的增删改查操作比较熟练了,我的学习方法是如果不理解,先把按照课本上正确的语句敲,然后再多次进行数据库的链接,增删改查操作中不断总结规律。

这次设计的学生信息管理系统,很多东西都是现学现用,进行编程设计,完全体现了自己在数据库语言和程序设计课程学习状况,充分地为自己以后更深入了数据库语言奠下基础。

学生信息管理系统的整体概况,相关功能都能够实现,条理清晰,界面可观性比较好。在系统设计的过程中,我从中发现,学习数据库要细心和有耐性,并且要不断地从外界学习更多的技术才能设计出一套完美的系统。

在系统的开发过程中,由于我是第一次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统会存在一些缺陷和不足。虽然在学生管理系统中的应用不是很多,但是还是学习到了许多以前不知道的或者是不怎么熟悉的知识,对于这一点我还是感到很满意的。

                                                    

 

相关推荐