基于VFP的学生成绩管理系统设计
VFP学生成绩管理系统设计报告.doc

VFP学生成绩管理系统设计报告学生成绩管理系统由高设计,自096 200810301633首先,需求分析学生成绩管理系统包括学生基本信息、课程基本信息、学生成绩信息和部门信息的管理。
它可以添加、删除、修改和查询这些数据。
还要求学生的分数可以很容易地输入和查询。
其功能要求如下:(1)着陆界面:进入系统需要正确的用户名和密码。
(2)学生成绩输入:要求学生所有科目的分数都可以轻松输入。
(3)学生成绩查询:要求能够准确地查询学生在各科的成绩。
④数据维护:它可以维护学生的基本信息、学生成绩信息、课程信息和部门信息。
(5)系统维护:要求进入系统后可以更改登录密码。
二.系统的总体设计“学生成绩管理系统”可以全面管理学生的各种信息。
系统的总体结构是根据需求分析设计的,如图1- 首先,需求分析学生成绩管理系统包括学生基本信息、课程基本信息、学生成绩信息和部门信息的管理。
它可以添加、删除、修改和查询这些数据。
还要求学生的分数可以很容易地输入和查询。
其功能要求如下:(1)着陆界面:进入系统需要正确的用户名和密码。
(2)学生成绩输入:要求学生所有科目的分数都可以轻松输入。
(3)学生成绩查询:要求能够准确地查询学生在各科的成绩。
④数据维护:它可以维护学生的基本信息、学生成绩信息、课程信息和部门信息。
(5)系统维护:要求进入系统后可以更改登录密码。
第二,系统的总体设计“学生成绩管理系统”可以全面管理学生的各种信息。
根据需求分析,系统的总体结构设计如图1所示:成绩输入模块、成绩查询模块、数据维护模块和系统维护模块。
数据维护模块还包括:学生信息维护模块、学生成绩信息维护模块、部门信息维护模块、课程信息维护模块。
学生成绩管理系统登录界面系统安全维护课程信息维护部门信息维护学生成绩信息维护学生基本信息维护学生成绩录入系统维护学生成绩查询数据维护系统主界面图1-数据维护模块还包括: 学生信息维护模块、学生成绩信息维护模块、部门信息维护模块、课程信息维护模块。
vfp学生管理系统课程设计

vfp学生管理系统课程设计一、教学目标本课程的教学目标是使学生掌握VFP学生管理系统的基本概念、设计方法和实现技巧。
通过本课程的学习,学生将能够:1.知识目标:理解VFP学生管理系统的架构和功能,掌握数据库设计的基本原则,了解VFP编程语言的基本语法。
2.技能目标:能够使用VFP工具进行数据库设计和操作,能够编写VFP程序实现学生管理系统的功能。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决实际问题的能力,培养学生的团队合作精神和创新意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.VFP学生管理系统的基本概念:介绍VFP学生管理系统的定义、功能和应用场景。
2.数据库设计:讲解数据库设计的基本原则,介绍关系型数据库的概念,演示如何使用VFP工具进行数据库设计和操作。
3.VFP编程语言:介绍VFP编程语言的基本语法,讲解如何使用VFP实现学生管理系统的功能。
4.学生管理系统的实现:通过案例分析,讲解如何使用VFP工具和编程语言实现学生管理系统的各个功能模块。
三、教学方法为了达到本课程的教学目标,将采用以下几种教学方法:1.讲授法:用于讲解VFP学生管理系统的基本概念、数据库设计原则和VFP编程语言的基本语法。
2.案例分析法:通过分析实际案例,让学生了解如何使用VFP工具和编程语言实现学生管理系统的功能。
3.实验法:安排实验课,让学生动手操作,实际操作VFP工具进行数据库设计和编程。
4.讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源为了支持本课程的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用《VFP程序设计》作为主教材,为学生提供系统的VFP知识体系。
2.参考书:推荐《VFP数据库应用实例》等参考书籍,为学生提供实际操作案例。
3.多媒体资料:制作PPT课件,为学生提供直观的学习资料。
4.实验设备:准备计算机实验室,为学生提供动手实践的机会。
VFP实验报告(学生成绩管理系统)

