正文内容
VFP语言范文
来源:火烈鸟
作者:开心麻花
2025-09-19
1

VFP语言范文(精选5篇)

VFP语言 第1篇

1 VFP知识几个难点

1.1 字符串比较

1.1.1 VFP中字符型数据进行比较

系统对字符串中的字符按从左到右的序对应进行比较,一旦发现两个对应字不同,则按它们的排序序列比较出两个符串的大小。在VFP中字符的排序序列有三种:1)machine(机器):西文字符按ASC值排序,中文的一级汉字按拼音次序排。2)PinYin(拼音):中文按拼音次序序,西文字符大写字母大于小写字母。3)Stroke(笔画):中、西文都按笔画多少排序。在中文VFP中,字符默认的排序序列为PinYin(拼音)。而其它许多高级语言按ASCII码来比较的。故在VF中默认情况下大写字母大于小小字母。“A”是大于“a”字符,要改变字符排序序列,可选用工具菜单/选项命令进行设置。

1.1.2 字符串精确比较

字符比较结果还受精确比较开关影响,可用SET EXCACT ON/OFF命令来打开或关闭。在默认情况下,比较两个字符串是否相等,VFP采用的不精确比较。当在不精确比较状态时,只要两个字符串满足下面两个条件结果就相等:一是两个字符串最左边的字符相同;二是第一个字符串长度大于或等于第二个的长度。根据规则可知:?"郑老师"="郑老",结果为.T.;而?"郑老"="郑老师",结果为.F.。同时要注意特别情况:空串“”包含于任何字符串中,且长度为0,所以?"ab"=""结果为.T.;?""="ab"结果为.F.。

1.1.3 字符串的模糊比较问题

字符串的模糊比较可用like()函数、$运算符、AT()函数等方法来解决。如姓名中含有“小”可以写成:“小”$姓名或AT(“小”,姓名>0来实现。而LIKE函的格式LIKE(cExpression1,cExpression2),其中cExpression1中可以包含通配符*和?。问号(?)可与任何单个字符相匹配,星号(*)可与任意数目的字符相匹配。只有在c Expression1与c Expression2中的字符逐个匹配的情况下,LIKE()函数才返回“真”(.T.)。如?like(“郑*”,姓名)是判断是否姓郑。但在SQL语句中的like运算符不能用在一般命令的for条件中,而通配符变为_和%,判断是否姓郑可写成:姓名like“郑%”。

1.2 变量的作用域问题

在VFP程序设计中,同一个变量名由于作用域不同变量有不同的作用域和生存期,因涉及的知识点比较多,使用的环境和场合也比较复杂,这对于初学者往往是一个不容易理解。的作用归纳起来,大致有三个方面:

1.2.1 变量的作用域

变量的作用域可用变LOCAL、PRIVATE、PUBUC命令强制规定作用域。LOCAL用于定义局部变量,局部变量只在本模块中有效;当建立它的模块程序运行结束时,局部变量自动释放。全局变量和局部变量初值为逻辑假。局部变量要先建立后使用。PRIVATE用于定义私有变量,变量的作用域为本模块中以及下级模块中有效;PUBUC用于定义全局变量,在本次程序运行期间,变量在所有模块中都有效。当大范围变量和小范围变量同名时,在小范围内,小范围变量优先。没经过申明的变量,约定为私有变量。下面的例子是来说明它们之间的关系。

在主程序中,k1,k2没经过说明,那么它是私有类型变量,在本模块及下级模块中有效,所以在子过程SUB中有效,但在SUB过程中重新显示定义K1,那么相当于定义了一个作用范围更小的小范围变量,它将屏蔽主程序中的K1的值,所以在SUB过程中输出为:30,40;而回到主程序输出为:10,40。

1.2.2 参数传递

考试中要求学生掌握的过程主要有Sub过程和Function过程。Sub过程不返回值,Function过程必须由函数名返回一个值。在调用过程时,主调过程的实参以一定的形式传递给被调过程的形参,完成实参与形参的结合,然后执行被调过程体。经过被调过程的处理,又将所得结果返回给主调过程。在VFP中,参数的传递有传值和传址两种形式。

1)传值方式

当调用一个过程时,将实参的值复制给形参,实参与形参断开联系。过程调用结束时,形参占用的存储单元被释放,因此对形参的任何操作都不会影响到实参。传值方式是“单向”的,形参的值不能返回给实参。

