vfp语言程序设计

2024-10-22

vfp语言程序设计(精选8篇)

vfp语言程序设计 篇1

《程序设计语言(VFP)》课程教学大纲

课程编号:90211001 总学时数:68(理论

34、上机34)总学分数:3 课程性质:专业必修课 适用专业:全院本科专业

一、课程的任务和基本要求:

本课程为全院非计算机专业的理科、管理类和部分文科专业的公共课,是一门计算机技术基础课。理科专业、管理类专业开设在一年级第二学期,文科专业开设在二年级第一学期。

本课程的主要任务是通过对关系型数据库管理系统Visual Foxpro(简称VFP)的学习,使学生掌握程序设计的基础知识和程序设计的基本方法,掌握数据库及面向对象编程的基础知识,培养开发数据库应用程序的基本能力。

通过本课程的学习,要求针对具体的问题,能够使用Visual Foxpro设计数据库和开发相应的应用程序;并具有其他程序设计语言和其它类型数据库系统的自学能力。

二、基本内容和要求:

1、Visual Foxpro基本概念(1)数据库系统基础知识

①数据库、数据库管理系统、数据库系统等概念; ②关系模型和关系运算等。(2)Visual Foxpro集成环境

①Visual Foxpro的用户界面 ②Visual Foxpro的环境设置 ③项目管理器的使用(3)语言基础和程序设计

①数据类型和数据存储 ②运算符、函数和表达式 ③命令格式

④程序控制(分支、循环结构的使用)(4)Visual Foxpro的文件类型

要求:熟悉关系数据库的基础知识,了解关系模型和关系运算,掌握VFP集成环境的使用,熟悉VFP常见的文件类型,掌握VFP语言的基本成分,能够进行较简单的程序设计。

2、数据库与表的处理(1)表的创建与修改

①表结构的创建与修改;

②记录的增加、修改、删除,记录的定位; ③表的索引,结构复合索引文件,索引的使用;

④表的使用和工作区,表的打开方式,表的数据缓冲。(2)数据库的创建与修改

①数据库的创建与使用;

②数据库表的字段属性、表属性;

③表之间关系的创建与修改,相关表之间的参照完整性; ④连接和ODBC的概念。

要求:掌握表的创建修改、记录的处理、索引的设置,掌握数据库的创建与使用,数据库表的属性设置,熟悉表的使用和工作区,了解表的数据缓冲、连接和ODBC的概念。

3、查询(1)查询设计器的功能和使用;(2)SELECT-SQL语句的各种应用。

要求:掌握查询和视图应用方法,掌握SELECT-SQL语句,熟悉其他SQL语句。

4、对象模型与事件模型

(1)类和对象的概念、类的特点;(2)属性、事件与方法的概念。

(3)基类、子类和父类,容器和控件;

(4)Visual Foxpro的基类和容器类,基类的最小事件集、属性集。(5)对象的引用方法,对象属性的设置方法;(6)容器层次与类层次中的事件;(7)事件的激发顺序;(8)事件驱动和事件循环。

要求:熟悉面向对象程序设计的基本知识、基本概念和方法,掌握VFP的基类和基类的最小事件集、属性集,掌握VFP中对象的属性和方法的使用。

5、表单和控件

(1)表单向导和表单设计器的使用;(2)表单的数据环境及其属性的设置;(3)表单的设计、处理及其管理;(4)常用对象/控件创建及其处理。

①容器类对象; Column、CommandGroup、Container、Form、FormSet、Grid、OptionGroup、Page、PageFrame、ToolBar。②控件类对象。

CheckBox、ComboBox、CommandButton、DataEnviorment、EditBox、Header、Image、Label、Line、ListBox、OptionButton、Separator、Shape、Spinner、TextBox、Timmer。

要求:掌握表单的创建和使用,掌握常用的容器类和控件类对象的创建和处理,熟练使用表单和控件设计面向对象的程序。

6、菜单和工具栏

(1)菜单的组成和各种类型菜单的设计,菜单设计器的使用,菜单程序的生成;(2)定制系统工具栏,创建自定义工具栏。

要求:掌握一般菜单和快捷菜单创建和使用方法,掌握工具栏设计和使用方法,了解SDI菜单的创建和使用方法。

7、类的设计

(1)用户自定义类的创建与修改;(2)类库文件及其使用;(3)类的应用;

要求:掌握用类设计器和表设计器创建类的方法,掌握类的查看、管理和存储方法,掌握可视类在表单中的应用。

8、应用程序设计

(1)构造应用程序(项目文件)的主程序;(2)应用程序的连编;

要求:掌握VFP数据库应用系统的构造方法,了解VFP应用系统的发布方法。

9、常用命令、函数、属性、事件和方法(1)常用命令;

CREATE TABLE-SQL、ALTER TABLE-SQL、SELECT、USE、CLOSE TABLES、COPY STRUCTURE、COPY TO、RENAME TABLE、BROWSE、APPEND、APPEND FROM、GO/GOTO、LOCATE、SEEK、SKIP、CONTINUE、EDIT、DELETE、DELETE-SQL、PACK、RECALL、INSERT-SQL、REPLACE、UPDATE-SQL、SET EXCLUSIVE、SET FILTER、SET DELETED、SET INDEX、SET ORDER、GATHER、SCATTER、OPEN DATABASE、SET DATABASE、DELETE DATABASE、DISPLAY DATABASE、MODIFY DATABASE、VALIDATE DATABASE、SELECT-SQL、DO、DO FORM、REPORT、CALCULATE。(2)常用函数;

①数值函数:ABS()、INT()、MAX()、MIN()、MOD()、ROUND()。②数据转换函数:ASC()、CHR()、CTOD()、DTOC()、STR()、VAL()。

③字符函数:ALLTRIM()、AT()、BETWEEN()、EMPTY()、LEFT()、LEN()、RIGHT()、SAPCE()、SUBSTR()、TRIM()④日期与时间函数:DATE()、DATETIME()、DAY()、DOW()、TIME()、MONTH()、YEAR()⑤表、数据库函数:BOF()、DBGETPROP()、DBSETPROP()、DBUSED()、DELETED()、EOF()、FCOUNT()、FILE()、ORDER()、RECCOUNT()、RECNO()、SEEK()、TABLEREVERT()、TABLEUPDATE()、TAG()、USED()⑥其他函数:CREATEOBJECT()、GETFILE()、IIF()、INKEY()、MESSAGEBOX()、TYPE()、GETOBJECT()(3)常用属性;

ActiveColumn、ActivateControl、ActiveForm、ActivePage、Alignment、AllowAddNew、AlwaysOnTop、AutoCenter、AutoSize、BackColor、ForeColor、BorderColor、BorderStyle、BorderWidth、Bound、BoundColumn、ButtonCount、Cancel、Caption、Closable、ColumnCount、ControlBox、ControlCount、ControlSource、CurrentControl、Curvature、Default、DeleteMark、Desktop、DynamicAlignment、DynamicBackColor、DynamicForeColor、DynamicFontSize、Enabled、Exclusive、Fliter、FontSize、Format、FormCount、Height、Icon、Increment、InputMask、Interval、KeyboardHighValue、KeyboardLowValue、Left、MaxButton、MinButton、Movable、MultiSelect、Name、Order、PageCount、PasswordChar、Picture、ReadOnly、RecordSource、RecordSourceType、Resizable、RowSource、ScrollBars、Sizable、Sorted、Sparse、SpecialEffect、SpinnerHighValue、SpinnerLowValue、Style、Value、Visible、Width、WordWrap。(4)常用事件;

①核心事件:Init、Load、Destroy、Click、DblClick、Rightclick、GotFocus、LostFocus、InterActiveChange、ProgrammaticChange、KeyPress。

②其他事件:Activate、AfterCloseTables、BeforeOpenTables、Error、Valid、QueryUnload、Timer。

(5)常用方法。

AddObject、AddItem、Clear、DoCmd、Hide、Refresh、RemoveItem、Release、SetAll、SetFocus、Show、Quit。

要求:掌握常用的命令、函数、属性、事件和方法,能够熟练应用。

三、实践环节和要求:

本课程主要实践任务是使学生加深对数据库概念的理解,巩固关系数据库和面向对象编程的基本知识,通过实验培养开发数据库应用程序的基本能力。要求针对具体的问题,能够设计数据库和开发相应的应用程序。

各部分的实践环节和要求如下:

1、数据库系统及Visual Foxpro概述部分掌握VFP启动和退出的方法,熟悉VFP的集成工作环境,并掌握与项目管理器有关的操作。

2、VFP语言基础部分掌握各种常量的表示、变量的赋值、常用函数的功能和使用、各种类型表达式的构造方法,初步掌握结构化程序设计的方式。

3、表的创建与使用部分要求掌握表的创建和使用,主要包括自由表结构的创建、记录的录入、维护、表的索引等。

4、数据库的创建和使用部分要求掌握数据库表的各种数据扩展属性的设计方法,掌握数据库表的索引、永久性关系、参照完整性规则的创建与设置方法等。

5、查询和视图部分要求掌握创建查询与视图的方法和操作步骤,以及SELECT-SQL命令的应用。

6、对象模型和事件模型部分要求主要介绍OOP的基础知识、基本概念和方法,具体的操作体现在7、8、10和11部分。

7、表单部分要求掌握常见表单的方法和操作步骤。

8、控件部分要求熟悉VFP各类控件常用属性、相关事件代码的编写、方法的引用。

9、报表部分要求了解报表的创建和修改方法。

10、类的创建和应用部分要求了解用类设计器和表单设计器创建类的方法。

11、菜单和工具栏部分要求掌握用菜单设计器设计一般菜单和快捷菜单的方法,菜单程序的生成和运行,以及工具栏的设计和应用。

12、建立应用程序部分要求了解VFP应用系统的构造方法和发布方法。

四、教学时数分配: 上课课时分配