从总统结构图很容易列出应用程序的菜单,由总体结构图转换到菜单时,其对应的情况如下:系统层对应菜单文件,子系统层对应菜单标题,功能层则对应子菜单项。
下图是“学生成绩管理系统”下拉式菜单的示意图,说明如下:
(1)本系统使用菜单作为输入密码后进入系统的初始界面,并设置一个主文件来调用菜单程序。
?"80-90分的学生人数为:",c
?
count for最终成绩<70 and最终成绩>=60 to d
?"80-90分的学生人数为:",d
?
count for最终成绩<60 and最终成绩>=0 to e
?"80-90分的学生人数为:",e
?
use分数段人数
replace不及格with e
replace六十到七十with d
?
?"全班学生的平均分数为:" ,h
?
*平均离差
i=h-60
?"全班学生的平均离差为:" ,i
?
*标准差
j=a+b+c+d+e
store 0 to x,y
go top
for k=1 to j
x=最终成绩-h
y=y+x*x
下图所示的学生成绩管理系统有三层,系统功能分类如下:学生成绩表和基本信息表的新增功能归入数据录入一类,它们俩的浏览和修改功能归入数据修改一类,数据查询功能包括了按姓名查询和按学号查询,相关成绩统计和成绩排序归入数据统计与管理一类,最后的表格打印中有打印成绩分析表和打印排序结果。图中未画出操作层,该层次的程序模块在模块设计中列出。
浅谈VFP数据库的设计——以学生成绩管理系统为例