2)传地址方式

如果实参是常量或一般形式的表达式,系统会计算出实参的值,并把它们赋值给相应的形参变量。这种情形称为按值传递。如果实参是变量,那么传递的将不是变量的值,而是变量的地址。在模块程序中对形参变量值的改变,同样是对实参变量值的改变。这叫按引用传递。下面的例子是来说明它们之间的关系。

这个例子在主过程调用过程中的两个实参(A)和B,由于B是简单变量时,VFP在分配形参Y时和实参B共用内存单元(传地址),所以在子过程PP的变化将影响实参变量B,而形参X,由于实参不是简单变量,在分配形参时另外分配内存单元,所以A和X只是单向传值,没有关联,因此在主程序中输出为3,15。

1.2.3 内存变量和字段变量同名时

字段变量的类型是在建立表文件的结构时确定的,一旦定义了字段变量的类型,那么赋值的数据类与变量类型一致,由于改变时不能用运算"="和store语句直接赋值。内存变量是用内存单元存储的变量,它的类型与之比较就有一定的随意性,它只能保存最后一次更新的值。当内存变量和字段变量同名是,字段变量优先。但用"="和store语句改变的变量例外,如下例子:

设职员表已在当前工作区打开,当前记录的“姓名”字段值为“张三”;字段宽度为4,执行如下命令:

姓名=姓名+"你好"

?姓名

结果:“张三”,并不是“张三你好”因为当存在字段变量“姓名”时,字段变量优选,所以输出的是字段变量“姓名”的值,而字段变量不能使用“=”来改变其值,所以,姓名=姓名+“你好”语句改变的是内存变量“姓名”为字段变量姓名的值“张三"+"你好”,结果是“张三你好”,可用?m.姓名来输出内存变量的值。

2 结束语

VFP在学习过程中所遇到的难点不仅仅涉及到这些。本文的目的是通过对上述知识点难点的介绍,起到举一反三的效果,从而提高同学们学习这门语言的信心,增强在学习过程中解决问题的方法。

参考文献

[1]匡松,刘容.余平.Visual FoxPro面向对象程序设计[M].成都:西南交通大学出版社,2006.

[2]王瑛.数据库管理系统VFP的教学探索[J].天水师范学院学报,2005,(5).

程序设计语言VFP课程教学大纲 第2篇

课程编号: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实验指导书 单启成、崔建忠编著

VFP中的SQL教学探讨 第3篇

关键词:Visual FoxPro程序设计 教学研究 教学探讨

这些年来,VFP课程作为高职院校开设的计算机基础课程,对于非计算机专业的学生来说,学习难度挺大的。在学习VFP课程,能够让非计算机专业的学生快速地了解软件专业的核心部分。在VFP课程中SQL作为课程重要部分,怎么在课时少,程序设计枯燥情况下,调动学生积极性,改变教学过程,使得学生快速地入门。

一、VFP程序设计特点

VFP是一种程序快速开发软件,并且自己包含自己的数据库,有别于其他开发软件,它能够更快地上手,并且能够进行面向过程和面向对象的程序设计。大多数据库语言都兼容SQL,其原理都一样,学习好一门,其他语言触类旁通。另外,程序设计语言,其主流编程思想基本都为面向过程和面向对象。所以学好VFP,再学任何一门计算机语言都事半功倍。

二、VFP教学中存在的问题

很多教师上课,都是第一章、第二章按目录讲,学生反映上课就是老师写板书,学生记笔记,始终不知道VFP在讲什么,能做什么。另外,教师注重上机练习,并不注重理论教学。教学效果如同打字课,学生把书上练习代码敲入计算机,执行结果正确就完事,而并没有看懂代码具体实现。

三、VFP的SQL教学探讨

(一)上好黑板课

现在学校很多教师都喜欢多媒体教学,大有离开多媒体不能上课。而我觉得在黑板课中能更好地把原理性的知识点,讲清楚讲透,并且叫学生上来板书,把问题暴露出来,这是多媒体难以达到的效果。

(二)颠倒目录,删减章节