基本内容 课时数

数据库系统及Visual Foxpro概述 VFP语言基础 表的创建和使用 数据库的创建和使用 查询和视图

对象模型和事件模型 表单 控件

报表和标签 类的创建和使用 菜单和工具栏 建立应用程序 复习

五、其它项目: 上机操作课时分配

基本内容 数据库系统及

Visual Foxpro概述 VFP语言基础 表的创建和使用 数据库的创建和使用 查询和视图

对象模型和事件模型 表单 控件

报表和标签 类的创建和使用 菜单和工具栏 建立应用程序 复习 4 4 4 4 1 3 6 1 1 2 1 1

课时数 1 5 4 4 4 0 2 8 1 1 2 1 1

六、有关说明:

1、教学和考核方式:

本课程属考试课,考核方式为闭卷。

2、习题:

书面作业布置不少于4次,每次不少于10题,全交,全批改。

上机操作作业布置不少于4次,每次不少于5题,通过软盘或网络方式全交,全批改。

3、能力培养要求:

通过本课程的学习,具有程序设计的基本能力,具有数据库设计的基本能力,以及对于其他程序设计语言的自学能力。要求针对具体的问题,能够设计数据库和开发相应的应用程序。

4、与其它课程和教学环节的联系:

先修课程和教学环节:大学计算机信息技术基础

后续课程和教学环节:其它程序设计语言、管理信息系统平行开设课程和教学环节:程序设计语言(VB)、程序设计语言(C语言)、程序设计语言(Fortran90)

5、教材和主要参考书目:

(1)教材:新编Visual FoxPro教程、新编Visual FoxPro实验指导书 单启成、崔建忠编著

(2)主要参考书目:Visual FoxPro上机指导与典型题汇解析 周虹等编著

vfp语言程序设计 篇2

1 SQL语言教学中存在的问题

1.1学生缺乏学习兴趣

SQL语言的教学内容一般都先讲解概念、语法,然后通过一个简单的实例进行验证,而真正能提高学生学习兴趣的实例很少,导致学生缺乏学习兴趣,影响课堂教学质量。

1.2不能写出完整的SQL命令

非计算机专业的学生从开始接触到计算机操作时,主要使用的是图形界面的操作方式,对于使用命令的操作方式非常生疏,学习起来非常困难。学生反映,能够分析出SQL命令的功能,但很难写出完整的SQL命令。

1.3不能用SQL语言实现分组统计功能

分组统计查询是SQL语言中的一个难点,分组查询通常和统计函数一起使用,学生反映不知道用哪些函数以及如何确定分组依据。

1.4多表查询以及嵌套查询掌握的较差

在教学过程中,学生反映,单表查询相对容易,多表查询涉及多个联接条件,嵌套查询涉及主查询和子查询以及关键字(in,any,all等)的选择,学生很难写出完整的命令。

2 SQL语言教学方法研究

2.1改变教学内容顺序,提高学生学习兴趣

通过实例讲解SQL语言的具体功能。

例1:查询本班学生的全部信息。

SQL命令:select*from学生表

通过该实例讲解SQL语言每一部分的语句功能,如select表示查询,星号(*)表示显示所有列,from短语后跟表名。可以让学生思考:查询课程的全部信息、查询班级的全部信息,这些命令如何写。接着可以引出条件查询(where子句)、分组查询(group by子句)、排序查询(order by子句)等。

实例的选择最好是学生熟悉的数据,如本班的学生、学生所学习的课程、学生的学习成绩等。为了进一步提高学生的学习兴趣,还可以举例说明日常生活中用到的数据库的例子,如火车订票系统、超市管理系统、银行管理系统等,让学生明白数据库和自己的生活息息相关,数据库是一门技能,要学好这门技能,必须学好SQL语言,使学生对SQL语言的学习产生兴趣,进而提高课堂教学效果。

2.2可视化的SQL语言对比教学方法

SQL语言主要是由命令及参数组成,掌握不好命令及参数的使用就不能正确执行查询,得到结果。针对学生不能写出完整的SQL命令的问题,可以采用可视化的SQL语言对比教学方法,通过实例说明该方法的具体使用过程。

教学管理数据库包含如下4张表:

学生表(学号、姓名、性别、专业编号、出生日期、奖学金、备注)

课程表(课程号、课程名、课时、学分、必修)

专业表(专业编号、专业名称)

成绩表(学号、课程号、成绩)

例2:查找平均分是前3名的女生的学号、姓名、专业名称、年龄和平均分。

(1)打开Microsoft Visual Fox Pro6.0,选择新建查询。

(2)在查询设计器中添加查询需要的数据表:学生表、专业表和成绩表,并设置添加显示字段,函数的添加要在“函数和表达式”文本框处输入,然后点击添加,如图1所示。

(3)设置2张表的连接条件,学生表和专业表通过专业编号联接,学生表和成绩表通过学号联接。

(4)设置筛选条件为:学生表.性别=.t.。

(5)设置排序依据,按平均分的降序排序。

(6)设置分组依据,按学号分组。

(7)设置杂项,无重复记录与命令关键字distinct对应,记录个数与top n关键字对应。

该查询命令比较复杂,涉及多表查询、分组统计、排序、条件查询等操作,学生很难写出完整的命令,通过查询设计器这种可视化的方式进行对比教学,学生操作的每一步都可以查看到对应的SQL语句,可以加强学生对SQL语句的掌握,整个操作过程很直观,学生很容易地掌握了SQL语言中各种参数的正确使用。

2.3 SQL分组查询

针对学生反映的分组查询问题,在教学过程中应注意以下几点:

(1)SQL统计函数。SQL统计函数包括:count,sum,avg,max,min这5个基本函数,要让学生明白每个函数的具体功能,在实践过程中,学生有时候把count函数和sum函数弄混,在教学过程中应该强调二者的区别,count用来计数,sum用来给数值数据求和。

(2)分析分组的依据。例如求男女生的平均年龄,应该按性别分组;求每个学生的平均成绩,应该按学号分组;求每门课程的平均成绩应该按课程号分组等。由浅入深,让学生掌握如何确定分组依据。

(3)通过实践加强学生对所学知识的理解和掌握。例3:统计男女生人数。

命令:select性别,count(*)as人数

from学生表

group by性别

让学生实践操作:统计男女生入学成绩的平均分,统计不同专业学生的平均年龄等操作。

2.4多表查询和嵌套查询

2.4.1多表查询

首先要分析的是查询中最少需要的数据表,而不是把所有表都写进查询,这样就会影响查询效率。其次,要分析多表查询中的连接条件,例如学生表和专业表通过专业编号连接,课程表和成绩表通过课程号连接等。最后,需要提醒学生多表中具有的相同字段在显示时必须写上表的别名或表名。

2.4.2嵌套查询

从简单的实例出发:例如查询所有选课的学生信息,应该就是查询那些学号在成绩表中的所有学生信息,查询命令为:

select*from学生表

where学号in(select学号from成绩表)

让学生思考:查询被学生选修的课程信息,应该如何写,使学生对所学知识融会贯通,提高学生的数据库应用能力。

3结语

SQL语言是VFP数据库教学的核心部分,本文针对教学过程中存在的问题,通过教学方法的改革与实践,使学生的学习由被动变主动,提高了学生的学习兴趣,使学生能够利用SQL语言完成数据库的基本操作,学生的素质和课堂教学质量得到了进一步提升。

摘要:SQL语言教学是VFP数据库课程教学的一个重点和难点。文章针对SQL语言教学过程中存在的问题,对SQL语言的教学进行了研究与实践,提高了学生的学习兴趣和课堂教学质量。

关键词:SQL语言,数据库,教学方法

参考文献

[1]余坚.Visual Fox Pro程序设计基础[M].北京:清华大学出版社,2006.

[2]刘容.一种可视化的SQL语言对比教学方法在VF教学中的应用[J].计算机教育,2009(22):73-75.

[3]宁姝,肖远征,曹付元.SQL语言教学的研究与实践[J].计算机教育,2008(18):145-146.

vfp语言程序设计 篇3

关键词:Visual FoxPro;课程建设;师资队伍;课程体系;教学方法;实践教学;教材建设

0引言

随着信息技术的快速发展和计算机的高度普及,社会对新型人才的计算机应用能力与水平提出了较高的要求,而运用计算机进行数据处理是新型人才必须具备的基本能力。Visual FoxPro是一个面向对象的、可视化的数据库管理系统,是当前微型计算机上进行数据处理的重要软件之一。Visual FoxPro具有强大的数据处理能力,能满足非理工类专业计算机应用的需求。VisualFoxPro操作性强,数据处理的概念直观明了,相对于算法要求强的其他程序设计语言而言,更适合非理工类专业学生修读。

目前,《VFP语言及程序设计》课程为扬州大学全校非理工类专业必修课。为了更好地提高教学质量,从2000年开始《VFP语言及程序设计》实现了统一大纲、统一学时、统一命题、统一考核、统一阅卷等5个统一。经过长期不懈的建设,目前已成为校精品建设课程。在精品课程的建设过程中,我们着重做了如下几个方面的工作。

1师资队伍建设

建立一支具有较高政治思想素质和业务素质的教师队伍是进行课程建设和提高教学质量的基本保证。一般来说,各高校中从事计算机基础教育的教师学历层次低、科研能力弱是一个普遍现象。同时由于教学任务繁重,进修、深造的机会少,给师资队伍的建设带来了相当大的困难。为此,在课程建设之初,我们就把师资队伍建设作为一项重要工作来抓,采取“用好现有人才、稳住关键人才、引进急需人才、培养未来人才”的方针,通过有计划地引进人才、选送教师攻读硕士和博士学位、激励教师开展科研工作等一系列切实可行的措施,队伍建设有了显著成效。目前承担该课程教学任务的教师中,具有高级职称教师的比例、具有硕士博士学位教师的比例都有了较大幅度的提高,科研能力得到了进一步的加强。

