小型SQL数据库系统(成绩管理系统)
- 格式:doc
- 大小:212.00 KB
- 文档页数:10
学生成绩管理系统需求分析一、系统功能分析该学生成绩管理系统是用JAVA CS结构编程+ Microsoft SQL数据库,在系统中分为三个权限:教务处管理人员、任课教师和学生。
1.教务处管理员进入学生成绩管理系统的主要权限是:进行基础信息管理,学生成绩查询,修改教师和学生的用户名和密码以及系统管理操作,不能进行学生成绩的录入工作2.任课教师进入学生成绩管理系统的主要权限是:能够对自己所任课程的学生成绩进行录入、修改、删除和学生成绩查询;只能更改个人用户名和密码、修改个人信息,不能进行基本信息管理和系统管理;。
3.学生进入学生成绩管理系统的主要权限是:只能够对自己的成绩进行查询以及修改个人的用户名和密码操作。
学生的用户名和密码默认为姓名和学号。
二、系统功能模块系统包括以下模块:基础信息管理、学生成绩管理、统计查询、用户管理、系统管理。
如图1-1:图1-1系统功能结构模块图1、基本信息管理模块设计基本信息管理是学生成绩管理系统中的关键部分,它主要负责学生信息和课程信息的添加、修改和删除操作。
(1)、学生信息管理学生信息管理所用数据表:tb_xsinfo;可对学生的各项信息如:学号、姓名、院系、班级等的添加、修改和删除操作。
用户单击保存按钮后提示操作完成,并将数据保存入数据库中。
(2)、课程信息管理课程信息管理所用数据表:tb_kcinfo;可对课程的各项信息如:课程编号、课程名称、学时、任课教师等的添加、修改和删除操作。
用户单击保存按钮后提示操作完成,并将数据保存入数据库中。
2、学生成绩管理模块设计学生成绩管理功能包括:成绩录入和修改两项操作。
本模块所需数据表tb_cjinfo。
此操作只能有教师来完成。
点击“成绩录入”,弹出成绩录入界面,在成绩录入窗口中的表格中输入学生成绩。
单击“保存”后,学生各科成绩保存到数据库中。
点击“成绩修改”,弹出成绩修改界面,在成绩修改窗口中要修改的学生成绩表格中输入学生成绩。
学生成绩管理系统我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。
我创建的基于单文档的应用程序,过程不介绍,大家都会。
下面的是我系统菜单:思路:刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。
当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。
如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。
“学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。
整体设计:因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下:【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码:#include <afxdb.h>【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){//使“退出系统”和其他3个权限菜单都不可用,即都是灰色的GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);}【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”菜单项不可用,并根据用户类型使相应菜单可用。
原创SQL数据库学生管理系统一、简介SQL数据库学生管理系统是一款用于管理学生信息的数据库系统。
该系统采用结构化查询语言(SQL)作为数据管理和查询的工具,通过对学生信息进行有效的组织和管理,实现了学生基本信息的录入、查询、修改和删除等功能。
本文将介绍该数据库系统的设计思路、功能模块和操作流程。
二、数据库设计1. 数据表设计数据库中包含以下几个数据表:•学生表(students):存储学生的基本信息,包括学生ID、姓名、性别、年龄等字段。
•课程表(courses):存储学生所选课程的信息,包括课程ID、课程名称、学分等字段。
•成绩表(scores):存储学生的成绩信息,包括学生ID、课程ID、成绩等字段。
2. 数据库关系设计学生表与课程表之间的关系是多对多关系,通过中间表(选课表)来建立关联关系。
选课表(selections)包含了学生ID和课程ID两个字段,用于记录学生所选课程的关系。
各个数据表之间的关系如下图所示:+------------+| students |+------------+|| 多对多关系|+------------+| courses |+------------+|| 一对多关系|+------------+| scores |+------------+三、功能模块SQL数据库学生管理系统包含以下几个功能模块:1. 学生信息管理模块该模块实现学生信息的录入、查询、修改和删除功能。
管理员可以通过该模块进行学生信息的管理,包括添加新的学生信息、查询学生信息、修改学生信息和删除学生信息等操作。
2. 课程信息管理模块该模块实现课程信息的录入、查询、修改和删除功能。
管理员可以通过该模块进行课程信息的管理,包括添加新的课程信息、查询课程信息、修改课程信息和删除课程信息等操作。
3. 成绩管理模块该模块实现学生成绩的录入、查询、修改和删除功能。
管理员可以通过该模块进行学生成绩的管理,包括添加学生成绩、查询学生成绩、修改学生成绩和删除学生成绩等操作。
1。
概述1.1 简单介绍本系统实现的内容该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。
此系统主要完成用户密码登录、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能.(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序.(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码.(三)成绩查询1。
成绩修改前选中要修改的成绩信息,然后进行修改。
2.成绩添加直接弹出添加对话框,然后进行添加。
3.成绩删除前选中要删除的成绩信息,然后直接删除。
(四) 课程查询1。
课程修改实现对课程名、学时、学分的修改。
2.课程添加对一门新开设的课程进行录入,并存入数据库。
3。
课程删除对一门不再开设的课程进行删除,并从数据库中删除。
(五)学生查询1。
学生信息修改修改选中当前学生的信息。
2。
学生信息添加增加新学生的信息。
3。
学生信息删除删除选中当前学生信息。
1。
2 开发环境简介1)Microsoft visual c++ 6。
0Visual C++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出Visual C++1。
0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具.Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。
Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具. 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
2)Microsoft SQL Server 2000和与系统相关的SQL 语言介绍数据定义DDL(data definition language)数据定义语言是指对数据的格式和形态下定义的语言,他是每个数据库要建立时候时首先要面对的,举凡数据分哪些表格关系、表格内的有什么栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的.2。
2024届计算机升学班数据库试题姓名: [填空题] *_________________________________班级: [单选题] *○22届计算机升学班○23届计算机升学班○24届计算机升学班一、单项选择题(每小题2分,共100分)1.在Access2010中,下列关于数据的说法错误的是() [单选题] *A、数据是一种物理符号序列,用来记录事物的情况B、数据是数据库中的基本对象C、不同的数据类型记录的事物性质一样(正确答案)D、数据不仅仅指数字、字母,还包括图形、图像等多种媒体数据2.不属于数据库系统组成部分的是()。
[单选题] *A、用户B、数据库管理系统C、硬件D、文件(正确答案)3.下列实体联系中,属于多对多联系的是() [单选题] *A、学校与校长B、住院的病人与病床C、学生与课程(正确答案)D、职工与工资4.下列关于关系模型特点的描述中,错误的是()。
[单选题] *A、在一个关系中元组和属性的次序都无关紧要B、同一个关系中可以出现相同的属性名(正确答案)C、关系中的域是指属性的取值范围D、关系中的关键字不能有重复值,也不能有空值5.空数据库是指() [单选题] *A、没有基本表的数据库B、没有任何数据库对象的数据库(正确答案)C、数据库中数据表记录为空的数据库D、没有窗体和报表的数据库6.数据库()、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( B ) *A、DBMS包括DB和DBSB、DBS包括DB和DBMS(正确答案)C、DB包括DBS和DBMSD、DB、DBS和DBMS是平等关系7.一台机器可以由若干种零件组成,一种零件可以用于多台机器,机器实体集和零件实体集的联系类型属于() [单选题] *A、1:1B、1:nC、n:1D、m:n(正确答案)8.在关系模型中,用来表示实体关系的是() [单选题] *A、域B、字段C、表(正确答案)D、记录9.在数据库系统中,数据的最小访问单位是() [单选题] *A、字节B、字段(正确答案)C、记录D、表10.在数据模型中,采用二维表结构组织管理数据的模型是() [单选题] *A、层次模型B、网状模型C、关系模型(正确答案)D、其他模型11.下列关于关系数据库中数据表的描述,正确的是() [单选题] *A.数据表既相对独立,又相互联系(正确答案)B.数据表相互之间存在联系,用表名表示相互间的联系C.数据表相互之间不存在联系,完全独立D.数据表相互之间存在联系,但用独立的文件名保存12.用树形结构来表示实体之间联系的模型称为() [单选题] *A、关系模型B、层次模型(正确答案)C、网状模型D、数据模型13.关系数据管理系统中,所谓的关系是() [单选题] *A、各条记录中的数据有一定的关系B、一个数据文件与另一个数据文件之间有一定的关系C、数据模型符合满足一定条件的二维表格式(正确答案)D、数据库中各个字段之间有一定的联系14.下列对主键字段描述错误的是() [单选题] *A、每个数据表必须有一个主键(正确答案)B、主键字段值是唯一的C、主键可以是一个字段,也可以是一组字段D、主键字段不允许有重复值或空值15.唯一确定一条记录的某个属性组是() [单选题] *A、关键字(正确答案)B、关系模式C、记录D、属性16.属性的取值范围是() [单选题] *A、关键字B、域(正确答案)C、记录D、属性17.从数据表中挑选出满足指定条件或指定范围的记录叫做() [单选题] *A、选择(正确答案)B、投影C、联接D、结合18.从数据表中将指定的字段挑选出来叫做() [单选题] *A、选择B、投影(正确答案)C、联接D、结合19.从“商品表”中挑选出计量单位为“个”的记录是属于关系运算中的() [单选题] *A.投影B.选择(正确答案)C.连接D.差20.不能退出Access2010的方法是() [单选题] *A、ALT+F4B、单击“文件”菜单/“退出”C、ESC(正确答案)D、单击窗体右上角“关闭”按钮"21.Access在同一时间,可打开()个数据库。
在SQL中,如果你想要管理学生、课程和成绩的数据,你可能会需要创建几个表来存储这些信息。
以下是一个简单的示例,展示了如何创建这些表以及如何进行一些基本的数据操作。
首先,我们可以创建三个表:1. `students` 表,用于存储学生的信息。
2. `courses` 表,用于存储课程的信息。
3. `grades` 表,用于存储学生的课程成绩。
```sql--创建学生表CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(100),age INT,grade VARCHAR(10));--创建课程表CREATE TABLE courses (course_id INT PRIMARY KEY,name VARCHAR(100),credits INT);--创建成绩表CREATE TABLE grades (student_id INT,course_id INT,grade DECIMAL(3, 1),FOREIGN KEY (student_id) REFERENCES students(student_id),FOREIGN KEY (course_id) REFERENCES courses(course_id),PRIMARY KEY (student_id, course_id));```接下来,我们可以插入一些示例数据:```sql--插入学生数据INSERT INTO students (student_id, name, age, grade) VALUES (1, '张三', 16, '高一');INSERT INTO students (student_id, name, age, grade) VALUES (2, '李四', 17, '高二');--插入课程数据INSERT INTO courses (course_id, name, credits) VALUES (1, '数学', 3);INSERT INTO courses (course_id, name, credits) VALUES (2, '语文', 2);--插入成绩数据INSERT INTO grades (student_id, course_id, grade) VALUES (1, 1, 85.0);INSERT INTO grades (student_id, course_id, grade) VALUES (1, 2, 90.0);INSERT INTO grades (student_id, course_id, grade) VALUES (2, 1, 92.0);INSERT INTO grades (student_id, course_id, grade) VALUES (2, 2, 88.0);```然后,你可以通过SQL查询来检索和管理这些数据。
原题目:列举几个常见的数据库管理系统。
常见的数据库管理系统
数据库管理系统(DBMS)是一种用于管理和组织数据的软件。
以下是几个常见的数据库管理系统:
1. MySQL:MySQL是一个开源的关系型数据库管理系统,被
广泛用于Web应用程序的开发。
它具有稳定性和性能优势,支持
多用户并发操作。
2. Oracle:Oracle是一个功能强大的商业性数据库管理系统。
它被广泛用于企业级应用,可以处理大量数据和复杂的事务。
3. Microsoft SQL Server:SQL Server是由Microsoft开发和维
护的关系型数据库管理系统。
它具有良好的可扩展性和安全性,适
用于Windows平台。
4. PostgreSQL:PostgreSQL是一个强大的开源对象关系型数据库管理系统。
它支持高级功能,如复杂查询和事务,并具有良好的稳定性和数据完整性。
5. MongoDB:MongoDB是一个非关系型数据库管理系统,也被称为NoSQL数据库。
它适用于处理半结构化和非结构化数据,如大数据和文档型数据。
6. SQLite:SQLite是一个轻量级的嵌入式关系型数据库管理系统。
它适用于单用户应用程序和小型设备上的本地存储。
这些数据库管理系统在不同的场景和需求下具有各自的优势和特点。
选择合适的数据库管理系统取决于应用程序的规模、性能要求和数据类型等因素。
一概述1.1目的与要求随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。
该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.2设计环境① Microsoft SQL Server 2000② Microsoft Visual C++ 6.0二需求分析2.1 系统功能要求设计此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。
容易地完成学生信息的查询操作。
(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
2.2 系统模块设计成绩管理系统大体可以分成二大模块如,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信2.3 数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下:三概念模型设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业。
(2)课程基本信息:课程名,课程号,分数,学时,学分。
这些实体间的联系包括:(1)每位学生可以学习多门课程,每门课程可供多位学生学习。
由上述分析可得到系统的E—R图:四逻辑和物理结构设计4.1由系统E—R图转化而得到的关系模式如下:(1)学生(学号,姓名,性别,年龄,地址,系别),其主关键字为学号;(2)课程(课程名,课程号,学时,学分),其中主关键字为课程号;(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。
可以与学生关系模式合并为:学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号)。
4.2 确定关系模型的存取方法在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。
可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。
在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。
才能充分利用索引的作用避免因索引引起的负面作用。
4.3 确定数据库的存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。
(1)创建学生基本信息表:create table Student (学号varchar(11) not null,系别varchar(5) not null,姓名varchar(6) not null,性别varchar(2) not null,年龄char(2) not null,地址varchar(20) not null,constraint PK_STUDENT primary key (学号))goexecute sp_addextendedproperty 'MS_Description','学生基本信息描述','user', '', 'table', 'StudentsInfo'go(2)创建课程表:create table Course (cno varchar(5) not null,cname varchar(10) null,xueshi smallint null,xuefen int null,constraint PK_COURSE primary key (课程号))goexecute sp_addextendedproperty 'MS_Description',(3)创建学生与课程的成绩表create table SC ( sno varchar(11) not null,cno varchar(5) not null,chengji varchar(4) not nullconstraint PK_SC primary key (学号, 课程号))go在SC表上创建索引SC_FK与SC2_FKcreate index SC_FK on SC (学号ASC)Gocreate index SC2_FK on SC (课程号ASC)go建立课程号索引create index TC_FK on TC (课程号ASC)go下图显示了学生,课程和成绩三个关系的物理设计其中课程号与学号号分别为关系的主码。
五数据库的实施与维护5.1 数据库的实施:此阶段主要任务包括创建数据库,加载初始数据,数据库试运行,数据库的安全性和完整性控制数据库的备份与恢复,数据库性能的监督分析和改仅,数据库的重组和重构等。
首先在数据库中建立一个学生成绩管理系统数据库,然后新建一个数据源。
主要代码如下:#include "stdafx.h"#include "StudentScore.h"#include "Course.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;// CCourseIMPLEMENT_DYNAMIC(CCourse, CRecordset)CCourse::CCourse(CDatabase* pdb): CRecordset(pdb){ //{{AFX_FIELD_INIT(CCourse)//}}AFX_FIELD_INITm_nDefaultType = snapshot;CString CCourse::GetDefaultConnect(){ return _T("ODBC;DSN=");}CString CCourse::GetDefaultSQL(){ return _T("");}void CCourse::DoFieldExchange(CFieldExchange* pFX){//{{AFX_FIELD_MAP(CCourse)pFX->SetFieldType(CFieldExchange::outputColumn);//}}AFX_FIELD_MAP}// CCourse diagnosticsvoid CCourse::AssertValid() const{ CRecordset::AssertValid();}void CCourse::Dump(CDumpContext& dc) const{ CRecordset::Dump(dc);}// MainFrm.h : interface of the CMainFrame classclass CMainFrame : public CFrameWnd{protected: // create from serialization onlyCMainFrame();DECLARE_DYNCREA TE(CMainFrame)// Attributespublic:// Operationspublic:// Overrides// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CMainFrame)virtual BOOL PreCreateWindow(CREATESTRUCT& cs);//}}AFX_VIRTUAL// Implementationpublic:virtual ~CMainFrame();protected: // control bar embedded members//CStatusBar m_wndStatusBar;//CToolBar m_wndToolBar;// Generated message map functionsprotected://{{AFX_MSG(CMainFrame)afx_msg int OnCreate(LPCREA TESTRUCT lpCreateStruct);afx_msg void OnPassword();afx_msg void OnUser();afx_msg void OnStudent();afx_msg void OnTeach();afx_msg void OnTeacher();afx_msg void OnScore();afx_msg void OnQueryTeach();afx_msg void OnQueryScore();afx_msg void OnCourse();//}}AFX_MSGDECLARE_MESSAGE_MAP()};//{{AFX_INSERT_LOCA TION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.// CScoreAddDlg dialogCScoreAddDlg::CScoreAddDlg(CWnd* pParent /*=NULL*/): CDialog(CScoreAddDlg::IDD, pParent){/{{AFX_DA TA_INIT(CScoreAddDlg)//}}AFX_DA TA_INIT}void CScoreAddDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DA TA_MAP(CScoreAddDlg)DDX_Control(pDX, IDC_SCORE_STUDENT, m_cStudent);DDX_Control(pDX, IDC_SCORE_SCORE, m_cScore);DDX_Control(pDX, IDC_SCORE_COURSE, m_cCourse);//}}AFX_DA TA_MAP}BEGIN_MESSAGE_MAP(CScoreAddDlg, CDialog)//{{AFX_MSG_MAP(CScoreAddDlg)//}}AFX_MSG_MAPEND_MESSAGE_MAP()void CScoreAddDlg::OnOK(){CString student,course,score,student_no,course_no;m_cStudent.GetWindowText(student);m_cCourse.GetWindowText(course);m_cScore.GetWindowText(score);else//成绩不为空{CString strSQL;//查出该学生的学号strSQL.Format("select * from student where active_status='Y' and student_name='%s'",student);CRecordset m_recordSet=&m_database;m_recordSet.Open(CRecordset::forwardOnly,strSQL);m_recordSet.GetFieldValue("student_no",student_no);m_recordSet.Close();//查出该课程的课程号strSQL.Format("select * from course where active_status='Y' and course_name='%s'",course);m_recordSet.Open(CRecordset::forwardOnly,strSQL);m_recordSet.GetFieldValue("course_no",course_no);;m_recordSet.Close();BOOL CScoreAddDlg::OnInitDialog(){CDialog::OnInitDialog();CRecordset m_recordSet;if(!m_database.IsOpen()){m_database.Open(_T("student"));m_recordSet.m_pDatabase=&m_database;}CString strSQL;strSQL.Format("select course_name from course where active_status='Y'");m_recordSet.Open(CRecordset::forwardOnly,strSQL);for(int i=0;i<m_recordSet.GetRecordCount();i++){CString temp;m_recordSet.GetFieldValue("course_name",temp);m_cCourse.AddString(temp);m_recordSet.MoveNext();}m_recordSet.Close();m_cCourse.SetCurSel(1);strSQL.Format("select student_name from student where active_status='Y'");m_recordSet.Open(CRecordset::forwardOnly,strSQL);for(int j=0;j<m_recordSet.GetRecordCount();j++){CString temp;m_recordSet.GetFieldValue("student_name",temp);m_cStudent.AddString(temp);m_recordSet.MoveNext();}m_recordSet.Close();m_cStudent.SetCurSel(1);{this->SetWindowText("成绩窗口");}return true;}void CScoreAddDlg::OnCancel(){// TODO: Add extra cleanup hereCDialog::OnCancel();}5.2部分操作截图:下图显示了学生登陆系统进行查询时界成绩查询功能:面:下图显示了进行课程查询时界面:5.3数据库的维护当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,应为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在sqlserver中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。