大部分VFP中课程的第一章为数据库系统概述,第二章为数据,第三章为数据库的建立与操作。这三章的知识点都为记忆性的,非理解性点,一上来就这样讲,就让学生觉得教师写板书,学生记笔记的课程,枯燥机械从而对计算机课不感兴趣。而笔者在教学过程中,先上第四章标准语言SQL,突出关系数据库,上第四章课的时候,遇到问题然后在其他章节找答案。最后再把前面章节全面系统的复述一遍。由于课时紧张,后面的面向对象的设计中类的创建及报表设计和应用程序开发,适当删减。

(三)结合英语教学,翻译SQL

在讲解SQL的简单查询中,结合现实生活中的例子。比如父母来学校找孩子,并不是直接去教室找,而是通过教师,再由老师找学生。另举例,有老师问学习委员要学生的考试成绩,学习委员先拿出考试成绩表,查找学生姓名再查找成绩。整个事情描述后,结合计算机命令的两点要求:正确性及二义性,把这句话完整地复述出来,即下面这句:

“请找出班上小红同学的考试成绩。”(不完整)

“请在考试成绩表中找出小红同学的考试成绩。”(完整)

“从考试成绩表选择出姓名为小红同学的考试成绩”(完整详细)

现在就把这句中文翻译成英文,给定大家的英文单词及表为:

select->选择

from->从

where->条件

考试成绩表:

限定学生只能利用图中给定的双下划元素把中文翻译成SQL语句。

from 考试成绩表 select 成绩 where 姓名="小红"

在结合英语思维习惯,把上面语句调成SQL语句:

select 成绩from 考试成绩表where 姓名="小红"

下图为他们一一对应关系:

本文对VFP中的SQL教学做了重点探讨,把课程章节目录颠倒,突出重点,对英语教学对中文进行翻译。结合SQL讲解第二章的变量常量概念,结合上机讲述数据库及表的创建等概念,最后对比讲解第一章,从而能更好的带领学生快速入门,收到良好效果。

参考文献:

[1]熊云,易开宇.Visual FoxPro程序设计教程[M].中国地质大学出版社.

[2]王桂红.非计算机专业VFP程序设计语言教学实践与探索[J].电气电子教学学报,2005.

[3]刘春娟.关于VFP教学“案例式”教学模式的分析[J].陕西教育,2008.

[4]张继徳.浅谈SQL语言教学的一点体会[J]. 课程教育研究,2014.

VFP语言 第4篇

SQL查询语句是数据库开发的一部分, 是用户与数据库之间的联系纽带, 用户对数据库的操作都是通过SQL语言来实现的, 但是对同一查询过程, 可以有多种形式的SQL语句表达方法。下面介绍SQL语句在VFP中的基本格式:

1.1 SELECT子句

SELECT子句用来从一个和多个数据表中检索数据, 它可以由一组字段名列表、星号、表达式、变量 (包括局部变量和全部变量) 等构成。使用“*”可以选择指定表中的所有字段。

选择部分记录并指定它们的显示次序, 这时候查询结果集合中数据的排列顺序与选择列表中所指定的字段名排列顺序相同。语法为:SELECT Select-item, Select-item, FROM Table。

1.2 FROM子句

FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。在FROM子句同时指定多个表或视图时, 如果选择列表中存在同名字段, 这时就应使用对象名限定这些字段所属的表或视图, 限定的格式为:Table Name.Field。SELECT这样不仅能从表或视图中检索数据, 它还能够从其他查询主名所返回的结果集合中查询数据。

1.3 WHERE子句

使用WHERE子句设置查询条件, 可过滤掉不需要的数据行。WHERE子句可包括各种条件运算符。使用这些条件运算符可以对数据进行筛选, 最后得到需要的数据。使用ORDER BY子句可对查询返回的结果按一列或多列排序。ORDER BY子句的语法格式为:

其中ASC表示升序, 为默认值, DESC为降序。

2 SQL语句的优化过程

在数据库的管理与应用中, 关系为其结构的基本单位, SQL语言支持关系运算, 可以执行关系的投影、选择、联结等运算。这些运算都是通过SQL语言的语法和语句来实现的。由于对同一查询语句有多种不同的语法表达形式, 因此有必要对各种形式进行分析, 下面给出详细讨论。

2.1 对同一表格进行多个选择运算