在提高教师职称和学历层次的同时,我们还通过定期开展教研活动、开设公开课和观摩课、督导听课等形式,提高教师的教学水平。为了帮助青年教师尽快度过教学关,给教学工作不满5年的年轻教师指定一位教学经验丰富的“师傅”,实行拜师制。“师傅”与“徒弟”每学期相互听课不低于10节。对学生评教一般的教师进行重点帮扶,帮助他们分析原因、找出差距,通过集体备课、组织听课、教学检查、实行拜师制等一系列措施,提高他们的教学水平。目前本课程教师的教学水平受到了学生、同行和督导的高度评价,在近5年的校课堂教学质量奖的评审中,3人次获得一等奖,8人次获得二、三等奖。

2教学内容和课程体系改革

《VFP语言及程序设计》课程的内容主要包括数据库技术、面向过程的程序设计和面向对象的程序设计等三大模块。数据库技术介绍数据库的创建、维护和查询等操作,让学生初步掌握数据处理的能力。面向过程的程序设计介绍顺序、分支和循环等结构化程序设计的内容,培养学生程序设计的思想和方法。面向对象的程序设计介绍类和对象以及事件、属性和方法等内容,培养学生程序设计的技能和水平。

在过去的教学中,大家围绕数据库技术这个核心来组织和实施教学,学生的数据处理能力得到了加强,但是程序设计能力明显薄弱,甚至有不少学生对程序设计的概念都很模糊。因此,我们调整了教学内容,强调以面向过程的程序设计为核心、以数据库技术为辅线、以面向对象的程序设计为目标来组织教学,着重培养学生的程序设计能力。本着这样的指导思想,我们修订了本课程的教学大纲、实验大纲、考试大纲等一系列教学文件,对教师的教学行为进行规范,同时在期末考试试卷中将程序设计内容的比重调整到40%,引导师生转换教、学的重心。经过近几年的教学实践,我们发现学生的程序设计能力有了明显提高,数据处理能力不但没有削弱,反而有了进一步的提升,后续课程以及毕业设计指导教师对此评价很高。

3教学方法与手段

3.1教学方法

在教学中,采用“案例”教学方法,事先设计一个较大、较完整且实用的案例,该案例基本上包含了教学大纲中的所有知识点。在教学过程中,按照实际操作的方法与步骤,将案例分解成若干个模块,分步实现,最终达到案例的完善。

在教学中,采用“任务驱动”教学方法,根据当前教学主题设计并提出“任务”,针对所提出的任务,采用演示或讲解等方式,给出完成任务的思路、方法、操作和结果,引导学生边学边做,完成相应的教学任务。

在教学中,引入“研究性”教学方法,预先设计好若干个研究性课题,由学生根据兴趣与爱好,选择1个课题,查阅有关书籍资料,撰写研究报告。通过报告、辩论、小组讨论等丰富多彩的形式引导学生将被动学习转化为主动学习。

因材施教,实行差异化的创新能力培养。重视学生的个性培养,做到因材施教是高校培养创新人才的重要方式。“以最好的教学效果,来促进学生的一般发展”是前苏联教育家赞可夫的发展教学理论的基本观点,赞可夫据此提出了五大教学原则,其中之一便是“使学生包括后进生都得到发展”。在教学中,对不同的学生采取不同的教学手段和教学方法,实行因材施教。对学有兴趣、学有余力的学生,为他们制定培养计划,提供课外研究的场地和设备。对于优秀学生,指派“导师”,建立创新平台,针对不同的学生制定不同的计划,实行差异化的创新能力的培养。

3.2教学手段

积极采用“网络和多媒体”等现代化教学手段,提高教学的质量和效率,构建师生互动的教学平台。建立了《VFP语言及程序设计》课程网站,网站上有国家、省、学校等各级部门的相关教学指导文件以及本课程的教学大纲和教学规范、电子教案、电子幻灯片、多媒体课件以及自测题库等丰富的教学资源。学生可通过各校区实验室上网访问该网站进行远程学习。我们专设了网站管理员,不断更新网站内容。通过网上论坛可以在教师与教师之间交流教学经验、学生与学生之间进行协同学习、师生之间还可以解疑答惑。

注重多媒体课件的开发,丰富教学资源。网络教学资源建设初具规模,并能经常更新,运行机制良好,在教学中发挥了重要作用。

4实践教学

《VFP语言及程序设计》是一门理论与实践并重的课程。教学中,我们充分认识到实验教学在人才培养和教学工作中的地位,从根本上改变了实验教学依附于理论教学的传统观念,形成了理论教学与实验教学兼顾并重的教学理念。为突出实践教学的重要地位,我们采取了以下一系列的措施。

(1)实验教学大纲的修订

根据教学大纲的要求,修定了实验教学大纲。本课程共设

置了24个实验项目,考虑到教学计划课时的问题,分为计划内计划外必做和计划外选做等三种类型。每种类型各8个实验项目。这种实验安排既能满足多实验学时的教学要求,又能适应少实验学时的实际情况。无论计划课时多少,学生实践动手能力的培养都得到了充分的保证。

(2)实验项目的改造

注重实验项目的改造,每一到两年就对实验项目改造一次。目前24个实验项目分成基础与验证型、设计与开发型和研究与创新型等三大类型。本课程计划内必做实验项目8个,经过改造,增加了4个设计与开发型实验,减少了4个基础与验证型实验,基础与验证型实验项目占实验项目总数的60%以下。

(3)实验课时的保证

为了更好地培养学生的综合素质,提高动手能力,在计划规定的16个实验课时的基础上,每个教学班增加16个学时的计划外实验,统一安排并由专任老师指导。以发上机卡的方式向每个学生赠送20机时的课外上机,供学生根据自身需要自由择时上机练习。统筹安排计划内实验,挤出时间向学生开放机房,为学生创造课外上机的机会,充分提高设备利用率。设置免费机房,供学生课外免费自主学习。

(4)实践能力的考核

制定了大学生实践能力质量标准和考核办法,对学习本课程后学生应达到的实践能力进行了详细的规范。

单独进行实验考核,考核成绩占课程总成绩的30%。

(5)实验过程的规范

要求学生实验前认真预习,实验过程中讲究效率和质量,实验结束后认真填写实验报告。要求教师实验前认真做好实验准备,实验过程中耐心辅导,中途不得离开实验室,实验结束后及时批改实验报告。组织督导小组对教师上机辅导进行督查。

(6)实验教材的编写

为提高实验的质量和效率,编写出版了《Visual FoxPro实验指导书》。该实验指导书由东南大学出版社出版,将实验内容分为数据库系统、面向过程的程序设计、面向对象的程序设计和综合应用四大模块,实验项目分成基础与验证型、设计与开发型和研究与创新型等三大类型。基础与验证型实验项目数占总实验项目数的60%以下。每个实验项目包含了实验名称、实验属性、实验目的、实验内容与步骤、实验涉及的主要知识单元、软硬件环境、实验要求与提示、实验过程必须遵守的规则以及测评标准等内容。

5特色

5.1立体化教材建设

教材是教学内容的基本载体,教材质量直接影响到教学质量。因此,我们非常重视教材建设,已初步建成了以“基本教材+辅助教材+参考资料”三个层次组成的,“文字教材+网络教材+多媒体教学软件”相结合的系列化、立体化教材体系。

我们根据课程培养目标和教学大纲的要求,编写出版了《Visual FoxPro教程》(2版)教材、《Visual FoxPro标准测试题集》(2版)辅助教材以及《Visual FoxPro实验指导书》实验教材。《Visual FoxPro学习指导书》的出版工作正在商榷之中。这些教材在使用的过程中取得了良好的效果,受到广大学生、教师以及省内外专家与同行的好评,目前已被省内外多所高校选用。

同时,我们在课程网站上提供了“VFP电子教案”、“VFP授课幻灯片”、“VFP多媒体课件”以及“VFP自测题库”等网络和多媒体教学资源,供学生进行自主学习。其中,自主开发的“VFP多媒体课件”获江苏省高等学校“方正奥思杯”多媒体教学课件三等奖。

5.2健全的考核体系

为全面科学地评价本课程的教学效果,我们改变了过去只注重期末笔试的做法,将平时与期末、理论与实践、学生与教师等几个方面结合起来,进行全方位、全过程的多元化综合考核。

为保障该考核体系切实有效的实施,我们制定了一系列文件和规章制度以加强规范和指导。“考试大纲”界定了课程考核的内容与要求,“大学生实践能力质量标准与考核办法”确定了学生动手能力的最低要求,“学生上机守则”规范了学生上机实验的行为,“教师工作规范”则对教师的课外辅导和实验指导等提出了严格的要求。为保证这些规定和措施落实到位,我们还实行了学生干部、教师和督导三级检查制度。

为保证试题的质量,我们组织教师研制了一套题型丰富、题量适中的试卷库,并定期进行更新与维护。为了使考核结果真实有效地反映出教学的实际情况,提高考核结果的信度和效度,本课程考试实行全校统考、教考分离、流水阅卷。

本课程的考核体系不但考核学生,还考核教师。“教师工作规范”是对教师日常教学行为的约束,督导的听课检查是对教师教学过程的监督与促进,学生评教是对教师教学态度和水平的反映,期末考试数据分析是对教师教学效果的检验。我们从以上几个方面对教师进行综合考评,对于考评成绩差的教师将进行个别谈话、重点帮扶。考评成绩与教师的切身利益挂钩,并将影响到职称、荣誉等的评定。对连续两次考评成绩差的教师将暂不安排教学任务。

6结束语