、
系统 设计 总体 思 路
帮助 、 退 出。 系统设计 目标 : 该系统要能进行学生成绩各项信息的查询 , 方 统维 护 、
便对学生成绩数据 的更新 与维护 , 包括对学生信息数据的查询 、 修 改、 增加等。 方便学生学科成绩查询 , 方便教师对学生成绩的输人 ,
对学校来说要能对所有学生成绩进行管理。
除学生成绩上的各种问题 。学生成绩管理系统不但要能实现对学 级统计课程成绩程序 。
生考试成绩信息的输入与输出、 查询 、 维护 、 保存等常用功能 , 还要 能够动态存储关联数据 , 为用户访问系统数据提供便捷 。
系 统结 构 组 成 : 学生 成 绩 管理 系 统 主要 由 四大 部 分 组成 : 一是
7 . 设计 自由表 自由表主要有 2 个: 系统信息表和密码表。 ( -) 设计系统功能
由基本信息模块 ,二是学生成绩管理模块 ,三是课程科 目信息管
理、 用 户 管 理模 块 。
学生成绩管理系统是通过主菜单实现如下各种功能 :
一
是通过维护菜单来对数据表记录的维护( 包括 : 系统 口令重
和查找 , 方便 了数据库的维护 , 具有较高的可靠性和保密性等许多 表单 、 浏览成绩表单 、 修改表单界面等表单。 优点 , 能提高对学生成绩 管理的水平和效率 。
一
4 . 设计菜单 系统 的主菜单主要 由 6 项组成 , 分别是 : 查询 、 浏览 、 报表 、 系 5 . 设计报表
( j s ) , 学分( x f ) 。 ( 字段 : X h , x m, x b , b j , k e m, c j ) ( 四) 表 单 组 成
成绩表: 可设计 3个字段 : x h ( 学号 ) , k c h ( 课程号 ) , e j ( 成绩 ) 。
VFP设计学生成绩管理系统【新版精品资料】

6。
3查询功能模块查询功能可以按学校、姓名和考号中的任何一种方式,对考生的成绩进行查询.考生信息导入后,打开的表单,如图6。
8所示,在“按学校"的下拉列表框中所列的学校是系统自动将不同的参赛学校列进去的。
用户只要选择一个学校,单击“确定”按钮,即可在表格中列出该学校考生的成绩信息。
同时,单击“导出EXCEL”按钮,可保存该学校考生的成绩单,还可利用本系统提拱的发送电子邮件功能,将该学校考生的成绩单发送给该学校.另外,只要将光标移到“按考号”或“按姓名”的文本框中,输入考号或姓名,单击“确定”按钮,表格即显示该学生的考试成绩[4]。
图6.8查询表单实现系统自动将不同的参赛学校列进下拉列表框功能,需要在表单Form1的Activate事件中加入如下代码:count to num &&判断记录数go topif num==0 &&无记录messagebox(”请先录入考生信息",64,”提示")thisform。
releaseelse &&有记录set order to 1 &&打开索引,按学校升序排go topa=学校thisform。
combo1。
additem(a)&&将首记录的学校名加进去skipdo while not eof() &&以下代码完成移动指针的作用,将不同的学校名加入组合框if 学校==askipelsethisform。
combo1。
additem(学校)skipa=学校endifenddoset order to &&关闭索引endif6。
4排序功能模块排序功能包括按团体排序和按个人排序,实现对考生成绩的统计、排序等功能.6。
4。
1按团体排序功能考生信息导入后,打开的表单,如图6。
9所示,这里所说的团体是指学校,一个学校代表一个团体,本系统自动将考生人数十人以上(包括十人)的学校放在一个列表框中,不满足十人的学校放在另一个列表框中,单击学校即可显示该学校的考生人数和总分。
基于VFP的学生成绩管理系统设计

《数据库应用》课程设计题目:学生成绩管理系统二零一一年十二月一.系统总体设计1. 系统功能简介录入:录入学号,给出学生姓名;录入课程号,给出课程名;录入成绩。
修改:按课程号修改成绩。
查询:按学号查询该同学的各科成绩;按课程号查询每名同学的成绩,排序查询结果。
打印:按课程号打印成绩单。
2. 系统功能结构图二.数据库设计1. 学生表(学号,姓名,性别,出生年月)主关键字:学号2. 课程表(课程名,课程号,学分,主讲教师)主关键字:课程号3. 选修表(学号,课程号,成绩)普通关键字:学号普通关键字:课程号,如图所示;实验数据1)学生表数据如图所示:2)课程表数据如图所示:3)选课表数据如图所示:三.程序界面设计1. 系统主界面设计1)控件属性设置图片Image1的路径属性Picture设置为VFP的默认路径。
标签label1的标题属性Caption设置为:学生成绩管理系统,并设置相应的字体、字号和颜色。
2)代码设计表单的Destroy事件代码:RELEASE MENU wh EXTENDED。
3)菜单设计按照系统功能结构图设计菜单。
在VFP系统主菜单的“显示”菜单下,选择“常规选项”命令,在弹出的对话框中,勾选顶层表单选项,将该菜单设置为顶层表单菜单,如图所示。
2. 学生成绩录入学生成绩录入表单设计,如图所示。
1)控件属性设置标签:lbl学号标题:Caption 设置为:学号Lbl课程号标题:Caption 设置为:课程号Lbl成绩标题:Caption 设置为:成绩Label1,label2标签无标题,程序运行时,根据文本框的内容显示标题信息。
文本框:txt学号数据源:ControlSource 设置为:选修.学号Txt课程号数据源:ControlSource 设置为:选修.课程号 Txt成绩数据源:ControlSource 设置为:选修.成绩命令按钮:command1 标题:caption 设置为:追加Command2 标题:caption 设置为:退出2)代码设计文本框txt学号的getFocus事件代码:select 选修append blankjlh=recno()文本框txt学号的LostFocus事件代码:select 选修replace 学号 with thisform.txt学号.valueselect 学生locate for 学号=thisform.txt学号.valuebel1.caption="姓名: "+学生.姓名select 选修文本框txt课程号的getFocus事件代码:select 选修thisform.txt课程号.value=' '文本框txt课程号的LostFocus事件代码:select 选修go jlhreplace 课程号 with thisform.txt课程号.valueselect 课程locate for 课程号=thisform.txt课程号.valuebel2.caption="课程名: "+课程.课程名 select 选修go jlhthisform.txt成绩.value=0文本框txt成绩的getFocus事件代码:select 选修go jlh文本框txt成绩的LostFocus事件代码:select 选修go jlhreplace 成绩 with thisform.txt成绩.value命令按钮command1的Click事件代码:bel1.caption=" "bel2.caption=" "select 选修append blankthisform.txt学号.setfocusthisform.refresh命令按钮command2的Click事件代码:select 选修useuse 选修delete for 学号=space(8).or.课程号=space(5)packclose databasethisform.release3. 学生成绩修改按课程号修改数据,用户由键盘输入课程号,当控制交点离开文本框时,在表格中显示要修改的数据记录。
vfp课程设计学生成绩管理系统