关系在数据库中的具体表现即为表格, 选择运算是数据库中的常用操作之一, 用户通过这一运算, 可以从数据库中得到有选择性的数据, 为便于说明, 作者假定在一个有关银行储户的数据库管理系统中, 有表格:存款人 (帐号, 姓名, 电话, 城市, 取款额, 存款额, 日期, 帐户余额) , 括号内的各项为表格的属性。

2.2 多个表格的联接、选择运算

联接运算是数据库查询中常用运算之一, 由于联接运算会产生一个很大的临时表格, 特别是数个表格的联接运算, 不优化的SQL查询语句会产生巨大的计算工作量, 且增加了对内存的需求, 严重时可使软件在执行中出现异常。下面再次考虑前面的例子, 设在该数据库管理系统中还有一个表格:用户地址 (账号, 街道, 邮政编码) , 它包含了有关储户的地址信息。

2.3 尽量使用代码分解Select检索操作

使用Select进行数据库操作固然简单易用, 但如果将一些检索过程操作分解为等价的手工检索代码, 则数据库的检索速度将大大加快。分解的基本方法是对检索关键字段进行索引, 利用Seek方法定位后, 根据索引的数据库已经排序的特点, 进行遍历查找。对于遍历范围不是很宽时, 这种方法能几十倍的提高数据库的访问速度。例如经常要对一些储户的余额进行查询, 查询语句很简单:

E) SELECT姓名, 帐户余额

FROM存款人

WHERE姓名=`xxxxxx`;

但这个查询平均要遍历整个数据库的一半记录即2000万行记录。如用INDEX按姓名作了索引, 再利用Seek进行快速查找最多进行比较[log40 000 000]+1<30次记录就可以查到。

3 结论

在数据库的管理和开发过程中, 优化设计可以提高数据库的性能, 特别对于大型数据库, 优化过程更为重要, 它不仅可以提高查询响应速度, 还可以减少对内存的需求。通过分析一些查询语句执行过程, 给出了相应的优化设计方案, 通过一些例子的测试表明, 优化过程简单、方便、有效, 达到了提高访问数据库效率的目的。

摘要:Visual FoxPro提供了Microsoft Windows应用程序最迅速、最简捷的开发方法, 不论是Microsoft Windows应用程序的资深专业人员还是初学者, Visual FoxPro都为他们提供整套工具, 以方便开发应用程序。其因简单易用、功能强大和开发效率高而备受青睐。它在数据库处理上具有丰富的功能, 支持SQL语言。SQL语言的主要功能就是同各种数据库建立联系, 进行沟通。按照ANS (I美国国家标准协会) 的规定, SQL被作为关系型数据库管理系统的标准语言, 近年来对它的应用研究较多。为减少计算量和内存需求, 对SQL查询语句进行优化设计尤为重要。

VFP语言 第5篇

关键词:案例教学,对象,方法

1 引言

VFP是一种用来进行管理信息系统开发的常用工具,是高等学校非计算机类专业的一门主干课。通过学习使学生了解FoxPro这一当今世界用得最广的Xbase类关系数据库管理系统的使用方法及其应用,讲述用软件工程学的方法设计和完成一个结构合理、层次分明、界面友好、清晰易懂的系统。培养学生分析问题解决问题的能力,工作中应用它去解决管理信息系统的问题奠定基础。

2 程序设计的特点及存在问题

2.1 特点

VFP是一种为数据库管理和应用程序开发而设计的面向对象和事件驱动的可视化编程语言,不仅能使编程人员从复杂的工作中解脱出来,而且在程序开发上不再需要过多地与语言打交道,复杂专业化的编程工作可通过人机交互而完成。可视化的开发过程使原先以编码为主的开发变为以操作为主的开发,从而极大地提高了开发效率,缩短了开发周期。

VFP的特点与其他高级语言程序设计的特点不同,最明显的区别在于数据库程序设计的教学过程,从教材的开始到结束,虽然章节不同,但讲述的是同一个问题用计算机进行日常的信息管理。这样的课程我们不能继续用原来的思维去学习了,否则的话就会出现下面的问题:

2.2 问题

问题一:由于学生对学科特点不明确,误以为VFP与VB、Delphi功能相同,从而导致对整门课程的学习目的不明确。所有这些语言与VisualFoxpro相比,最大的区别就是:VisualFoxpro是程序设计语言与DBMS的完美结合,而VB、Delphi、VC++等都只是编程工具,而不是DBMS。