“十一五”期间,高等教育将把重点放在提高质量上,中央财政将投入25亿元左右实施“质量工程”。“质量工程”是以提高优质资源共享为主要手段,以提高高等学校的本科生质量为目标。毫无疑问,课程建设将是“质量工程”实施过程中的一个核心内容。从客观上讲,学生的理论水平、实践能力和创新精神都亟待加强,教师队伍的水平也需进一步提高,人才培养模式,教学内容和方法更需要进一步改革。

VFP课程设计心得 篇4

牟超 20104940139

为期一周的VFP很快就结束了,我们的设计项目“医院管系统”也完成了。看着自己亲手做好的系统能够良好运行,心里是美滋滋的,整个过程中有很多喜与忧,我体验了,也正真享受到了这过程中给我带来的乐趣。我们小组3个同学也都各自保存了一份,作为纪念吧,毕竟这是我们长这么大第一次亲手设计的系统,意义真的很大。

这里首先感谢老师一学期的辛勤教导,让我了解并掌握了VFP这门编程语言,虽然我们的课程结束了,但作为信管专业学生的我知道我们还需要继续更深入的学习,毕竟我们学到的还只是皮毛而已。其次要感谢我的队友唐佳森和滕文浩,没有大家的团结,我们的系统是完不成的。

现在系统完成了,回想起整个过程,我们曾一整天呆在一起面对电脑研究程序,一起讨论,一起思考,一起解决问题,感觉真的很好。当我们解决掉一个问题时,那种喜悦与兴奋真的很难忘。我曾连续两个夜晚都搞到3点左右才睡觉,虽然很疲倦,但看着一晚上的劳动成果,其实躺下了一时也睡不着,很激动。看着整个工作慢慢往前退进,那种期待与喜悦难以名状。当我经过7个小时的努力完成连编时,更是激动地不行了,一直在哪里运行程序,第二天就把这一成果分享给了其他同学,看着大家都很激动,心里也是美滋滋的。说实话,整个过程真的很繁杂,主要是后面的调试阶段,真的花了很多时间,一次一次的修改,才使得系统渐渐没了漏洞。光是连编,我至少都弄了30次,虽然挺累的,但成功时,真的很高兴,完全掩盖了那份疲倦。

通过此次课程设计,让我对VFP课程掌握更熟练了,理解更透彻了。个人觉得此次课程设计的效果达到了,收获真的很多。我们的团结协作能力也得到了提升。总体来说,此次课程设计,累着并快乐着,谢谢我的老师,谢谢我的队友!

滕文浩

20104940140

vf课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

通过这次课程设计,本人在多方面都有所提高。综合运用本专业所学课程的理论实际训练从而培养和提高学生独立工作能力,巩固课程所学的内容,掌握课程设计的方法和步骤,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。

在这次设计过程中,体现出自己单独设计的能力以及团队配合的重要。.综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

在此感谢我们的老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。

同时感谢对我帮助过的组长组员,谢谢你们对我的帮助和支持,让我感受到同学的友谊。

由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。

唐佳森

20104940141

为期一周的vfp课程设计在此已接近尾声!虽然仅有一周却让我们尝尽啦人生百味,酸甜苦辣各中滋味只有自己知晓!

这次课程设计让我看到啦自己的许多知识点的不足,从而让我明白知识扎实的重要性!因为基础知识的不扎实让我在这次课程设计中走啦许多弯路,不过我认为是值得的!它大大的补充啦我知识不足的那一面,我始终相信付出必有收获。

在这次课程设计中从而让我明白坚持就是胜利的真正含义。在这次课程设计中几次在反复思索却无法找到正确路径的时候,我都好想放弃啊。心想我花啦这么长的时间却没有多大的成果,内心是心酸的是无奈的,如果现在不做好那就更无法完全这次课程设计啦,因为我的坚持最后让我功确难关让我走到啦今天,呵呵真的很高兴啊,之前的那些心酸已不复存在于我的脑海中,已被喜悦填充,付出是心酸的,但最后的收获却是无穷的,让人受益无穷的,我真的很感谢这次课程设计所带给我的快乐。

vfp语言程序设计 篇5

在开发应用程序时,首先应进行系统环境规划,规划中要考虑的因素有:应用程序所面向的用户及其可能需要的各种操作、数据库规模、系统工作平台(单用户或是网络)、程序要处理的数据类型(是本地数据还是远程数据)等,

VFP教程 十一、 应用程序开发

。规划完成之后,即可利用项目管理器来进行每一步开发,它可以帮助管理开发过程中的所有文件,并最终连编成应用程序。应用程序的开发步骤大致如下图所示:

1. 数据库结构设计

2. 系统功能模块设计

3. 菜单设计

4. 用户界面设计

5. 查询设计

6. 报表设计

7. 系统维护设计

8. 系统模块调试

9. 用项目管理器连编成应用程序

11.2 优化应用程序的技巧

1. 优化表和索引

(1) 如果没有启用记录或表缓冲,应该使用INSERT-SQL命令(因索引只需更新一次),而不要使用APPEND BLANK 命令后再使用REPLACE;

(2) 当需要将大量记录追加到索引过的表中时,应先取消或关闭索引,在数据追加完毕,再重建索引,这样速度会快些;

(3) 在SQL语句中要尽量避免函数调用;

(4) 如果需要经常使用某种索引顺序,应周期性使用此索引对表进行排序,提高表的性能;

(5) 在多用户环境中,使用CDX 索引文件比 IDX 索引文件快。

2. 使用Rushmore 技术加速数据访问

使用 Rushmore 技术可以显著地提高查询的速度,

电脑资料

Rushmore 是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒。访问单表时,使用 FOR 子句,访问多表时,使用SELECT-SQL 查询,可自动隐含地使用该技术。

(1)访问单个表中的数据,使用一个FOR子句;

(2)访问多个表中的数据,使用SELECT-SQL、DELETE-SQL、UPDATE-SQL命令。

3. 优化表单和控件

(1) 使用数据环境;

(2)在表单集里限制表单数目;

(3)在页框中动态加载页面控件;

(4)动态绑定控件与数据;

(5)当必须对屏幕进行多处更改时,延迟屏幕刷新;

(6)在经常使用的方法程序中减少代码。

4. 提高VFP程序性能的一般技巧

(1)数据要选择正确的数据类型

(2)避免重复打开文件,需要打开多个文件时,将它们分配给不同的工作区,需要时使用SELECT命令选择工作区;

(3)尽量使用FOR…ENDFOR循环,而不要使用DO WHILE…ENDDO循环,因为FOR循环较快;

(4)从多个字段复制数据时,用SCATTER TO ARRAY 比用SCATTER MEMVER快;

(5)为了有效的使用内存,避免在需要对象之前就创建它们,当不要该对象时应及时清除它;

(6)尽量将输出发送到顶层窗口,速度快些;

(7)使用SET TALK OFF命令取消状态显示,可节省屏幕顶端更新时间;

(8)将SET DOHISTORY 设置为OFF,避免当运行程序时每次都更新命令窗口;

(9)使用名称表达式代替宏替换,因为名称表达式更快;

(10)有效地引用对象属性:

·优化对属性的重复引用,可将属性值保存到一个变量中,再进行更改,在完成时一次性的设置属性;

VFP实践总结 篇6

本课程授课班级:外语学院z0701-06班

《visual foxpro 程序设计》是一门具有功能强大的可视话程序设计工具的数据库系统,已经成为社会生活诸多领域广泛应用的重要计算机管理技术。属应用与实践教学课程,是非计算机专业必修课。而且作为全国计算机等级考试二级考试的科目的一种,是非常重要的一门课程。学习visual foxpro 程序设计,可以培养学生的计算机操作能力和数据库管理能力。同时培养学生掌握计算机技术和信息管理的综合能力。

本学期承担外语学院z0701、z0702班的授课任务,经过师生双方的共同努力,目前取得了较好的效果。

在授课过程中,采用多媒体教学、大屏幕演示与上机实践相结合的教学方式。一个学期里,有32节理论课和32节上机练习课,具体教学手段如下:

理论课程和实践课程相结合,能按照教学进度计划完成授课任务。在理论课时通过大屏幕电子课件讲解,使学生能直观的看到教学的内容,然后就是到机房进行上机的练习,通过实践将理论知识进一步深化,加深记忆,教学效果明显提高。

在实践教学中,利用实验指导书,每周的上机实验都布置一定的实验任务,让学生利用所学的知识去探讨解决问题的方法,增加验证和设计类型的实验,而且每次实验过后都要填写实验报告,并将实验报告的成绩纳入期末考试的成绩之中。

在教学过程中也发现了一些问题,学生的基础差异很大,课堂进度很难满足多方面学生需求,为了解决这一问题,我将实验课划分4个小组,每个小组指定基础好、做题快的学生为实验指导员,帮助那些基础差的学生做作业,既调动了学生的积极性,又提高了班级整体教学效果,不让一个掉队。实验课采用“同步教学法”,即教师发出一个操作指令,全体学生同步完成,使学生感到实验课内容充实,有的放矢,同时上网、打游戏的学生减少了。

有效利用实验课时间,不占用课堂时间批作业。由于学时的限制,对于学生来说,实验课时间很宝贵,教师在实验课上主要任务是辅导学生巩固课堂内容,或是指导答疑学生在实验课上的问题,学生将作业传到网上,教师利用业余时间批改。班级还设置了一个公用信箱,师生可以交流,教师能及时掌握学生学习情况。

为更好地完成本课程的教学任务,我还精心制作了电子课件、教学进度表、题库、并认真填写教学日志。

高职计算机基础教学部

佟继红

2008.5篇二:vfp实习报告 visual foxpro 及其应用系统开发

实习报告

学院: 经济管理学院

班级序号:xxxxx 学号: xxxxxx 姓名: xxxxx 指导老师:xxxxxx 1.汽车修理管理系统 2.实习总结

汽车修理管理系统一、系统分析 1.需求分析: 某汽车修理长根据业务发展的需要,决定建立一个“汽车修理管理系统”,以取代人工管理,开发目的如下。