《Visual FoxPro 数据库程序设计》课程设计说明书题目:学生成绩管理系统1.系统总体设计1.1系统功能简介数据录入:输入学生的学号,给出学生姓名;输入课程号,给出课程名;输入学生成绩。
数据修改:按课程号修改成绩。
成绩查询:按学号查询该同学的各科成绩;按课程号查询每名同学的成绩,并排序查询结果。
1.2系统功能结构图2.数据库设计2.1建立数据库和基本表,并建立合理的约束打开Visual FoxPro,建立数据库,名为学生成绩管理系统,并在数据库下建立三张表:学生表、课程表、成绩表。
表结构如下:学生表(学号,姓名,性别,出生年月)建立主索引:名为学号表达式为:学号课程表(课程名,课程号,学分,主讲教师)建立主索引:名为课程号表达式为:课程号成绩表(学号,课程号,成绩)建立普通索引:名为学号表达式为:学号建立普通索引:名为课程号表达式为:课程号学生表、课程表、成绩表相关联如图所示:2.2录入数据学生表录入数据如下所示:课程表录入数据如下所示:成绩表录入数据如下所示:3.程序设计界面3.1系统主界面系统主界面设计如图所示:1)菜单设计1、按照系统功能结构图设计顶层菜单。
2、在VFP系统主菜单的“显示”菜单下,选择“常规选项”命令,在弹出的对话框中,勾选顶层表单选项,将该菜单设置为顶层表单菜单。
设计如下:2)控件属性设置图片Image1的路径属性Picture设置为VFP的默认路径。
标签label1的标题属性Caption设置为:三亚学院学生成绩管理系统,并设置相应的字体、字号和颜色。
3)表单代码设计表单的Init事件代码:DO 学生成绩.MPR WITH THIS表单的Destroy事件代码:RELEASE MENU 学生成绩EXTENDED3.2学生成绩录入学生成绩录入表单设计如图所示:1)控件属性设置标签:label1学号标题:Caption 设置为:学号Label2课程号标题:Caption 设置为:课程号Label3成绩标题:Caption 设置为:成绩文本框:txt1学号数据源:ControlSource 设置为:成绩.学号 Txt2课程号数据源:ControlSource 设置为:成绩.课程号 Txt3成绩数据源:ControlSource 设置为:成绩.成绩命令按钮:command1 标题:caption 设置为:追加Command2 标题:caption 设置为:退出2)代码设计文本框txt学号的GotFocus事件代码:select 成绩append blankjlh=recno()文本框txt学号的LostFocus事件代码:select 成绩replace 学号 with thisform.txt学号.valueselect 学生locate for 学号=thisform.txt学号.valuebel1.caption="姓名: "+学生.姓名select 成绩文本框txt课程号的getFocus事件代码:select 成绩thisform.txt课程号.value=' '文本框txt课程号的LostFocus事件代码:select 成绩go jlhreplace 课程号 with thisform.txt课程号.valueselect 课程表locate for 课程号=thisform.txt课程号.valuebel2.caption="课程名: "+课程表.课程名 select 成绩go jlhthisform.txt成绩.value=0文本框txt成绩的getFocus事件代码:select 成绩go jlh文本框txt成绩的LostFocus事件代码:select 成绩go jlhreplace 成绩 with thisform.txt成绩.value命令按钮command1的Click事件代码:bel1.caption=" "bel2.caption=" "select 成绩append blankthisform.txt学号.setfocusthisform.refresh命令按钮command2的Click事件代码:select 成绩useuse 成绩delete for 学号=space(8).or.课程号=space(5)packclose databasethisform.release3.3学生成绩修改学生成绩修改表单设计如图所示:按课程号修改数据,用户由键盘输入课程号,当控制交点离开文本框时,在表格中显示要修改的数据记录。
学生成绩管理系统(VFP)