问题二:学生对于每节课的学习目标不明确。继续采用原来的思维,把教材的每一张节独立出来,简单的进行章节的学习,不注重章节的连贯性,不能建立面向对象的概念,这样感觉每节课的内容掌握了,要是做起管理系统仍然无从下手。

问题三:教学过程中,学生一味的模仿老师的实例,没有认真去考虑为什么这样去做,不具备就事分析问题的能力,搞不清楚面向对象的程序设计的前因后果,致使在课程结束后还不清楚到底怎样应用自己学过的知识。

3 解决方法

针对以上现象和原因,怎样才能培养出能利用VFP开发实用性软件,笔者精心研究了一套教学方案。具体做法:

3.1 把握好第一节课

在传统的授课方式中,第一节课可能讲的是VFP的发展历史,然后在理论上讲解学这门课的作用,学生可能还没有从道理上理解学这门课程真正目的是什么,接着,教师就开始了第一节课,什么是数据库,什么是字段等等,让学生机械式的记忆,在学生脑海里一片迷茫,整体观念根本没有。为了真正的让学生能够彻底且直观的了解VFP的真正作用。我在开课之前开发了一套“图书管理系统”,当学生看到了漂亮的界面,强大的查询和打印功能,和简捷方便的操作使用,他们赞不绝口。赞赏之余,他们很好奇地追询老师怎么编出来的,用什么编出来。老师趁机说出这是用VFP编的,而且很明确地说出这们课程的主题功能是什么使学生对此产生浓厚的学习性趣。这样就解决了第一个问题。

3.2 结合“案例式”教学方法

案例的选取是提高教学效果的关键,直接影响教学效果,因此案例的选取以激发学生求知欲望,培养学生理解应用知识,提高学生分析问题、解决问题的能力为根本出发点。根据案例教学法的特点,在后继的讲课中,将第一节课演示的“图书管理系统”进行分解,分解到每一章节中,例如:做图书管理系统要从项目管理器开始,然后以”建立图书管理系统.dbc”为名字的数据库,接着要建立系统中要用到的读者、借阅、图书、密码等表,然后慢慢的引入面向对象的程序设计,进入系统中的表单、菜单、查询、视图以及报表的操作。整个课程的教学结构和顺序也是按照这个大例子来安排的。这个贯穿课程的大例子,从微观上具体体现VFP各种功能的作用,从宏观上体现了VFP个功能的联系,让学生感觉课程的前后章节不是单独的,而是联系在一起的,从而掌握了建立管理系统的开发方法和步骤,这样学生在学习的时候,就会按照这个大例子中的每一部分与课本的每一章节“对号入座”,全面的掌握课程的内容。

3.3 面向对象的概念应该贯穿始终

面向对象程序设计是程序设计的主流,代表了当今程序设计的发展方向,也是程序设计在思维和方法上的一次巨大进步。它最大的优点就是开发效率高,代码重复利用率高,为软件开发提供了一种新的方法。VFP是一种新的面向对象编程的语言,它通过抽象的方式,把日常生活中常见的问题简化成人们易于理解的模型,然后再在这些模型之间建立关系,从而最终形成一个完整的系统。例如在讲述表单时,核心是讲述各种实际表单的操作步骤。对于表单中的每一个控件,重点介绍其常用的属性及其设置方法、主要事件以及编码过程,不要对其每一个属性和事件都一一介绍,让学生感觉到杂乱和繁琐。VFP程序设计的实质就是针对要解决的问题设置对象以及编写每一个对象的事件过程代码。由于受传统面向过程编程思维方法的影响,造成学生在进行VFP程序设计时,首先考虑的不是采用什么对象来解决问题,而是先考虑用什么样的控制语句来实现问题的解。显然,这种编程思维方法不符合面向对象程序设计过程中以对象为核心的基本特点。要在VFP的教学中培养学生面向对象的编程思维方法,首先要打破以往程序设计语言的教学体系,在整个VFP的教学中自始至终不离“对象”这一概念,围绕一个个具体的“对象”展开对VFP语言的语法规则、语句格式和程序控制结构的学习,引导学生将程序设计的重点放在如何设计对象以及如何使对象之间发生联系上。

3.4 通过上机融合知识