(1)能对汽车修理有关的数据进行输入、修改与查询。

(2)编制季度零件订货计划。

(3)打印汽车修理发票和工资月报表。

数据分析:

在调研的过程,用户提供了该系统所需的输入、输出单据。输入单据包括修车登记表、汽车修理单、零件库存表、领料单、修理工登记表;输出单据包括季度零件订货计划单、汽车修理发票、修理工工资月报表。2.功能分析:

(1)数据登记

登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。这些单据包括修车登记单、汽车修理单、零件库存表。

(2)查询

能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。

(3)编制并显示季度零件订货计划

编制零件订货计划需要找出要订货的零件,订货条件为:零件库存量<最低库存量,订货量可由用户输入或修改。

(4)打印发票

发票中除了包含顾客、汽车及修理项目等数据外,还要算出修车费用。修车费用和零件费,按夏磊各式计算:

零件费=∑(零件价格*好用数量)

修理费=小时工资*修理工时*3 总计=零件费+修理费

(5)打印修理工工资月报表

某修理工的月工资=∑修理小时*小时工资

二、数据库设计

数据库设计的任务是确定系统所需的数据库。数据库是表的集合,通常一个系统只需一个数据库。数据库设计可分为逻辑设计与物理设计两个步骤。第一步确定数据库所包含的表及其字段。第二步确定表的具体结构,即确定字段的名称、类型及宽度;此外还要确定索引,为建立表的关联准备条件。

逻辑设计

小型dbas的逻辑设计可直接从分析输入数据着手,将输入数据着手,将输入数据中的各类相关数据归纳为不同的数据表。对查询时需要同时调用的若干表,应使它们符合关联要求。对初步设计好的数据表,可通过分析输出数据来验证其可用性。若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。

(1)修理单:xld(编号,牌号,工号,修理项目,修理小时,送修日期,完工日期)

(2)汽车:qc(牌号,型号,生产厂,车主名)(3)车主:cz(车主名,地址,电话)(4)修理工:xlg(工号,姓名,地址,电话,出生日期,进场日期,小时工资)(5)零件用量:ljyl(编号,零件号,数量)(6)零件库存:ljkc(零件号,零件名,成本,价格,库存量,最低库存,订货量)

三、应用程序设计

1封面设计:略 主文件(qcxl.prg)set talk off clea all set view to sjhj.vue public xldh,zljf xldh=space(4)do form fm keyb {ctrl+f4} modify wind screen titl 汽车修理管理信息系统 clear do qcxlcd.mpr read event quit

2、单程序结构

在菜单设计器中分别设计“登记”、“零件管理”、“查询”、“打印”和“退出”菜单项,在“登记”、零件管理“、”打印“结果项选择”子菜单“项,“退出”的结果项选择“过程”项;编辑“登记”、“零件管理”、“打印“的”子菜单“,分别加入“修车登记”、“汽车修理“、“修理工管理”,同时对“修车登记”、“汽车修理”菜单项分别键入”do form xcdj”、”do form qcxl”;“零件订货计划”、“零件入库管理”、“零件出库管理”,同时对“零件订货计划”菜单项键入”do form ljdh”;“发票”、“修理工工资月报”,同时对“发票”菜单项键入”do form dyfp”;在“退出”的过程项中编辑“clear event”。从菜单文件生成菜单程序 qcxlcd.mpr 菜单程序命令

“退出”菜单项的命令clear events 按结构设置调用各表单的命令

生成菜单程序 qcxlcd.mpr 过程如下: 1)往命令窗口键入 modify form xcdj,使出现标题为xcdj.scx的表单设计器窗口;属性设计:form1的caption属性设置为“修车登记”,autocenter属性设置为.t.;用数据环境把xld 表的编号,送修日期,修理项目和牌号,qc表的型号,生产厂和车主名,cz表的地址和电话等字段拖拽到表单中相应位置。2)分别设置牌号和车主名两个文本框valid事件代码 sele qc locate for 牌号=xld.牌号 if not found()insert into qc(牌号)values(xld.牌号)endif select cz locate for 车主名=xld.车主名 if not found()insert into cz(车主名)values(qc.车主名)endif select xld do case case this.value=1 if recn()1 skip-1 endif case this.value=3 go top case this.value=4 go bottom case this.value=5 do form srxldh case this.value=6 zy=messagebox(是要增页么?,1+48+256,确认增加修理单)if zy=1 go bottom insert into xld(编号)values(str(val(编号)+1,4))endif case this.value=7 sy=messagebox(是要删页么?,1+48+256,确认删除修理单)if sy=1 delete pack endif case this.value=8 select qc brow titl汽车修改+space(20)+单击行首可打删除标记,退出就删去 pack case this.value=9 select cz brow titl车主修改+space(20)+单击行首可打删除标记,退出就删去 pack case this.value=10 thisform.release endcase thisform.refresh 寻页按钮gotfocus事件代码篇三:vfp实习报告 visual foxpro 及其应用系统开发

(实习报告)

姓名: 班级: 学号: 一:实习目的:

1、进一步系统把握vfp基本命令

2、系统领会vfp的程序设计技巧

3、充分学习vfp面向对象的编程方法与思想

4、初步学习与领会、感知信息系统的开发,为后续课程《管理信息系统》的学习打好实践基础。二:实习要求:

1、认真复习vfp的基础知识与基本理论,按照实习大纲认真完成每项任务要求

2、设计完成后每位同学认真完成书面设计报告上报任课教师,报告的基本内容应包括(主要对小型系统设计):

1)系统分析:需求分析、数据分析、功能分析 2)系统设计:系统总体结构,1~3个自由表的基本结构、代码设计思想 3)系统使用说明书:

设计完成后每位同学将所设计的系统考入软盘并与设计报告一起上报任课教师。

三:实习内容:

一、根据表1,做如下操作练习

表1 职工工资表

1、建立工资表文件gz??.dbf,备注定义为memo字段,其中??为本人学号 首先,选定“工具”菜单的“选项”命令?在“选项对话框中选定“文

件位置”选项卡?在列表中选定“默认目录”选项?单击“修改”按钮?在“更改文件位置”对话框中选定“使用默认目录”复选框,然后在“定位默认目录”文本框中输入路径“h:vfp实习” ?单击“确定”按钮返回“选项”对话框?单击“确定”按钮关闭“选项”对话框,将系统默认路径设为h:vfp实习。

利用create gz20101003975命令创建.dbf表,其中gz20101003975(姓名c(4),分厂c(2),基本工资n(4,2),奖金n(4,2),扣款n(4,2),应发工资n(4,2),备注m)。依次输入数据,即得到工资表。

2、添加、插入、删除、修改练习

输入append命令打开数据输入窗口,即可输入或修改数据。输入insert [blank]命令,可在表中插入数据。

删除命令delete for <条件> + pack(恢复recall for <条件>);zap 删除表中所有记录.输入replace <字段> with <新字段>即可对表数据进行修改

3、记录指针移动、检索操作练习

1)命令go+skip组合即可达到记录指针移动的目的。如输入命令: go 1 skip 1 即可让记录指针移动到第二条记录 2)顺序检索查询: use gz20101003975 locate for 基本工资>=480 display continue ?found(),recno()display continue 即可查询出基本工资>=480的工人(程序窗口中将会显示李民和张良两条记录)。

索引查询命令: use gz20101003975 index on 姓名 tag xm seek “胡立” ?recno()display 即可查询出“胡立”这一条记录

4、排序、索引、统计操作练习1)排序: use gz20101003975 sort to jbgz on 基本工资/d use jbgz list 即可显示出按照基本工资降序排列的新表jbgz。2)索引: use gz20101003975 index on 奖金 tag jj list 即显示出按照奖金升序排列的表。3)统计:(统计奖金大于等于80的人数)use gz20101003975 count for 奖金>=80 to rs ?’奖金大于等于80的人数:’,rs 显示结果为“奖金大于等于80的人数:3”

二、简单编程练习

1、已知半径r=10,计算周长c=2πr *实习2-1 主程序 ybj=0 bj=10 do 实习2-1 子程序 with bj,ybj ?ybj=,ybj return *实习2-1 子程序 parameters r,c c=pi()*2*r return

2、假设银行一、二、三年定期存款的年利率分别为5.0%、5.5%、6.2%。若储户存款为x元,期末偿还本息为y元,编写计算各种不同定期存款期末应付本息的程序 input 请输入银行存款: to x input 请输入储存年限: to a do case case a=1 y=x*a*0.05+x case a=2 y=x*a*0.055+x case a=3 y=x*a*0.062+x ?银行存款期末本息和:,y otherwise wait 请检查输入年限!window endcase

3、求二元一次方程ax^2+bx+c=0的根 x=0 input 请输入a的值: to a input 请输入b的值: to b input 请输入c的值: to c do case case a=0篇四:vfp课程设计总结 vfp课程设计总结

专业:物流管理 指导老师:姚徐 学号:1240411113 姓名:周芹

目录 1.绪论

1.1系统设计目标 1.2系统开发关键技术 2.系统分析 3.vfp课程设计内容 3.1设计目的 3.2设计任务 4.系统设计 4.1系统功能模块 4.2数据库表设计结构 4.3主要模块的设计说明和程序代码 5.主程序代码及显示 6.结论 7.总结与展望 1 绪论

1.1系统设计目标

该项目的设计目的在于开发一套教学信息管理系统,这能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询,解决了在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率低,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等问题。同时该系统能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。用计算机制作的学生信息管理系统还可以通过功能强大的internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用!1.2 系统开发关键技术 1.开发工具

采用vfp6。0做为开发工具 2.系统开发硬件平台 表、数据库、项目、类

查询设计、菜单设计、表单设计 3.系统开发软件平台

基于windows平台的可视化数据库管理系统