学生成绩管理系统(V F P) -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII摘要:学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本文简要介绍了本学校学生成绩管理的情况和系统的实现过程,阐述了课题来源,系统及需求分析,系统规划,设计及实现情况。
关键字:控件、窗体、域。
Abstract:Student’s achievement administrative system is a typical information management system(know as MIS), Its development include backstage supporter the foundation and maintain and front the twoes respects of development of application programs of data mainly. As to the former require set up data consistency and integrality strong, data security kind storehouse. Require application program not to be complete, easy to use characteristic of waiting for function the latter.This text has recommended a situation of student’s achievement management of institute and systematic realization course briefly, Having explained the subject source, the system and demand analyse, the system is planned, Design and realize the situation.Key word: Accuse of one, window body, land.目录摘要 (2)一前言 (3)二课题来源 (4)三系统及需求分析 (4)(一)、系统需求 (4)(二)、可行性分析 (4)(三)、VFP5.0以上的中文版概述 (5)四系统规划 (6)(一)、项目规划 (6)(二)、功能框图 (7)(三)、规划数据库 (7)五系统设计和实现 (9)(一)、数据分析与项目的建立 (9)(二)、数据库设计 (9)(三)、模块设计 (10)(四)、系统性能测试 (31)六结束语 (31)参考文献 (32)附录 (3)3一前言Visual FoxPro(简称VFP)是Windows平台下的新一代数据库管理系统,它具有优美的图形用户界面(GUI)、面向对象的开发方式、客户/服务品的数据连接以及通过OLE的数据访问工具等特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩管理系统一.系统概述学生成绩管理系统可以广泛应用于大专院校、高中、初中、小学等各类学校。
下图所示是我设计的中山大学学生成绩管理系统。
二.系统功能与结构图1.系统功能简介初始化:清空所有数据(慎用)输入/编辑:学生信息输入、成绩输入、专业信息输入;打印:打印成绩单;退出:退出系统。
2.系统结构图三.数据库设计创建新项目,添加表,并输入数据学生数据表: xs.dbf成绩数据表: cj.dbf专业代码数据表: zydm.dbf系统数据表:(用于验证管理员身份) xt.dbf四.界面设计1.欢迎界面jm.scx“进入”click事件use xt.dbfif alltrim(thisform.text1.value)==alltrim(用户名) .and.alltrim(thisform.text2.value)==alltrim(密码)use_screen.visible=.t.do form caidan.scxthisform.releaseelsemessagebox("用户名与密码不对!","本系统通知您")endif“退出”click事件quit2.系统主界面caidan.scx“系统初始化”click事件do form csh.scx“学生信息输入”click事件do form xssr.scx“成绩输入”click事件do form cj.scx“专业信息输入”click事件do form zysr.scx“打印”click事件Report from cjbb.frx“系退出”click事件quit3.系统工具界面(1)初始化界面 csh.scx“初始化”click事件sele 1use cj excldele allpacksele 2use xs excldele allpacksele 3use zydm excldele allpackclose datamessagebox("操作完成","")(2)学生信息输入界面xssr.scx学生信息输入界面 xssr.scx是一个表单集,有两个表单如上所示。
前者用于增加、删除和修改学生信息,后者可查询学生信息。
数据环境用的表文件是cj.dbf“增加”click事件APPEND BLANKgo bottomthisform.txt学号.SetFocusthisform.txt学号.value=""thisform.txt姓名.value=""thisform.txt性别.value=""thisform.txt专业代号.value=""thisform.txt系名.value=""thisform.txt学号.readonly=.f.thisform.txt姓名.readonly=.f.thisform.txt性别.readonly=.f.thisform.txt专业代号.readonly=.f.thisform.txt系名.readonly=.f.mand_move1.new.enabled=.f.mand_move1.f_next.enabled=.f.mand_move1.delete.enabled=.f.mand_move1.first.enabled=.f.mand_move1.previous.enabled=.f.mand_move1.next.enabled=.f.mand_st.enabled=.f.mand_move1.edit.enabled=.f.mand_move1.save.enabled=.t.thisform.refresh“查询”click事件thisformset.form2.visible=.t.“查下一个”click事件continuethisform.refresh“删除”click事件delepackthisform.refresh“存盘”click事件repl 学号 with alltrim(thisform.txt学号.value)repl 姓名 with alltrim(thisform.txt姓名.value)repl 性别 with alltrim(thisform.txt性别.value)repl 专业代号 with alltrim(thisform.txt专业代号.value) repl 系名 with alltrim(thisform.txt系名.value) thisform.txt学号.readonly=.t.thisform.txt姓名.readonly=.t.thisform.txt性别.readonly=.t.thisform.txt专业代号.readonly=.t.thisform.txt系名.readonly=.t.mand_move1.new.enabled=.t.mand_move1.find.enabled=.t.mand_move1.f_next.enabled=.t.mand_move1.delete.enabled=.t.mand_move1.first.enabled=.t.mand_move1.previous.enabled=.t.mand_move1.next.enabled=.t.mand_st.enabled=.t.mand_move1.edit.enabled=.t.thisform.refresh“修改”click事件thisform.txt学号.readonly=.f.thisform.txt姓名.readonly=.f.thisform.txt性别.readonly=.f.thisform.txt专业代号.readonly=.f.thisform.txt系名.readonly=.f.mand_move1.new.enabled=.f.mand_move1.find.enabled=.f.mand_move1.f_next.enabled=.f.mand_move1.delete.enabled=.f.mand_move1.first.enabled=.f.mand_move1.previous.enabled=.f.mand_move1.next.enabled=.f.mand_st.enabled=.f.mand_move1.edit.enabled=.f.“第一个”、“前一个”、“后一个”、“尾一个”click事件,通过设计类command_move实现。
“第一个”click事件go topthisform.refresh“前一个”click事件if bof()messagebox("已经是第一个记录了!","系统")elseskip -1thisform.refreshendif“后一个”click事件if eof()messagebox("已经是最后一个记录了!","系统")elseskipthisform.refreshendif“尾一个”click事件go bottthisform.refresh(3)成绩输入界面 cj.scx也是使用表单集,相关按钮代码同学生信息输入大同小异,只是数据环境用的表文件不同,是cj.dbf(4)专业信息输入界面 zysr.scx也是使用表单集,相关按钮代码同学生信息输入大同小异,只是数据环境用的表文件不同,是zydm.dbf五.报表设计将数据处理的结果一报表的形式输出,cjbb.frx输出结果:六.程序运行1.运行方法在VFP6.0中打开“学生成绩管理系统.pjx”,运行主程序,输入正确的用户名和密码(均预设为yao和yao),然后就可以进入学生成绩管理系统主界面,进行各种操作,详见上文各表单文件。
2.存在问题表单单独预览可以,效果如上所示;但是在主程序中无法运行,我用的click代码是“report form cjbb.frx”,一直弄不明白。
3.主要代码实现1)主程序main.prgset talk offset esca offset echo offset date ansiset cent onset hour to 24_screen.visible=.f.on shutdown do shutdownset notify offclea allclose allclear_screen.autocenter=.T._screen.zoombox=.f._screen.borderstyle=3_screen.showtips=.T._screen.windowstate=0_screen.ControlBox=.f._screen.closable=.T.LOCAL icsys16,icproramicsys16=sys(16)icprogram=substr(icsys16,at(":",icsys16)-1)cd left(icprogram,rat("\",icprogram))set path to left(icprogram,rat("\",icprogram))public ttj,lsttj=0cCaption="学生成绩管理系统1.0"*modi window screen title "学生成绩理系统1.0"do form jm.scxread eventsrelease mainset notify on2)关闭程序shutdown.prgif messagebox("是否真的要退出系统?",4+32,"管理系统1.0 ")=7retuelse_screen.hideclos dataclos allclea eventquitendif七.参考文献[1]罗志高等数据库原理与应用教程广州:中山大学出版社[2]罗晟等 Visual FoxPro 8 数据库项目案例导航北京:清华大学出版社。