VFP是一门实践性很强的课程,通过上机实践,学生才真正从传统的教师单向传授转变为自己主动的学习。通过上机真正的消化课堂老师讲授的内容,消除理解上的偏差,加深对VFP的了解。在整个VFP教学中,必须合理安排课堂教学和上机时间,并精心安排上机实践,练习基本算法要与“大例子”中的题目结合,逐步学会程序设计的思想和方法。通过上机实践,教师不但可及时发现学生在学习中存在的问题,而且可以培养学生利用计算机解决实际问题的能力,当然上机辅导也极为重要,能及时解答学生的疑问,掌握学生的实际情况,从而动态地调节课堂教学的内容和进度,就能构成一个良好的教学循环。在学期的期末,教师应该提供材料来引导学生按照系统开发的标准步骤,完成一个类似“图书管理系统”软件的开发,让学生清晰的掌握系统开发的完整过程,也加强了学生把知识转化为产品的意识。

3.5 增强学生积极性,达到互动式教学

众所周知,教学是师生双方共同活动的过程,教师单方的说教不是完整意义上的教学。所以只有当作为课堂活动的主体学生充分地活跃起来,才可称为教学。因此,在教学中应注重调动学生的积极性和他们的潜力,鼓励、引导他们参与到课堂教学中,给他们一个展示自己的平台。为了引起学生的兴趣,笔者首先把已往基于VFP完成的项目及往届学生做的优秀程序给学生演示,同学们感到编写程序并非是想象的那么难,要作一个程序员也并不难。然后再将教学方法、学习方法、学习目标及如何考核讲解清楚,使学生产生想学好这门课程的动力。

4 总结

实践证明作者在VFP课程实际教学过程中摸索的教学经验,使学生能够从实际应用系统开发的角度全面、熟练地掌握所学知识,达到了“学以致用”的目的,得到了学生与同事的认可,在授课过程中收到了一定的成效,部分学生已能够独立完成小型应用系统的开发,并且经过项目开发的实际锻炼,进一步提高了学生解决实际问题的能力,取得了良好的教学效果。

参考文献

[1]施全,陈建平.“VFP程序设计”课程教学的实践与探索[J].电气电子教学学报,2005(6).

[2]解永刚,关于Visual FoxPro的案例教学方法[J].昆明大学学报,2003(1).

相关文章
表演人才范文

表演人才范文

表演人才范文(精选11篇)表演人才 第1篇六七岁至十一二岁是学龄初期, 即相当于儿童接受小学教育的年龄。这一时期少儿的主要行为活动是学...

3
2025-09-20
保安班长月总结

保安班长月总结

保安班长月总结(精选6篇)保安班长月总结 第1篇篇一:保安班长年终总结个人总结光阴似箭日如梭,转眼间半年已经过去。回顾我们保安队在近...

1
2025-09-20
班主任有关工作培训心得

班主任有关工作培训心得

班主任有关工作培训心得(精选15篇)班主任有关工作培训心得 第1篇20**年8月我有幸在市电大参加了“仙桃市第一期小学骨干班主任高级研修班...

1
2025-09-20
部编版一年级四季教案

部编版一年级四季教案

部编版一年级四季教案(精选6篇)部编版一年级四季教案 第1篇《四季》文清路小学 刘明霞教学目标:1、认识 9个生字和言字旁,虫字旁和折...

2
2025-09-20
办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些(精选18篇)办公室文秘的岗位职责有哪些 第1篇1、在董事会的领导下主持办公室的全面工作,负责办公室的日常工...

3
2025-09-20
八年级上册第1课鸦片战争

八年级上册第1课鸦片战争

八年级上册第1课鸦片战争(精选12篇)八年级上册第1课鸦片战争 第1篇《鸦片战争》教学设计【教学目标】1、英国向中国走私鸦片及危害;林则...

2
2025-09-20
表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理(精选10篇)表面粗糙度测量仪的工作原理 第1篇表面粗糙度测量仪的工作原理分析及其改进方案阳旭东(贵州工业大...

1
2025-09-20
宾馆改造可行性报告

宾馆改造可行性报告

宾馆改造可行性报告(精选8篇)宾馆改造可行性报告 第1篇第一章 总论1.1 项目名称及承办单位项目名称:宝地宾馆改扩建项目 承办单位:...

1
2025-09-20
付费阅读
确认删除?
回到顶部