表、数据库、项目、类的基本概念及基本操作 4.软件运行硬件平台要求 vfp6。0 奔腾3以上处理器,内存128m以上,硬盘20g以上。5.软件运行系统平台要求 windows 2000/xp或更高版本的操作系统 6.2 系统分析

(1)修改密码:学生可以根据自行更改密码,用户名为学号,初始密码也是学

号,确保自身信息的安全部外泄,在这里要提醒广大学生,尽快修改密码,并牢记新密码,不要随便把自己的登录信息告知他人。(2)系统信息:教师工作人员可以对系统内学生成绩进行及时更新,增删新旧

信息。

(3)教师任课情况:可以查询到具体课程有哪位老师教,课时数为多少,以及 课程类别。

(4)学生选修课程信息:是否选上,以及

每门课程考试成绩是多少。

(5)学生总成绩:总成绩、平均成绩一目了然,更好的掌握自己目前的学习状

况。3 vfp课程设计内容 3.1 设计目的通过两周的时间,使学生进一步掌握有关表、数据库、项目、类的基本概念及基本操作,在此基础上进行查询设计、菜单设计、表单设计,并掌握常用的属性、事件及方法的使用。3.2 设计任务

1.设计项目:基于vfp课程设计的研究成果 2.设计功能:(1)系统功能设计

注:打印功能可以单独在菜单上列出,也可以直接在统计表单上添加打印按钮。

(2)数据库设计

1、教师情况表

工号 c5,姓名 c8,性别 c2,系名 c20,工龄 n2,出生日期d8,基本工资 n7,2,简历 m4

2、学生情况表

学号 c6,姓名c8,性别c2,系名c20

3、课程情况表

课程代码 c4,课程名 c30,课时数 n3,课程类别c20,任课教师工号 c5

4、学生选修课程及成绩表

学号 c6,课程代号c4,成绩n3

5、用户表

用户名 c 18,密码 c 20(以上数据表,必须根据实际情况分别设置:‘格式’、‘输入掩码’,‘标题’,‘字段有效性规则’,‘记录有效性规则’,‘触发器’,‘索引’)(3)菜单设计

见系统功能设计。

(4)模块详细设计

6、用户登录界面

? 用户信息维护,修改密码,进行密码登录次数限制。

7、数据管理 ? 教师基本信息:按js表的内容建立表单,利用该表单进行教师基本

信息的添加、更新、删除及查询、第一条、下一条、上一条、最后一条等处理。? 学生基本信息:按xs表的内容建立表单,利用该表单进行学生基本

信息的添加、更新、删除及查询、第一条、下一条、上一条、最后一条等处理。? 课程基本信息:按kc表的内容建立表单,利用该表单进行课程基本

信息的添加、删除及查询、第一条、下一条、上一条、最后一条等处理。? 用户信息维护:按yh表的内容建立表单,利用该表单进行课程基本

信息的添加、删除及查询、第一条、下一条、上一条、最后一条等处理。注意:这三个表单中用到的工具条要创建成类,然后把它添加到表单中

8、查询设计 ? 教师任课情况:以一对多的形式,在页框第一页的表格中选择教师

双击后,页框自动切换到第二页并在第二页的表格中显示该教师的任课情况。? 学生选修课程信息:创建一个一对多表单,当在一个下拉组合框中

选择学生后,在下面的grid中反映该学生选修的课程名、课时数、任课教师以及该门课的成绩。

9、统计处理

? 各教师的任课时数:创建一个视图,该视图用来反映每个教师上了 几门课,总课时是多少,并将该视图加到表单的数据环境中,创建一个教师情况查询表单。? 课程选课情况:利用查询设计器设计一个查询,查各门课程学生选

修人数、最好成绩、最差成绩、平均成绩 ? 学生成绩统计:创建一个视图,该视图用来反映每个学生选修了几

门课,总成绩多少,并将该视图加到表单的数据环境中,创建一个学生总成绩查询表单,勇气用页框来实现,第一页反映学生的总成绩,第二页反映学生的明细成绩。

10、打印输出 先在报表设计器中设计一个学生总成绩报表,然后在学生总成绩查询表单上添加一个打印按钮,当按下该按钮时,调用上述创建的报表。4.系统设计 4.1 系统功能模块

学生管理信息系统是一套功能完整操作简便的面向江苏科技大学南徐学院全体在校生的综合系统,包括学生学籍信息管理、教学计划管理、已修课程管理、学分绩点测算、学业预警管理、计划完成情况管理6大功能,可实现学生信息的自主查询。篇五:vfp课程设计心得

vfp程序设计课程心得(第10小组)

牟超 20104940139 为期一周的vfp很快就结束了,我们的设计项目“医院管系统”也完成了。看着自己亲手做好的系统能够良好运行,心里是美滋滋的,整个过程中有很多喜与忧,我体验了,也正真享受到了这过程中给我带来的乐趣。我们小组3个同学也都各自保存了一份,作为纪念吧,毕竟这是我们长这么大第一次亲手设计的系统,意义真的很大。这里首先感谢老师一学期的辛勤教导,让我了解并掌握了vfp这门编程语言,虽然我们的课程结束了,但作为信管专业学生的我知道我们还需要继续更深入的学习,毕竟我们学到的还只是皮毛而已。其次要感谢我的队友唐佳森和滕文浩,没有大家的团结,我们的系统是完不成的。

现在系统完成了,回想起整个过程,我们曾一整天呆在一起面对电脑研究程序,一起讨论,一起思考,一起解决问题,感觉真的很好。当我们解决掉一个问题时,那种喜悦与兴奋真的很难忘。我曾连续两个夜晚都搞到3点左右才睡觉,虽然很疲倦,但看着一晚上的劳动成果,其实躺下了一时也睡不着,很激动。看着整个工作慢慢往前退进,那种期待与喜悦难以名状。当我经过7个小时的努力完成连编时,更是激动地不行了,一直在哪里运行程序,第二天就把这一成果分享给了其他同学,看着大家都很激动,心里也是美滋滋的。说实话,整个过程真的很繁杂,主要是后面的调试阶段,真的花了很多时间,一次一次的修改,才使得系统渐渐没了漏洞。光是连编,我至少都弄了30次,虽然挺累的,但成功时,真的很高兴,完全掩盖了那份疲倦。

通过此次课程设计,让我对vfp课程掌握更熟练了,理解更透彻了。个人觉得此次课程设计的效果达到了,收获真的很多。我们的团结协作能力也得到了提升。总体来说,此次课程设计,累着并快乐着,谢谢我的老师,谢谢我的队友!

滕文浩 20104940140 vf课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学

会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

通过这次课程设计,本人在多方面都有所提高。综合运用本专业所学课程的理论实际训练从而培养和提高学生独立工作能力,巩固课程所学的内容,掌握课程设计的方法和步骤,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己单独设计的能力以及团队配合的重要。.综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

在此感谢我们的老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。

同时感谢对我帮助过的组长组员,谢谢你们对我的帮助和支持,让我感受到同学的友谊。

由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。

唐佳森 20104940141 为期一周的vfp课程设计在此已接近尾声!虽然仅有一周却让我们尝尽啦人生百味,酸甜苦辣各中滋味只有自己知晓!

这次课程设计让我看到啦自己的许多知识点的不足,从而让我明白知识扎实的重要性!因为基础知识的不扎实让我在这次课程设计中走啦许多弯路,不过我认为是值得的!它大大的补充啦我知识不足的那一面,我始终相信付出必有收获。在这次课程设计中从而让我明白坚持就是胜利的真正含义。在这次课程设计中几次在反复思索却无法找到正确路径的时候,我都好想放弃啊。心想我花啦这么长的时间却没有多大的成果,内心是心酸的是无奈的,如果现在不做好那就更无法完全这次课程设计啦,因为我的坚持最后让我功确难关让我走到啦今天,呵呵真的很高兴啊,之前的那些心酸已不复存在于我的脑海中,已被喜悦填充,付出是心酸的,但最后的收获却是无穷的,让人受益无穷的,我真的很感谢这次课程设计所带给我的快乐。

vfp语言程序设计 篇7

随着信息社会的不断发展, 数据处理技术已经深入到人们生活的各个层面。利用数据库技术解决工作中的实际问题已成为社会对大学生的普遍要求。Visual Fox Pro (以下简称VFP) 是一种面向对象的关系型数据库软件, 以很少的代码就能设计出丰富多彩的用户界面, 是开发中、小规模数据库应用系统的常用工具, 因此得到各高校的高度重视, 成为各高校所开设的课程之一。本文从分析VFP程序设计课程的现状入手, 在教学方法和手段运用等方面进行了探究, 以取得良好的教学效果。

1 VFP程序设计课程的现状分析

VFP程序设计语言是一种面向对象和事件驱动的可视化编程语言, 它既有可视化的操作界面, 又有交互式的操作命, 还有关系型数据库通用的结构化查询语言;它不仅涉及到数据表、数据库、查询等一些基本操作, 而且还涉及到表单、报表和菜单的建立和使用。其中概念较多, 内容比较复杂, 还得编写事件代码, 对初学者来讲会感到茫然。在传统的教学模式中, 大多是以教师为主, 学生为辅, 忽略了学生的认知主体作用, 学生总是被动地接受知识, 而无法主动学习和培养自己的创造性思维能力, 长此以往, 学生的学习就缺乏主动性。再加上学时少, 重理论、轻实践, 实践教学环节薄弱, 所以根据以往教学过程的情况看, 学完该课程之后, 学生对于数据库系统中的概念还非常模糊, 不能充分理解, 也不能很好地开发出一个完整的应用系统。那么如何使学生掌握好这门软件开发工具的技能, 达到能够开发出实用的小型数据库系统的目的, 成为教师面临的核心问题。

2 教学方法的探究

教学方法的重要职能是将预期的教学目的变成教学成果, 教师所运用的教学方法在很大程度上决定了教学效果的优劣。根据几年VFP的教学经验, 笔者总结了以下的教学方法, 可以达到事半功倍的教学效果。

