VFP6.0学习笔记(修订)
- 格式:doc
- 大小:73.50 KB
- 文档页数:15
1-3章知识点一、填空选择和简答的相关知识点1.数据库(缩写为DB)就是按一定的组织结构存储在计算机内可共享使用的相关数据的集合。
【简答】2.数据库的扩展名为.dbc,与之相关的另外两个文件扩展名为.dct和.dcx。
【填空】3.数据库管理系统(缩写DBMS),是用来建立、存取、管理和维护数据库的软件系统。
【简答】4.数据库系统(缩写为DBS)就是指计算机系统中引用了数据库技术后的完整系统,主要由计算机硬件、软件、数据库和用户四个主要部分组成。
【填空或简答】5.数据库系统的特性:1.特定的数据模型2.实现数据共享,减少数据冗余3.数据独立性4.数据的保护控制。
【简答】6.常见的数据模型有:层次模型、网状模型、关系模型。
【填空】7.Visual FoxPro 6.0是一种关系型数据库管理系统。
【填空】8.关系数据库管理系统提供了选择、投影和连接。
9.数据库系统的核心是数据库管理系统。
【选择或填空】10.VF是一种关系型数据库管理系统,所谓关系是指数据模型符合一定条件的二维表格形式。
【选择】11.项目管理器窗口的窗口上方有“全部”、“数据”、“文档”、“类”“代码”和“其他”6个选项卡。
【填空或选择】12.命令定位记录有绝对移动和相对移动两种方式。
【填空】13.删除有两种方式逻辑删除和物理删除。
【填空】14.索引有主索引、候选索引、普通索引、唯一索引。
【填空】15.单索引文件的文件扩展名为.IDX,复合索引文件扩展名为.CDX.【选择或填空】16.复合索引文件分为两种类型:结构复合索引文件和非结构复合索引文件。
【填空】17.VF系统提供了32767个工作区,一个工作区同一时刻只能打开一个表,但一个表可以在多个工作区同时打开。
【填空或选择】18.系统为每个工作区规定了一个工作区号,分别是1~32767,其中1~10号工作区可以用别名A~J来表示。
【填空】19.表之间的关系可以分为一对一,一对多和多对多3种关系。
第二章visualfoxpro6.0基础笔记2.1 Visual FoxPro 概述2.1.1 关系数据库系统发展32位系统2.1.2 VFP6.0的功能与性能指标每个表文件最多可容纳10亿条记录。
每条记录最多可用255个字段。
每条记录最多能包含65500个字节。
每个表文件最多能容纳655000亿个字节。
每个字段的最多字符数2542.1. 3 VFP6.0的运行环境、安装、启动、退出2.1.4 中文VFP开发环境简介临时配置修改主要通过一些SET命令,退出VFP时从内存释放,永久修改通过修改配置文件(.fpw)和Foxuser.dbf完成。
VFP三种工作方式:菜单工作方式、命令工作方式、程序工作方式VFP命令格式:范围限制ALL 所有NEXTn 包括当前记录在内的一下n条记录RECORD n 只对记录号为n的记录操作REST 从当前文件开始到文件尾的所有记录操作2.1.5 项目管理器项目文件,扩展名.pjx,保存系统包含各类文件的相关信息项目说明文件,扩展名.pjt,保存项目文件的备注数据选项卡:全部数据(数据库、自由表、查询、视图、连接、存储过程文件)文档:表单、报表、标签类:类库文件代码:程序、API库、应用程序其他:菜单文件、文本文件、其他文件2.1.6 VFP设计器和向导生成器向导:工具、向导2.2 VFP6.0的数据类型1.字符型数据C包括任何可显示的字符、汉字和符号,字符串长度<=254空字符串的长度为02.数值型数据N 数字符号0~9、小数点、正负号、E 不能超过20字节取值范围-0.9999999999E+19~0.9999999999E+203.整型N 仅用于字段定义4字节二进制表示4.浮点型N 参考数值型5.双精度型N 只用于字段的定义8字节6.货币型Y 小数位数超过四位自动四舍五入,8字节7.日期型D 8字节8.日期时间型T 系统默认以1899年12月30日作为默认日期,午夜12点作为默认时间8字节9.逻辑型L10.备注型M 备注字段固定为4字节,表示一个指向存储备注文件.fpt的指针11.通用型G OLE对象4字节12.对象型O 用于存储OLE对象,仅适用于内存变量2.3 VFP6.0的常量与变量2.3.1常量1.字符型常量由双引号、单引号或方括号括起的字符,成为定界符2.数值型常量0~9数字、小数点、正负号、E组成3.逻辑型常量.T. .F. 字母大小写通用4.货币型常量以$作为前缀的数值$12.365.日期型常量花括号括起,分隔符/ - . 空格严格的日期格式SET STRICTDA TE TO 1 {^YYYY-MM-DD}传统的日期格式SET STRICTDATE TO 0 不用脱字符开头,年月日次序不定,年份位数不定{}{}{/}值为空6.日期时间型常量日期和时间之间分隔符可以是逗号或空格{/:}值为空7.编译时常量#DEFINE 取消#UNDIFINE#DEFINE PAI 3.1415926`````````````#UNDEFINE PAI2.3.2字段变量(段名变量)字段变量的名称与类型是在建立表时进行定义的字段变量名可以使用字母、数字、下划线和汉字,但第一个字符必须是字母或汉字,长度<=128字符(自由表<=10字符),字母不区分大小写,使用时数据表处于打开状态。
VFP6.0复习提纲第一章数据库系统概述一、概念1.什么是信息、数据、数据库、数据库系统、数据库管理系统?他们的英文缩写各是什么?2.数据库系统由哪几部分构成?其中最重要的是什么?3.数据库、数据库系统、数据库管理系统三者的关系如何?4.数据库系统有哪些特点?5.数据库管理系统有哪些特点?二、数据库模型1.什么是数据库模型?2.常见的数据模型有哪些?各有什么特点?3.关系型二维表应满足哪些条件?三、自由表与数据库表1.什么是自由表?什么是数据库表?2.自由表和数据库表之间有何关系?3.构成表的两个要素是什么?二者有何关系?四、VFP6.0的产生1.VFP6.0于哪一年由哪家公司开发的?五、VFP6.0的启动与退出1.启动VFP6.0有哪几种方法?2.如何退出VFP6.0系统?3.VFP6.0的主窗口由哪几部分构成?各有什么作用?4.VFP6.0有哪几种工作方式?各有什么优点?第二章VFP6.0语言基础一、数据类型1.VFP6.0中有哪些数据容器?2.VFP6.0中常见的数据类型有哪些?其字母表示各是什么?长度如何?二、常量与变量1.什么是常量?VFP6.0中有哪些常量?2.举例说明各种常量的表示方法?3.什么是变量?VFP6.0中有哪几变量?4.变量的命名规则是什么?5.内存变量的值是由什么决定的?6.如何给内存变量赋值?7.内存变量有哪些类型?8.字段变量最多可有多少个?9.字段变量特有的两种数据库类型是什么?三、VFP6.0中的函数1.FP6.0中有哪几类函数?2.注意掌握函数的复习方法。
①掌握函数的基本格式及功能②掌握函数的参数及类型和函数的返回值及类型四、表达式1.什么是表达式?2.VFP6.0中有哪些表达式?3.各种表达式有哪些运算符?4.各种运算的优先级如何?第三章项目管理器一、概念1.什么是项目管理器?2.项目管理器有何功能?3.项目管理器有哪些选项卡?每个选项卡各有什么功能?二、项目管理器的操作1.如何将项目管理器设置为工具栏?如何还原?2.如何将项目管理器折叠与展开?3.利用项目管理器可对文件进行哪些操作?第四章数据库和表一、数据库1.设计数据库的目的及内容怎样?2.如何建立数据库?3.如何打开和关闭数据库?有哪些方法?4.如何设置当前数据库?二、表的建立1.VFP6.0中创建表有哪些方法?2.创建表时必须遵循哪些规则?3.创建表结构主要是确定哪些内容?三、表结构的操作1.如何显示表结构?2.打开表结构的命令是什么?3.设置字段的主要内容有哪些?是否所有表都能设置字段属性?四、工作区1.打开、关闭表的命令是什么?2.什么是工作区?VFP6.0提供了多少工作区?3.工作区的编号及别名是如何规定的?4.如何选择工作区?5.如何访问其它工作区中的数据?6.如何向当前表中添加记录?添加记录有哪些方法?五、数据表的维护1.修改记录的命令有哪些?命令格式各是什么?2.命令中[范围]的四个选项各是什么?含义如何?3.记录的删除分哪两种?命令各是什么?4.如何恢复带删除标志的记录?5.如何删除部分记录?六、表的浏览1.记录的显示方式有哪两种?2.如何在表中查找特定的数据?七、索引1.什么是索引?为什么要建立索引?2.什么是关键字?什么是主关键字?3.FP6.0中索引分哪几种?各有什么特点?4.如何建立索引?八、表中数据的计算1.如何横向求和?2.如何纵向求和、求平均值?命令及格式什么?3.分类汇总的前提条件是什么?4.分类汇总有何意义?5.分类汇总的命令格式是什么?九、数据库中数据表的增删1.如何向数据库中添加表?2.向数据库中添加的表有何要求?3.如何从数据库中移去表?4.数据库中表的增删所对应的命令是什么?十、表与表之间的连接关系1.表与表之间有哪些关系?其函义如何?2.如何创建两表间的临时关系?命令是什么?3.建立一对多临时关系的前提是什么?4.任何表都可以建立永久关系吗?5.对建立永久关系的两个表有何要求?十一、参照完整性1.设置参照完整性的目的是什么?2.“参照完整性生成器”中有哪些选项卡?各有什么规则?每个规则有什么含义?第五章查询与视图一、查询设计1.什么是查询?2.创建查询有哪些方法?3.查询设计器中有哪些选项卡?各有什么作用?4.查询结果有哪些去向?如何设置或改变查询结果的输出方向?5.在查询设计器中如何创建新字段?6.表之间的连接类型有哪些?二、视图设计1.什么是视图?它与查询有何异同?2.视图分哪几种?3.如何通过视图更新源表中的数据?第六章报表和标签一、报表1.报表由哪两部分构成?每部分有何含义?2.创建报表有哪些方法?3.报表布局中主要设计哪些内容?4.报表中可使用哪些控件?5.报表设计器默认有哪些基本带区?6.报表设计器中各带区有何作用?7.如何看到报表输出的结果或输出格式?8.运行报表时,输出结果的去向如何?9.报表文件中存放的内容是什么?是表中的记录吗?10.原表中数据的变化是否影响报表的输出结果?11.预览报表的命令是什么?二、标签1.什么是标签?2.如何创建标签?第七章表单一、概念1.什么是表单?2.利用表单向导可创建哪两种表单?3.常用表单控件有哪些?4.什么是容器?什么是控件?5.标签、文本框、命令按钮、定时器、Active X绑定型控件等各有什么作用?常用属性有哪些?6.什么是数据环境?如何建立数据环境?它有什么作用?二、表单的创建及对象的操作1.创建表单有哪些方法?2.如何改变表单的前景色和背景色?如何设置表单的背景图片?3.如何将按钮Command1的标题改为“保存”?4.如何设置一个按钮的两个功能?如:同一个按钮具有“编辑”和“撤消”两种功能?代码是什么?5.向表单中添加对象有哪些方法?应如何操作?6.在数据环境中拖动不同类型的字段时,将在表单中产生何种控件?7.在数据环境中如何选中多个字段?当所选中的多个字段一次性拖到表单上时,将产生一个什么控件?8.如何给命令按钮添加代码?9.当表单打开或关闭时,与之对应的数据源状态如何?10.对象被选中时有哪些特征?容器处于编辑状态时有何特征?11.如何设置标签的颜色、字体、字号?12.编写事件代码时应注意哪些规则?13.在程序中调用表单时应注意哪些问题?第八章菜单一、基本概念1.什么是菜单?菜单一般有哪几类?2.菜单由哪几部分构成?每一部分有什么作用?3.子菜单有什么标志?4.在菜单设计器中,“结果”栏有哪些选项?每一项产生什么结果?5.“菜单级”栏的作用是什么?二、建与设计1.创建菜单有哪些方法?2.启动菜单设计器有哪些方法?3.菜单设计器由哪几部分构成?每个部分有何功能?如何操作?4.如何设置菜单项的快捷键?5.创建快速菜单与系统菜单一样吗?6.菜单设计完毕能直接运行吗?7.运行菜单程序的命令是什么?8.由菜单文件如何生成菜单程序文件?二者的扩展名分别是什么?9.如何给菜单指定任务?10.菜单运行时,将覆盖系统菜单,如何还原系统主菜单?第十章表单设计一、基本概念1.什么是数据导航?如何实现数据导航?2.要给一个按钮组添加代码,要用到程序的什么结构?3.什么是顶层表单?什么是子表单?由什么决定?4.调用子表单的命令是什么?5.使当前表单中的text1对象获得焦点的命令是什么?二、设计1.如何在表单中加载菜单?2.clear events、Read events有何作用?3.在程序中调用表单时应注意什么?4.如何实现表单间数据的传递?第九章程序设计1.如何建立、运行和调用程序?对应的命令各是什么?2.Return 、Cancel、Quit有何区别?3.input 、Accept在用法上有何不同?4.VFP6.0中有哪几种基本程序结构?5.单分支、二分支、多分支结构的具体格式是什么?执行过程如何?6.循环结构由哪些循环语句实现?执行过程如何?7.loop和EXIT有何区别?8.三种循环结构(语句)各适应什么情况?是否可互相替换?9.什么是子程序?什么是过程?10.过程有何格式?自定义函数的格式是什么?11.子程序与过程有何区别?12.调用子程序或调用函数时应注意哪些问题?。
1.关系的性质:一对一联系,一对多联系,多对多联系2.变量名的命名规则:(1)名称中只能使用字母、下划线、数字(2)名称的开头只能是字母或下划线,不能是数字(3)名称可以是1-128个字符,但自由表的字段名和索引标识最多只能有10个字符(4)避免使用Visual FoxPro的系统保留字(即VFP自身固有的命令、函数等)3.11种数据类型的特点,字符型C,整型I,浮点型F,双精度型B,货币型Y,日期型D,日期时间型T,逻辑型L,备注型M,通用型G常用函数MOD()、VAL()、STR()、CTOD()、DTOC()、date()等的应用,P384.参照完整性的规则,1.子表中的每一个记录在对应的主表中必须有一个父记录。
2.在父表中修改记录时,如果修改了主关键字的值,则子表中相关记录的外部关键字值必须同样修改。
3.在父表中删除记录时,与该记录相关的子表中的记录必须全部删除。
5.自由表与数据库表的区别:【数据库表】:和某一个数据库相关联的表。
【自由表】:和数据库无关联的表。
【数据库表和自由表的区别】:数据库表是属于某一个数据库而自由表不是。
数据库表可以建立主索引而自由表不可以6.自由表、数据库表、数据库及索引文件的扩展名,.dbf .dbf .dbc 单索引文件.IDX 复合索引文件.CD7.数据库的基本概念简称DB是一定的组织形式,存放在计算机存储介质上的相互关联的数据的集合特点是具有最小的,冗余度具有较高的数据独立性,数据能共享一扩展安全可靠,保密性好8..数据库管理系统及其主要功能简称DBMS是帮助用户创建维护和使用数据库的系统软件是数据库系统的核心是用户与数据库之间的接口。
主要功能:1数据定义功能2数据组织存储和管理功能3数据操纵功能4数据库的事务管理和运行管理5数据库的建立和维护功能9..自由表和数据库表的区别:1数据库表可以使用长字段名2数据库表可以指定标题和添加注释可以指定规则提示信息默认值和输入掩码而自由表没有以上设置3数据库表可以建立主索引,而自由表不能建立主索引。
*VF学习笔记*章节.Ⅰ1.选择查询:“标记”select*from 个人账号记录 where 名称="工商银行"2.改变主窗口字体大小命令:_screen.fontsize=253.清除主荧幕内容命令:clear4.项目建立命令:create project <要建立的项目文件名>5.字符型数据1).字符型数据输出时都必须加定界符[]、""、''<任选其一>。
定界符都必须成对输出,否者无效,如遇定界符嵌套使用,以最外成的定界符为准,期间的定界符都是字符型数据。
(定界符定义了字符型数据从哪里开始到哪里结束,其间的数据都属于字符型数据)2).其次,VF中的汉字、数字、空格都属于字符型数据。
(字符型数据是原样输出,必须区分大小写)*一个?代表"输出"两个??代表"不换行输出" *章节Ⅱ1.表达式①由数据、变量、函数、运算符构成的式子。
②用来计算、判断和数据的转换。
1)数值型表达式:(其结果也是数值型的)———————————————————————优先级运算符说明1 ( ) 形成表达式内的子表达式2 * *或^ 乘方运算3 * / % 乘除运算、求余运算4 + - 加减运算----------------------------------------------1@求余运算%和取余函数MOD()的作用相同,结果的正负号与除数一致。
2@如果余数与被除数同号就是两数相除的余数,反之则把两数相除的余数加上除数的值。
2).字符表达式①它只有加和减两种运算。
②不管哪种运算,它的结果仍然是字符串。
③两个字符串相加,其结果就是两个字符串首尾相连。
④连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
示例:"ABC "+"123"="ABC123 "3)日期时间型表达式@计算格式没有日期+日期/日期+-日期时间/日期时间+日期时间。
VFP6.0学习笔记2008年4月10日目录一、VF6.0的主索引二、VF6.0表单建立三、VFP中”退出”按扭代码和VFP中猜数游戏中”开始”程序码四、VF6.0表单居中五、VFP中调用焦点方法:六、Vf6.0中两个表的链接查询七、VFP常用命令及用法实例八、在VFP中显示某特定条件的数据记录九、VFP中身份证号码修复十、VFP中计算年龄十一、VFP程序设计中英文注释十二、VFP中统计年龄十三、在VFP中设置焦点十四、VFP中几个常用函数1十五、VFP中时间函数十六、VFP中的字符串替换命令十七、VFP中的常量十八、在一个表内查询有关字段内容的方法:十九、VFP的多表查询一、VF6.0的主索引VF6.0中的主索引的用途,是指在表中不能出现重复记录.二、VF6.0表单建立改变容器大小选项:在“全部”选项卡里输入Height(高度).Width(宽度值)改变图片显示容器属性:在属性框中选择Stretch.默认是0‘剪载’,改成变填充,可将图片在容器中全部显示.修改窗体介绍:在属性栏选Caption.添加窗体背景图,在属性栏里选Picture,点上面的浏览‘按钮’,进行查找图片文件.三、VFP中”退出”按扭代码和猜数游戏中”开始”程序码1、退出:在方法程序中双击Click Event,输入:thisform.release&&本表单.释放2、开始:bel1.visible=.f.&&重新开始,abel1标签的可见为假,即赢字隐去.bel2.visible=.f.&&将label2标签的可见为假,即"输"字隐去.thisform.text1.value=int(rand()*10)&&设置本表单text1文本框的随机值.本例中随机值是10。
thisform.text2.value=int(rand()*10)&&设置text2文本框的随机值.本例中随机值是10。
VFP6.0教案第一章VISUAL FOXPRO 数据库基础VISUAL FOXPRO的优点:它采用了可视化的,面向对象的程序设计方法,简化了应用系统的开发过程,提高了系统的模块性和紧凑性.具有开发成本低,简单易学、方便用户等优点。
1.1数据库基础知识1、数据、信息与数据处理(1)什么是数据库?数据库是指存储在某一种媒体上能识别的物理符号,用于描述客观事物。
数据表现形式有多种,如:数字,文字,图形,图像,声音等。
数据的概念包括两个方面:其一是描述事物特性的数据内容,其二是存储在媒体上的数据形式。
(2)什么是信息?信息是指经过处理的可以利用的数据,即信息是一种已经被加工为特定形式的数据,这种数据形式对接收者来说是有意义,有价值的。
(3)数据与信息的关系:同一种信息要以使用多种不同形式的数据来表示,且信息不随数据形式的不同而改变。
信息必是数据,而数据不一定是信息。
(4)数据处理:数据处理即信息处理,是指将数据转换成信息的过程。
实际上就是利用计算机对各种形式的数据进行处理,从中获取有价值的信息,用于决策的过程。
数据处理包括数据采集、整理、编码和输入,有效地把数据组织到计算机中,由计算机对数据进行一系列储存、加工、计算、分类、检索、传输、输出等操作过程。
2、计算机数据管理数据处理的中心问题是数据管理。
计算机对数据的管理是指数据的组织、分类、编码、存储、检索和维护提供操作手段。
计算机在数据管理方面的发展大致经历了三个阶段;人工管理阶段、文件系统阶段、数据库系统阶段。
(1)人工管理阶段的特点:数据与程序不具有独立性,一组数据对应一组程序,数据面向程序,不能共享,数据冗余,计算机不保存程序和数据。
(2)文件系统阶段:文件系统是一种专门管理数据的计算机软件。
其特点:数据与程序分开存储,(都以文件形式保存在外存中),数据形式多样,但只是简单存放,不能表示复杂结构,程序与数据之间具有一定独立性。
其缺点:数据文件中数据存储没有结构,数据文件之间没有有机联系。
VFP6.0学习笔记2008年4月10日目录一、VF6.0的主索引二、VF6.0表单建立三、VFP中”退出”按扭代码和VFP中猜数游戏中”开始”程序码四、VF6.0表单居中五、VFP中调用焦点方法:六、Vf6.0中两个表的链接查询七、VFP常用命令及用法实例八、在VFP中显示某特定条件的数据记录九、VFP中身份证号码修复十、VFP中计算年龄十一、VFP程序设计中英文注释十二、VFP中统计年龄十三、在VFP中设置焦点十四、VFP中几个常用函数1十五、VFP中时间函数十六、VFP中的字符串替换命令十七、VFP中的常量十八、在一个表内查询有关字段内容的方法:十九、VFP的多表查询一、VF6.0的主索引VF6.0中的主索引的用途,是指在表中不能出现重复记录.二、VF6.0表单建立改变容器大小选项:在“全部”选项卡里输入Height(高度).Width(宽度值)改变图片显示容器属性:在属性框中选择Stretch.默认是0‘剪载’,改成变填充,可将图片在容器中全部显示.修改窗体介绍:在属性栏选Caption.添加窗体背景图,在属性栏里选Picture,点上面的浏览‘按钮’,进行查找图片文件.三、VFP中”退出”按扭代码和猜数游戏中”开始”程序码1、退出:在方法程序中双击Click Event,输入:thisform.release&&本表单.释放2、开始:bel1.visible=.f.&&重新开始,abel1标签的可见为假,即赢字隐去.bel2.visible=.f.&&将label2标签的可见为假,即"输"字隐去.thisform.text1.value=int(rand()*10)&&设置本表单text1文本框的随机值.本例中随机值是10。
thisform.text2.value=int(rand()*10)&&设置text2文本框的随机值.本例中随机值是10。
thisform.text3.value=int(rand()*8) &&设置text3文本框的随机值.if thisform.text1.value=7 .or. ;thisform.text2.value=7 .or. ;thisform.text2.value=7 &&假如text1的值等于7或者text2等于7或者text3等于7.如果为两行及以上可用分号(;)分开,最后一行不用分号,不影响命令执行。
bel1.visible=.t.&&那么label1标签的可见为真,即"赢"字显示出来else &&否则bel2.visible=.t.&&label2标签可见为设为真,即"输"字显示出来.endif &&结束假设四、VF6.0表单居中在表单属中选择AutoCenter,将其值改为‘真’,表示表单自动居中。
为了使表单运行时不再运行其它语句,在属性窗体中选WindowType,将其值改为‘1’模式,只有在关闭表单后其它程序才能使用。
修改表单名称:Caption修改名称方框透明:BackStyle中修改为透明五、VFP中调用焦点方法:对象名称.setfocets程序将自动在该方框中设置输入焦点.六、Vf6.0中两个表的链接查询SELECT Jbqk.妇女编码, Jbqk.妇女姓名, Jbqk.妇女身份证, Jbqk.妇女民簇, Jbqk.妇女婚姻, Jbqk.女婚变日期, Jbqk.丈夫姓名, Jbqk.丈夫身份证, Jbqk.丈夫民簇, Jbqk.丈夫婚姻, Jbqk.避孕时间, Jbqk.避孕状况, Jbqk.xynh, Jbqk.xynvh, Syjjtzn.孩次, Syjjtzn.性别, Syjjtzn.是否合法, Syjjtzn.子女出生, Syjjtzn.生育备注;(指明调用哪些字段,每一个字段前必须加有表名称,字段名之间用英文或半角下的逗号“,”分开)FROM jbqk INNER JOIN syjjtzn ;(指明调用表的名称)ON Jbqk.妇女编码= Syjjtzn.妇女编码;(指明两个表关联的字段名)ORDER BY Jbqk.妇女编码;(设定排序字段名,本例中为升序)INTO TABLE g:\资料类\数据库文件\ylfn\出生查询2.dbf(查询结果保存路径)七、VFP常用命令及用法实例以“表”形式浏览内容:brow(表式浏览)条件:for(浏览条件)显示字段名:fields例如:brow fields fnxfhm (回车)只显示字段名为fnxfhm的内容(注意:两个命令之间不能用for)八、在VFP中显示某特定条件的数据记录包含命令:$例如:将fnxm中包含“陈”字的显示出来Brow for“陈” $ fnxm相对等于命令:= (包括)绝对等于命令:==(完全相等)大于命令:>fncsrq大于1970.03.21的显示出来:brow for fncsrq>{^1970.03.21}九、VFP中身份证号码修复replace all fnsfhm with substr(fnsfhm,1,6) + substr(dtoc(fncsrq),3,2) + substr(dtoc(fncsrq),6,2) + substr(dtoc(fncsrq),9,2) +substr(fnsfhm,13,3) for len(alltrim(fnsfhm))=15replace all fnsfhm with substr(fnsfhm,1,6) + substr(dtoc(fncsrq),1,4) + substr(dtoc(fncsrq),6,2) + substr(dtoc(fncsrq),9,2) +substr(fnsfhm,15,4) for len(alltrim(fnsfhm))=18十、VFP中计算年龄1、育龄妇女初婚时达到晚婚年龄的人数select count(fnxm) from jbqk.dbf where year(fnchrq) - year(fncsrq) >= 232、显示达到某个条件的内容Brow for year(fnchrq) –year(fncsrq) >=23十一、VFP程序设计中英文注释FontSize:设定字号大小Alignment:文档对齐方式Caption:标题属性(可输入文字内容)Visible:可见属性(真或假)Click Event:按动事件thisform.release :本表单.释放ForeColor:设置文字或前景颜色Disabledback:设置背景颜色十二、VFP中统计年龄1、育龄妇女初婚时达到晚婚年龄的人数select count(fnxm) from jbqk.dbf where year(fnchrq) - year(fncsrq) >= 23 (select为选择命令,count为统计计算命令,from为调用表命令)2、显示达到某个条件的内容Brow for year(fnchrq) – year(fncsrq) >=23select count(fnxm) from jbqk.dbf where (year(fnchrq)-year(fncsrq) >= 23 and month(fnchrq)>=month(fncsrq) and day(fnchrq)>=day(fncsrq)) or (year(fnchrq)-yea r(fncsrq)>23andmonth(fnchrq)<month(fncsrq)) or (year(fnchrq)-year(fncsrq)>23 and day(fnchrq)<day(fncsrq))十三、在VFP中设置焦点设置焦点:意思是程序开始后默认动作处mand1.SetFocus &&本表单.command1.设置焦点.command1是开始按扭的名称,程序开始时系统自动在该处显示动作虚框。
表单后缀名是scx十四、VFP中几个常用函数1DATE()返回目前的系统日期TIME()返回目前的系统时间UPPER()将小写字母转换成大写字母LOWER()将大写字母转换成小写字母CTOD()将字符型转换成日期型格式DTOC()将日期型转换成字符型格式LEN()计算字符表达式的长度ALLTRIM()删除字符串前置和尾部空白TRIM()删除字符串尾部空白LTRIM()删除字符串前置空白SUBSTR()节选字符串的位数,第一个数为第几位,第二个数为连续的个数STR()将数值表达式转换成字符串VAL()将字符串转换成数值表达式十五、VFP中时间函数Year()取年份Month()取月份Day()取天日十六、VFP中的字符串替换命令STUFF()字符串替换,如:REPLACE all fnhjddm with STUFF(fnhjddm,7,3,“999”)意思是将字段fnhjddm中从第7位起取3个字符替换成999字段名”Fnhjddm”是妇女户籍地代码十七、VFP中的常量字符常量都必须包含在引号中日期常量都必须包含在大括号中逻辑常量都必须包含在句点(.)中十八、在一个表内查询有关字段内容的方法:SELECTJBQK.Fnbm,JBQK.Pyxm,JBQK.Fnxm,JBQK.Fnxjd,JBQK.xynh, xynvh;(指定字段名命令)(字段名,每一个字段名必须带有表的名称,如:jbqk.fnxm,)FROM E:\乡级软件安装\数据表\乡级软件安装\BFHFS\JBQK.DBF;(指定路径命令)(文件的路径……………………………………………….)WHERE (JBQK.PYXM='zz')(显示的条件命令)(显示的条件,可以不用条件)意思是:显示E盘下的乡级软件安装\数据表\乡级软件安装\BFHFS\JBQK.DBF表的几个字段内容,一行不够用另起一行时在上一行的后面加分号,表示继续执行下一行命令十九、VFP的多表查询SELECT Jbqk.fnbm, Jbqk.fnxm, Jbqk.fngzdw, Jbqk.fnsfhm, Jbqk.fnmz,Jbqk.fnhyzk,Jbqk.fnhbrq,Jbqk.zfxm,Jbqk.zfsfh m, Jbqk.zfmz, Jbqk.zfhyzk,Jbqk.byzk, Jbqk.byksrq, Jbqk.xynh, Jbqk.xynvh, Syjjtzn.znhc, Syjjtzn.znxb,Syjjtzn.zcsx, Syjjtzn.zncsrq, Syjjtzn.sybz; FROM jbqk INNER JOIN syjjtzn ;ON Jbqk.fnbm = Syjjtzn.fnbm;INTO CURSOR查询4二十、将系统日期格式设置为年月日格式SET DATE ANSI (将系统日期格式设置为年月日格式)SET CENTURY on (年份为四位)计算年龄1、育龄妇女初婚时达到晚婚年龄的人数select count(fnxm) from jbqk.dbf where year(fnchrq) - year(fncsrq) <= 20 另外一个计算晚育的句子:sele coun(*) as wy,left(fnbm,12) as dwdm into dbf tempdb from tempwy wher ((year(zncsrq)-ye ar(fncsrq))*12+month(zncsrq)-month(fncsrq))>=2832、显示达到某个条件的内容Brow for year(fnchrq) – year(fncsrq) >=233、替换领取独生子女证时间日期为当前月的最后一天gomonth(date(),1) - day(gomonth(date(),1))下个月的第一天gomonth(gomonth(date(),iif(day(date())=1,1,0)) - day(gomonth(date(),iif(day(date())=1,1,0))-1),1)40、另外一个替换独生子女日期命令SELECT 表GO topDO WHILE NOT EOF()aa=V AL(SUBSTR(DTOC(出生时间),1,4))bb=V AL(SUBSTR(DTOC(出生时间),6,2))IF bb=12REPLACE 领证时间WITH CTOD(ALLTRIM(STR(aa+1))+'01'+'01') ELSEREPLACE 领证时间WITH CTOD(ALLTRIM(STR(aa))+ALLTRIM(STR(bb+1))+'01')ENDIFSELECT 表SKIPENDDO修改身份号码1、以下命令将修复身份证号码和出生年月日相同,15位和18位的分别修复:replace all fnsfhm with substr(fnsfhm,1,6) + substr(dtoc(fncsrq),3,2) + substr(dtoc(fncsrq),6,2) + substr(dtoc(fncsrq),9,2) +substr(fnsfhm,13,3) for len(alltrim(fnsfhm))=15replace all fnsfhm with substr(fnsfhm,1,6) + substr(dtoc(fncsrq),1,4) + substr(dtoc(fncsrq),6,2) + substr(dtoc(fncsrq),9,2) +substr(fnsfhm,15,4) for len(alltrim(fnsfhm))=18替换命令如:想替换现居地代码,1、先用brow for查出要查看的内容,例如:查县直县委办(县委办代码是401)代码等于空的,请打入:brow for fndwdm=''{回车}。