2.1 上好第一节课

“良好的开端是成功的一半”, 上好第一节课很关键, 是教学成功的重要环节。为了培养学生学习VFP的兴趣, 可以先给学生演示一个功能较为完善的数据库管理系统, 如“学生信息管理系统”。该系统有信息输入, 信息浏览, 信息修改, 信息查询等功能, 界面的设计要新颖、美观, 引起学生的共鸣, 当得知通过一学期的学习自己也能完成类似的系统时, 学生就会产生强烈的学习兴趣。兴趣是最好的老师, 是促进学生勤奋学习的一个很重要的因素。调动了学生学习的积极性, 就为以后的课堂教学打下了良好的基础。

2.2 多媒体教学手段的应用

VFP课程操作性极强, 单凭一块黑板和三尺讲台不足以使学生掌握和运用所学的知识, 最好安排在多媒体教室中进行。学生每人一台计算机, 教师使用教师机, 教师通过安装的软件可以控制学生机。教师讲授的内容 (如VFP中的各种窗口、对话框、表单、执行结果等) 和操作过程可完全显现在学生机上, 使学生能更直观、更清晰地理解所学内容。教师精心确定教学内容, 适当编制一些动画、游戏, 寓教于乐, 并让学生自己去实践, 这样有利于培养学生分析问题、解决问题的能力。多媒体教学的优点在于直观形象, 通过音频、视频、图片等多种形式, 将大量的信息展现在课堂上, 为学生提供生动、友好、多样化的交互平台。因此, 在VFP程序设计课程的教学中, 应充分发挥多媒体技术在课堂教学中的优势, 从而得到良好的教学效果。

2.3 案例教学法的应用

案例教学法是起源于二十世纪初, 由美国哈佛商学院所倡导的一种公认的行之有效的教学方法。案例教学法是一种运用案例进行教学的方法, 它以提出问题———分析问题———解决问题为主线, 把学生带入特定的生活情境中, 使学生能够主动地参与教学的整个过程, 它是一种参与型的学习方法, 能够激发学生的求知欲, 使学生成为学习的主体, 由被动接受知识变为主动探索。案例教学法包括案例设计、案例分析和讨论、案例实现这三个方面, 着眼点在于案例的分析和讨论。通过分析和讨论, 学生能逐步掌握案例中所包含的理论知识, 并将它们用于实际的系统设计当中。

教师在选取案例时, 根据教学目的和培养目标的要求, 要选取具有代表性、趣味性、实用性的案例, 案例要有针对性、探讨性的特点。如在讲解数据表的表单设计时, 就以“学生成绩管理”的表单作为案例。教师先把自己制作好的比较精美的表单给学生演示一下, 然后提出问题:能用哪些方法制作出类似的表单?由于学生对自己所学的科目设置都比较了解, 在教师引导下, 就会对案例中的问题进行有针对性的分析和讨论, 是用表单向导还是用表单设计器制作表单, 又或者是用快速表单添加字段的方法制作表单, 对表单中的控件如何设置, 以及如何修饰表单等等, 最终每个学生都会按照自己的思维解决这个问题。通过这样的案例, 学生即学到了相关的理论知识, 又提高了分析问题、解决问题的能力。

案例教学法适合于实践性较强的课程。通过把学生感兴趣的内容设计成一个个案例, 培养学生学习的主动性和创造性, 使学生从原来的“要我学”变成现在的“我要学”改变了传统的以教定学的教学模式。案例教学法是以教师为主导、学生为主体, 以学定教, 使学生由被动学习变成主动参与的教学新模式。通过案例教学法的应用, 加深了学生对课程体系的理解, 实现了理论和实践的完美结合, 学生成为了认知的主体和知识意义上的主动建构者。

2.4 完善实践教学环节

VFP是一门实践性很强的课程, 数据表、数据库、报表等文件的建立, 按钮、列表框、图像等控件的使用, 各种操作命令的运行等等, 都离不开上机实践的环节。应该精心设计实验内容, 多安排实验课, 利用校园网络将实验内容放到网络上, 让学生为上机实践做好准备, 上实验课时充分利用上机时间, 多思考多练习, 消化和巩固课堂所学, 将枯燥的理论知识转化为可视化的能够实际运行的知识。“实践出真知, 科学靠实践”。只有这样, 才能提高学生的动手能力和创新能力, 深刻地理解VFP的理论内容, 从而快速地掌握数据库系统知识。

3 结语

总之, 运用以上的教学方法和手段, 就能充分调动学生学习的积极性, 让学生对数据库系统开发产生兴趣, 掌握好VFP程序设计课程的理论, 提高分析问题和解决问题的能力, 从而达到开发出中、小规模数据库应用系统的目的。

参考文献

[1]杨俊峰.浅议高校公共VFP课程的教学方法[J].电子技术, 2013 (7) :80-82.

[2]李淑华.Visual FoxPro6.0程序设计[M].北京:高等教育出版社, 2005:259-279.

vfp语言程序设计 篇8

关键词:幼儿信息管理系统;Visual Foxpro6.0;C/S;升迁;数据库

中图分类号:TP315 文献标识码:A 文章编号:1673-8454(2010)14-0068-05

引言

在幼儿园引进计算机进行幼儿信息管理,是幼教信息化发展的要求和大势所趋。开发并利用幼儿信息管理系统,不但可以实现幼教管理信息化,大大提高工作效率,而且可以提高幼儿园的硬件设施档次和知名度,有利于提高生源。通过实践我们发现,幼儿管理的信息化可以提高幼儿园管理水平、教学质量和为家长服务的质量。

本文介绍一个以Visual Foxpro6.0(以下简称VFP6)为开发工具,以Microsoft SQL Server2000为远程数据库服务器,采用原型化方法的C/S模式的幼儿信息管理系统的设计与实现,该系统尤其适合单位附属幼儿园的幼儿信息管理需要。

一、系统需求分析

幼儿园中的幼儿信息管理工作包括幼儿入园登记、分班、插班、调班、退学、请销假、体检、疫苗接种、幼儿生日提醒、特色班管理、升级、毕业等方面。在使用方面,园长可通过系统对全园的幼儿信息进行查阅和管理,班级教师可以对本班幼儿基本信息进行查询,但只能对本班教学运行信息如请销假等进行更新。

根据上述幼儿管理工作要求,系统中需要存储幼儿基本信息和日常教学产生的信息两方面的数据。在功能方面,需要为上述两类用户提供信息查询、更新、数据导入导出等信息维护、统计和报表功能,以及幼儿分班、调班、升级等其他幼儿管理功能。在安全性方面,根据幼儿园管理权限要求,将本系统的用户分为园长用户、班级教师用户和管理员用户三个类别,对其分别授以不同的系统使用权限。在使用方面,幼儿信息管理软件要支持在网络环境中的多用户同时运行,这包括园长用户和每班的教师用户。

二、开发工具选择

VFP6是一种自含式的DBMS,它功能先进、强大,支持客户机/服务器结构(C/S结构),与其他软件具有高度兼容性。利用VFP6自带的升迁向导(Upsizing Wizards),可将本地多用户管理信息系统升迁为C/S结构的Microsoft SQL Server2000应用系统。本文所述系统采用VFP6为DBMS和软件开发平台。

三、系统概要设计

1.系统设计方案

该信息管理系统采用C/S结构。开发时,先按C/S模式的总体要求设计本地幼儿信息管理系统,再按原型化方法用VFP6建立数据库和实现其应用软件原型,通过评测后,利用升迁向导将其VFP数据库升迁为远程Microsoft SQL Server2000数据库,建立Microsoft SQL Server 2000数据库服务器,从而实现一个基于C/S模式的幼儿信息管理系统。系统用户分为园长用户、教师用户和管理员用户三类。

在实现具体功能时,为利于升迁、安全性保护和提高网络数据库访问效率,对数据库中表的访问主要通过视图进行。

2. 数据库设计

系统需要管理的幼儿信息分为幼儿基本信息和日常教学所产生的信息两大类,它们的变动性、使用对象和使用频度不同,按照数据规范化理论要求,[1]它们在数据库中要用不同的表(Table)存储。为满足部分幼儿家长的特殊教育要求,幼儿园往往会开设特色班,周末上课,因此系统设有特色班管理功能。而同一类的数据相互之间的依赖关系又各不同,按照提高数据规范化程度和数据库访问效率的综合要求,本系统中将幼儿信息数据库结构设计如下:

在园幼儿基本信息表child(幼儿编号、幼儿姓名、性别、出生日期、入园日期、幼儿来源…)

离园幼儿基本信息表childgo(幼儿编号、幼儿姓名、性别、出生日期、退托日期、入园日期、幼儿来源…)

班级表class(班级编号、班级名称、成立年份、负责教师名称)

特色班SpecialClass(特色班编号、特色班名、成立年份、负责教师名称)

账户表account(账户名、密码、班级编号)

升班表promotecls(原班级编号、新班级编号)

在园幼儿学籍信息表childmem(幼儿编号、幼儿姓名、请假日期、请假时间、销假时间)

幼儿疫苗接种表childvaccine(幼儿编号、疫苗名称、接种时间)

上述表中,SpecialClass表和child表之间是多对多联系, class表和child表之间也是多对多联系。这两种多对多联系分别用表SpecialClass_child(特色班编号、幼儿编号)和表class_child(班级编号、幼儿编号)表示。

幼儿基本信息表child和childgo还含有幼儿来源、幼儿双亲学历信息、家庭联系信息等字段。因为附属幼儿园在招收幼儿时,首先招收所隶属单位的教职工子女入园,故设置幼儿来源字段,含“校外”、“单职工”、“双职工”三个选项;幼儿双亲学历信息则用作幼儿教育与父母学历相关性的教学研究资料。为确保系统数据库中重要数据的安全,还为表child和childgo设置了备份数据表childb和childgob。备份数据表与对应的数据表结构内容完全相同,由系统定期备份。

整个系统逻辑上分为数据库和建立于其上的应用软件两部分。对于数据库部分,采用集中式与分布式相结合的体系结构。对于幼儿基本数据,因对其操作主要是查询,更新很少,故采用集中式存储,而对于幼儿运行动态数据,因更新频率较高,则在客户端启动时,根据主数据库建立临时表,运行期间对该临时表进行操作,退出运行时将临时表更新到主数据库中。

四、系统的结构与功能

幼儿信息管理系统的组成结构与功能如图1所示。整个系统包括用户登录、数据维护、查询、幼儿分班、信息统计、数据输出、帮助七大部分。

1.用户登录

系统中设置系统管理员、园长、教师三类用户。用户登录采用“用户名+密码”的身份标识和鉴别方式。通过身份鉴别后,系统按照其用户类型设置相应的操作权限。园长有对全部信息的查询权限,教师有对本班幼儿非基本信息的全部权限、对本班幼儿基本信息的查询权限以及对本人信息的维护权限,管理员为系统的超级用户。对不同用户操作权限的控制分别通过两种途径实现,一是通过参数化视图来实现,将教师用户的班级信息存于public型变量privclass中,打开视图时用它给视图参数赋值;二是对于教师用户登录后,将其无权操作的菜单或菜单项关闭,通过设置菜单或菜单项的skip for表达式为usertype <>adminstrtor来实现。

在教师用户登录后,系统自动检查该教师所在班级每位幼儿的出生日期,若与当前日期相同,则显示提示信息。在下午用户退出系统时,系统自动检查第二天的日期是否等于幼儿出生日期,若是,则提前给出生日提示信息。

2.数据维护

幼儿信息维护模块如图2所示,它包括数据导入/导出、入托/退托、特色班报名录入、疫苗接种信息录入、数据修改、清除重复记录等常用功能。导入导出功能可实现child表按dif、foxpro dbf、xls三种数据格式进行导入和导出。数据修改按需要提供了表式修改、分项修改和按班级修改三种功能。

建立命令按钮类库进行数据维护,以提高代码重用性,如btns类中含数据维护常用的记录移动、添加、删除、查找、修改等方法的代码。

3.查询

查询是系统的重要功能,为兼顾操作效率和查询功能的完备性,将查询操作分为常用查询和通用智能查询两类。对频率高的查询,如按姓名、班级、特色班、

疫苗接种、年龄、入园日期、父母学历等的查询,为它们分别设置相应的菜单命令实现,其中疫苗接种查询又分为按班级、姓名、接种的疫苗三种方式的查询;而对于其他不常用查询,则设立通用查询,由用户通过鼠标或键盘选取或输入查询条件以实现用户需要的查询。

4.分班

幼儿编班模块的功能组成如图3所示。

幼儿编班功能包括新入园幼儿的分班、老生升班和特色班分班三个方面。对于新入园幼儿的分班,不但包括小班与小小班的划分,还包括同一级的划分,如将小班幼儿分为两个班。对于幼儿园的升班,不是一到学年末就全部升到高一级,而是要根据幼儿年龄、性别、爱好等因素确定哪些升班,哪些不升班,有的在升班后还要调班。对同一级新生分班时,要在性别、年龄等相对平衡的前提下随机分班。对于升班,因为在园幼儿的变动性,除考虑上述因素外,还要考虑幼儿特长。对此,系统中将幼儿编班功能设计为向导式,即先由用户输入分班或升班规则,然后系统据此进行分班或升班,若对结果不满意,可选择“撤销升班”或“分班”,恢复分班前的班级组成状态;若对分班结果基本满意或个别幼儿家长要求调班,则可利用调班功能进行调班。上述方案,能够满足用户对系统分班功能的自动化和灵活性两方面的要求。

用户按向导操作进行分班时,系统每一步都给出简明的提示说明和支持数据帮助用户抉择。以分班为例,其操作流程为:(1)输入年龄段,查看被分班孩子情况统计;(2)输入分班决定;(3)实施分班并显示结果;(4)根据分班结果决定接受、撤销或进行微调。

重新分班向导的第一步的界面如图4所示。

5.统计

为使园长能及时获得本园幼儿不同方面的统计信息,系统的统计功能包括:

(1)综合信息统计:该功能可实现对幼儿园中每一个班按总人数、男女孩人数、单双职工人数、各年龄段人数进行统计并显示。

(2)按年龄段统计:根据输入的出生起止日期,显示该日期范围内出生的全园幼儿详细信息,以及这部分幼儿按性别和单双职工的统计信息。

(3)统计入托孩子:根据输入的入托日期范围,显示该日期范围内入托的全园幼儿详细信息,以及这部分幼儿按性别和单双职工的统计信息。

(4)统计退托孩子:根据用户输入的退托日期范围,显示退托的全园幼儿详细信息,以及这部分幼儿按性别和单双职工的统计信息。

(5)参加特色班幼儿信息统计和参加疫苗接种幼儿信息统计:各特色班人数、全部特色班人次数、性别和单双职工信息,每种疫苗接种的统计信息和全部疫苗接种的统计信息。

上述各项统计,都配有“打印预览”和“打印”输出功能。

6.数据输出

该模块目前实现了各班级统计信息输出、打印班级花名册、特色班花名册、疫苗接种名单以及按年龄段输出功能。每种打印包括按XLS文件输出和按打印报表格式输出两种方式。打印报表表单(Report)是按幼儿园规定的标准样表格式设计的,可实现标准打印。将幼儿信息输出为XLS文件,可供用户进一步处理,满足其多样性信息需求。

7.帮助

系统采用流行的窗口式、菜单驱动用户界面,并提供联机帮助功能。用户在使用该软件的过程中,可通过菜单或按F1键打开联机帮助功能。系统采用“.DBF-样式(.DBF-style)”的联机帮助,它是用标准VFP自由表建立的,易被移植到其他VFP平台,支持跨平台应用程序和向后兼容。要建立“.DBF-样式”的联机帮助,需要按下面步骤进行:

(1)建立帮助信息VFP自由表,该表含三个字段,其类型必须依次为Numerical、Character、Memo,分别存储帮助上下文标识号、帮助主题名和帮助信息。

(2)用SET HELP TO <表名>指定帮助信息文件。

(3)用HELP命令显示帮助信息。

图5为“数据维护操作”主题的帮助窗口。

五、系统实现及关键技术问题的解决

本系统为多用户数据库应用系统,在设计时,除进行数据完整性、安全性控制外,还要保证数据的一致性和优化系统运行性能,为此采取了如下措施:

(1)在表单中用视图访问数据,视图的Wheretype属性选用DB_KEYANDMODIFIED 。利用视图本身具有的更新冲突管理技术来管理对多用户数据的访问。

(2)在表单中使用私有数据工作期。

(3)SQLServer升迁向导产生的所有数据对象初始时仅对数据库所有者和系统管理员授予存取权限,对其他用户授权许可可用企业管理器或Grant 和Revoke命令;SQLServer升迁向导并不对VFP存储过程和触发器进行升迁,这需要在SQLServer企业管理器中手工进行。

(4)通过 SQLSETPROP( )函数对远程表启用人工事务,使用SQLCOMMIT( )和 SQLROLLBACK( )函数控制事务处理,实现对远程表的更新,以处理数据共享引起的共享冲突等问题。其代码如下面所示:[2]

hConnect=CURSORGETPROP(‘connecthandle)*获得连接句柄

=SQLSETPROP(hConnect,transmode,DB_

TRANSMANUAL)*启用人工事务

lSuccess=TABLEUPDATE(.T.,.F.)*非强制更新所有记录

iflSuccess=.F.*如果更新失败

=SQLROLLBACK(hConnect)

=AERROR(ERRS)

DO CASE

CASE ERRS[1,1]=1582 *如果违反了字段规则,做相应处理

…..

CASE ERRS[1,1]=1585 *如果记录已被其他用户修改,做相应处理

nNextModified = GETNEXTMODIFIED(0)

DO WHILE nNextModified <> 0

GO nNextModified

FOR nField = 1 to FCOUNT()

cField = FIELD(nField)

IF OLDVAL(cField) <> CURVAL(cField)

nResult = MESSAGEBOX(“数据已被另一用户修改;

保留修改吗?”,4+48,“修改的记录”)

IF nResult = 7

TABLEREVERT(.F.)

ENDIF

EXIT

ENDIF

ENDFOR

nNextModified =GETNEXTMODIFIED(nNextModified)

ENDDO

TABLEUPDATE(.T.,.T.)

SQLCOMMIT(hConnect)

CASE ERRS[1,1]=1700*如果记录已被其他用户使用,做相应处理

…..

CASE ERRS[1,1]=1884*如果违反唯一索引规则,做相应处理

…..

OTHERWISE

=MESSAGEBOX("UNKNOWN ERROR MESSAGE "+STR(ERRS[1,1]))

ENDCASE

Else

=SQLCommit(hConnect)

Endif

对于涉及多个远程表的复杂更新操作,如退托处理需要从child表向childgo表移动记录,这类操作功能就采用上述人工事务处理方式实现。

结束语

本文研究了以Visual Foxpro6.0为开发工具、以Microsoft SQL Server 2000为远程数据库服务器、基于C/S模式的幼儿信息管理系统的设计与实现。该系统已应用于莱阳农学院幼儿园幼儿信息管理,系统应用效果良好。系统采用模块化和面向对象方式设计,可扩充性好,今后可继续扩展教学管理等模块。

参考文献:

[1]王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,1998:171-172.

[2]韩作生,巩裕伟等.Visual FoxPro实用教程(第二版)[M].东营:中国石油大学出版社,2002:278-295.

上一篇:高三作文:禅意下一篇:学习初中数学新课程改革的体会和思考