FoxPro

合集下载

VFP使用说明范文

VFP使用说明范文

VFP使用说明范文VFP (Visual FoxPro) 是一种基于对象的数据库管理系统,它是由微软公司开发的一款强大的编程语言和开发工具。

VFP 以其简单易用的特点深受开发者的欢迎,并且被广泛用于开发各种类型的桌面应用程序和数据库应用。

本文将对 VFP 的使用进行详细的说明。

一、安装和配置VFP2. 配置 VFP 环境。

安装完成后,你需要配置 VFP 的运行环境和相关设置。

你可以通过启动 VFP 并进入 Options 菜单来进行配置。

二、VFP开发环境介绍1.VFP主界面。

打开VFP软件后,你会看到一个主界面,其中包含了各个开发和调试所需的工具栏和窗口。

2. 文件管理。

在 VFP 中,你可以使用 Project 窗口来组织和管理你的项目文件。

你可以在其中创建新的表、表单、报表、类库等项目文件,并且可以通过拖放文件来进行管理。

三、使用VFP创建数据库应用1.创建数据库。

你可以通过打开VFP的数据库维护工具来创建一个新的数据库。

在数据库维护工具中,你可以定义表结构、索引、关系等,并且可以导入或导出数据。

2.编写程序。

通过VFP的设计器和编程环境,你可以编写各种类型的数据库应用程序,包括数据输入、查询、修改和报表生成等功能。

VFP提供了丰富的控件和事件,以及强大的数据处理和查询语言。

四、VFP编程语言介绍2.对象和类。

VFP是面向对象的编程语言,你可以创建自定义的类和对象来封装数据和行为。

通过继承和多态的特性,你可以轻松地实现代码的复用和扩展。

3.数据操作。

VFP提供了丰富的数据操作功能,包括查询、排序、过滤、更新等。

你可以使用SQL语句或者VFP内置的函数来进行数据操作。

五、VFP调试和优化1.调试技巧。

在开发过程中,你可能会遇到各种错误和异常。

VFP提供了强大的调试工具,如断点调试、变量监视、步进执行等。

通过这些工具,你可以快速定位和修复问题。

2.性能优化。

VFP应用程序的性能优化是一个重要的任务。

visualfoxpro教程 (3)

visualfoxpro教程 (3)

Visual FoxPro教程简介Visual FoxPro是一个功能强大的关系型数据库管理系统(DBMS),由Microsoft公司开发和发布。

它是一种针对Windows平台的编程语言和开发工具,可用于创建、管理和维护数据库应用程序。

本教程将引导您从基础开始,逐步学习如何使用Visual FoxPro进行数据库开发。

我们将涵盖以下内容:1.Visual FoxPro的安装和设置2.创建和管理表格3.数据的插入、查询和更新4.数据库索引和关系5.使用查询语言(SQL)进行高级数据操作6.创建报表和图表7.Visual FoxPro的高级特性和调试技巧安装和设置在开始学习Visual FoxPro之前,您需要先安装该软件并进行一些基本设置。

以下是安装步骤:1.下载Visual FoxPro安装程序,它通常以扩展名为.exe或.msi的形式提供。

2.双击安装程序并按照安装向导进行操作。

3.在安装过程中,您可以选择安装目录、启动菜单项等选项。

4.完成安装后,您可以打开Visual FoxPro并开始进行设置。

在设置Visual FoxPro时,您可能需要配置数据库连接、外部工具和编辑器偏好等。

创建和管理表格在Visual FoxPro中,表格是存储数据的基本单位。

您可以通过以下步骤创建和管理表格:1.打开Visual FoxPro,点击菜单栏的“文件”->“新建”->“数据库”。

2.在数据库文件对话框中,选择存储表格的文件夹和文件名,并点击“确定”。

3.在打开的表格编辑器中,点击菜单栏的“编辑”->“添加表格”。

4.输入表格名称,并定义表格的字段、数据类型和约束等。

5.点击“保存”以保存表格定义。

在表格编辑器中,您可以添加、修改和删除字段,定义字段的属性和关系。

您还可以设置索引、约束和触发器等以保证数据的完整性和一致性。

数据的插入、查询和更新通过Visual FoxPro,您可以方便地进行数据的插入、查询和更新操作。

Visual FoxPro数据类型

Visual FoxPro数据类型
一个数值型字段在表中的长度介于1~ 20个字节之间,精度为16位,包括符号位和小 数点,在内存中占用8个字节。其值介于0.9999999999E+19 ~ +0.9999999999E+20 之间。
4
3.浮点型(Float)
从使用上讲,浮点型字段等同于数值型字段。只是浮点型 字段的内部结构与数值型字段不同,因此运算速度也不同。
(DateTime) 整型(Integer) 双精度型(Double) 逻辑型(Logical) 通用型(General) 备注型(Memo) 简介
说明
大小
应用举例
数字、字母、符号 <=254 姓名、住址
货币单位
8
存款、价格
整数、小数
20
考试成绩
同数值型
年、月、日
8
参加工作时间
年、月、日、
8
上班时间
6
5.逻辑型(Logical) 逻辑型字段的宽度固定为1个字节
• 表示逻辑判断结果的值。 • 逻 辑 型 数 据 只 有 两 个 值 : 逻 辑 值 True
(真).T. 或逻辑值False(假).F.。 • 如表达式 ?3>4 的运算结果为:.F.
7
6.整型(Integer)
用于存储不包含小数部分的数值。整型字段占4个字节, 取值介于 -2147483647~2147483646之间。
时、分、秒
无小数点
1
作业完成否
OLE(对象链接与嵌入) 4 EXCEL表格、图片
文本
4 人员简历、产品
10
Visual FoxPro数据类型
1
数据类型
在定义一字段时,必须规定它的类型。 一个字段的类型是指其字段值的数据类型。

VFP简单初级入门教程超好

VFP简单初级入门教程超好

第一、它是一种关系型数据库管理软件。

通俗地说,VFP是很多张长度为行、宽度为225列的大型二维表格构成的账册。

凡是表格和账册能够处理的数据,它都能够很好地处理。

第一章张胜光制作第二、它是一种计算机高级语言,你可以象使用C语言那样用它去进行各种程序设计。

学好了FoxPro,再学其它程序设计语言也就不难了。

VFP既是一种结构化编程语言,也是一种可视化面向对象的编程语言。

第一章张胜光制作Visual FoxPro6.0启动与退出2-2-1 Visual FoxPro6.0的启动VFP6的启动:介绍三种方法:菜单、快捷方式、文件夹第一章张胜光制作第一章张胜光制作Visual FoxPro 6.0 系统启动单击此菜单项鼠标指向此菜单项鼠标指向此菜单项双击桌面快捷方式双击双击双击双击双击第一章张胜光制作启动后的VFP6.0界面第一章张胜光制作Visual FoxPro的启动第一章张胜光制作Visual FoxPro 6.0的退出1.用鼠标单击主窗口的“关闭”按钮2.先用鼠标单击“文件”菜单,按退出命令3.先在命令窗口新的一行输入:Quit,再按键4. 双击Visual FoxPro6.0主窗口左上角的菜单按钮。

5. 直接按Alt+F4第一章张胜光制作Visual FoxPro的系统界面第一章张胜光制作VFP的窗口组成菜单栏极小化按钮极大化按钮标题栏工具栏项目管理器第一章张胜光制作与其它高级语言相似,FoxPro语言也包括命令(语句)、函数、表达式等成分。

第一章张胜光制作FoxPro 语言命令函数表达式FoxPro的命令总是由一个称为命令字的动词开头,后随一个宾语和若干子句(称为命令子句),用来说明命令的操作对象、操作结果与操作条件。

由常量或变量用运算符连接而成FoxPro提供近290种标准函数,以方便用户进行运算或作出判断第一章张胜光制作FoxPro的语言成份命令(语句)<命令字>[操作对象][操作结果][操作条件]例如,命令USE shebeiLIST FOR 价格<10000表示列表显示shebei库文件中价格低于10000元的设备,命令执行后将显示钻床和微机两个记录。

VF简介

VF简介

计算机编程语言:数据库软件,全名为:Visual Foxpro。

vf是推出的数据库软件visual foxpro的简称,又叫VFP。

是数据库管理系统,集成编程语言,是开发小型数据库的前端工具。

Visual FoxPro中的Visual的意思是“可视化”,该技术使得在Windows环境下设计的应用程序达到即看即得的效果。

Visual FoxPro面向对象的开发环境使得无论是组织信息、运行、查询、创建集成的关系型数据库系统,还是编写数据库管理应用程序,都变得十分轻松。

作为市场上最灵活和功能最强大的数据库管理系统,Visual FoxPro拥有悠久而辉煌的发展历史。

它初创时是Fox Software公司的FoxBASE产品,“Fox”(这是国际编程界对它的称呼)一种可靠、便捷和高效的程序员用的数据库产品而名闻遐迩。

世界上没有一种产品像 Visual FoxPro 那样运行,它是独一无二的!许多人在享受了Visual FoxPro的服务后却说不清它是什么。

就让我们沿着它的发展轨迹了解了解它吧!这会使您能对它有更深刻的认识。

FoxPro隶属于一种名为Xbase的DBMS类别。

Xbase这个术语很常见,他表示诸如FoxPro、dBASEIII PLUS、dBASEIV、FoxBASE+以及ARAGO的语言。

Xbase最初起源于一个大型机使用的DBMS,这个DBMS叫做JPLDIS(喷射推动实验室数据库管理和信息检索系统)。

这个DBMS 是由美国人Jeb Long在1972年开发成功的。

到目前为止全世界的开发者和程序员已经编写了几千万行的Xbase代码。

追溯到80年代末,FoxBASE是dBase的克隆系统。

只要是dBASEIII能做的工作,FoxBASE 就能做得更好更快。

FoxBASE虽然拥有某些全新的特征,但它并没有真正重大的技术突破,只是为了运行得更快更好,而更重要的是它与dBASEIII兼容。

FoxPro 1.0首先背离了与兼容的原则。

foxpro命令完整说明

foxpro命令完整说明

一、内存变量常用命令1、赋值STORE <表达式>TO <变量名表><内存变量名>=<表达式>2、显示LIST|DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER[PROMPT]|TO FILE<文本文件名>]3、清除CLEAR MEMORY RELEASE <变量名表>RELEASE ALL [LIKE<通配符>|EXCEPT<通配符>]4、保存SA VE TO <内存变量文件名>[ALL LIKE|EXCEPT<通配符>]5、恢复RESTORE FROM <内存变量文件名> [ADDITIVE]二、表结构操作命令1、创建表CREATE <表名>2、修改结构MODIFY STRUCTURE3、显示结构LIST|DISPLAY STRUCTURE [TO PRINTER[PROMPT]|TO FILE<文本文件名>]4、复制结构COPY STRUCTURE TO <表名> [FIELDS<字段名表>] *生成表结构文件COPY STRUCTURE TO <表结构文件名> EXTENDED5、表结构文件还原成表结构CREATE <表名> FROM <表结构文件名>三、表记录操作命令1、表打开关闭USE <表名>CLOSE DA TABASES2、显示LIST|DISPLAY [OFF] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>][TOPRINTER[PROMPT]|TO FILE<文本文件名>]3、追加APPEND [BLANK]APPEND FROM <表名>4、插入INSERT [BLANK] [BEFORE]五修改替换EDITCHANGEBROWSEREPLEASE [范围] <字段名1> WITH <表达式1>[,<字段名2> WITH <表达式2>…][FOR<条件>] [WHILE<条件>]6、逻辑删除与恢复DELETE [范围] [FOR<条件>] [WHILE<条件>] RECALL [范围] [FOR<条件>] [WHILE<条件>]7、物理删除PACKZAP8、表文件复制COPY TO <表名> [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>]9、指针定位绝对移动GO [TOP] [BOTTOM] [N]相对移动SKIP四、排序与索引命令一排序SORT TO <表名> ON <字段名1> [/A|/D][/C] [,<字段名2> [/A|/D][/C]…] [ASCENDING|DESCENDING] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>]2、建立索引单索引INDEX ON <索引表达式> TO <单索引文件名> [FOR<条件>] [UNIQUE] [ADDITIVE] [COMPACT]复合索引INDEX ON <索引表达式> TAG <标记名> [OF<复合索引文件名>][FOR<条件>] [ASCENDING|DESCENDING] [UNIQUE] [ADDITIVE]3、设置主控索引SET ORDER TO [<数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]4、打开索引文件SET INDEX TO [<索引文件名表>] [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING] [ADDITIVE]USE <表名> INDEX<索引文件名表> [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]5、索引文件更新REINDEX *删除索引DELETE TAG <标记名>|ALL [OF<复合索引文件名>]五、数据查询与筛选命令1、直接查询LOCATE [范围] [FOR<条件>] [WHILE<条件>]继续查找CONTINUE2、索引查询FIND <字符常量>|<数值常量> SEEK <表达式>继续查找SKIP3、筛选SET FILTER TO [<表达式>]六、统计命令1、记录个数COUNT [TO <变量名>] [范围] [FOR<条件>] [WHILE<条件>]2、求和SUM [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TO ARRAY <数组名>3、求平均值A VERAGE [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TOARRAY <数组名>4、分类汇总TOTAL ON <关键字> TO <表名> [FIELDS <数值字段名表>] [范围] [FOR<条件>] [WHILE<条件>]七、多工作区操作命令1、打开表USE <表名> [ALIAS<别名>] [IN<工作区号|工作区别名|表别名>] [AGAIN]2、工作区选择SELECT<工作区号>|<别名>|03、建立关联SET RELATION TO <关联表达式1> INTO <别名> [,<关联表达式2> INTO <别名>…][ADDITIVE]4、解除关联SET RELATION TOSET RELATION OFF INTO <别名>5、一对多关联SET SKIP TO [<别名1>[,<别名2>…]]6、连接命令JOIN WITH <别名> TO <表名> FOR<条件> FIELDS<字段名表>7、更新UPDA TE ON <字段名> FROM <别名> REPLACE <字段名1> WITH <表达式1>[,<字段名1> WITH <表达式1>…][RANDOM]八、程序设计内容1、建立程序MODIFY COMMAND <程序文件名>2、执行程序DO <程序文件名> [WITH <参数表>]3、注释语句NOTE*&&4、输入输出非定位输入WAIT ACCEPT INPUT 非定位输出???定位输入输出@行,列SAYGET(用GET时需要用READ)5、程序控制语句IF语句DO CASE语句DO WHILE语句FOR语句SCAN语句九、过程及过程调用——子程序1、定义: PROCEDURE<过程名>语句序列RETURN2、位置:在程序文件的末尾,或若干个过程组成一个文件,过程文件(常用方法)3、过程的调用DO 过程名[IN 文件名]4、打开关闭过程文件打开SET PROCEDURE TO <过程文件名>关闭SET PROCEDURE TOCLOSE PROCEDURE5、调用过程的查找顺序调用过程的程序文件SET PROCEDURE 命令打开的过程文件名为过程名的程序文件6、返回RETURNRETURN TO MASTERRETURN TO 过程名7、过程的参数传递PARAMETERS <参数表>它是过程中的第一句特点:加()按值传送(不改变主调用程序中的值)不加()按地址传送(改变主调用程序中的值)十、自定义函数——子程序的另一种形式1、定义FUNCTION <函数名>语句序列RETURN <表达式>2、调用格式自定义函数名(参数表)3、参数传递SET UDFPARMS TO V ALUE|REFERENCE*加括号按值FUN2((X),(Y))十一、内存变量作用域根据内存变量的作用范围分为全局变量,局部变量。

FoxPro命令的一般格式

FoxPro命令的一般格式

FoxPr‎o命令的一‎般格式命令格式FoxPr‎o命令一般‎由命令名及‎通过字句所‎指定的操作‎对象、操作范围、操作条件等‎若干选择项‎所构成,其一般格式‎如下:<命令名>[<表达式>][〈范围〉][FOR<条件>][WHILE‎〈条件〉][TO FILE<文件名>|TO PRINT‎E R|TO ARRAY‎<数组表>|TO <内存变量>][ALL [LIKE|EXCEP‎T<通配符>]][IN<别名>]其中命令名:是一个表示‎完成何种操‎作的英文动‎词;表达式表:是一个或多‎个由逗号隔‎开的表达式‎,用来表示该‎命令的操作‎对象;范围:表示该命令‎对数据库文‎件记录的操‎作范围,有以下四种‎选择:RECOR‎D N 对第N条记‎录进行操作‎NEXT N 对从当前记‎录开始的N‎条记录进行‎操作ALL 对所有记录‎进行操作REST 对从当前记‎录开始到文‎件结束的所‎有记录进行‎操作FOR<条件>:对所有满足‎"条件"的记录进行‎操作;WHILE‎<条件>:对直到不满‎足条件的记‎录为止的所‎有已满足条‎件的记录进‎行操作TO子句用‎来控制操作‎结果的输出‎,可以输出到‎文件、打印机、数值、内存变量;ALL[LIKE|EXCEP‎T<通配符>]:用来指明包‎括或不包括‎与通配符相‎匹配的内存‎变量或字段‎变量;通配符指“?”号和“*”号。

“?”号可以与任‎何一个字符‎相匹配,而“*”号则可以与任何一串‎字符相匹配‎IN<别名>:该子句容许‎在当前工作‎区下操作其‎他工作区中‎的数据库文‎件。

命令的书写‎规则上述命令的‎一般格式中‎:< >尖括号中的‎内容表示命‎令中用户的‎定义项;[ ]方括号中的‎内容表示可‎选项。

视要求而定‎;| 分隔符隔开‎的项表示多‎项选一;注意:书写命令时‎上述符号不‎应包含在命‎令中FOXPR‎O中命令的‎书写必须遵‎循以下规则‎:1、每条命令必‎须以命令名‎开子句的顺‎序可任意;2、命令名可缩‎写为前四个‎字符;3、命令的各部‎分之间至少‎要用一个空‎格分开;4、为清楚起见‎,关键字一律‎用大写,用户定义名‎用小写;5、命令行可分‎行书写,行末用“‎;”作为当前行‎的续行符。

visual foxpro介绍和基本使用教程

visual foxpro介绍和基本使用教程

visual foxpro介绍和基本使用教程Visual FoxPro是一种基于对象的数据库管理系统(DBMS),用于开发Windows平台上的应用程序。

它提供了强大的数据处理和报表功能,以及快速的开发工具和集成开发环境(IDE)。

以下是Visual FoxPro的一些特点和功能:1. 数据库管理:Visual FoxPro可以创建和管理数据库,包括表、字段、索引等。

它支持多种数据类型和关系数据库模型。

2. 数据处理:Visual FoxPro可以进行数据查询、过滤、排序、更新等操作。

它支持SQL语言,并且提供了强大的查询和筛选功能。

3. 报表生成:Visual FoxPro可以生成各种类型的报表,包括表格、图表、交叉表等。

它提供了丰富的报表设计工具和模板,可以自定义报表布局、样式和格式。

4. 用户界面:Visual FoxPro可以创建各种用户界面,包括窗体、对话框、菜单等。

它提供了丰富的控件和事件处理功能,可以实现复杂的用户交互。

5. 编程语言:Visual FoxPro使用类似于BASIC的编程语言,具有简单易学的语法和强大的编程功能。

它支持面向对象编程(OOP),可以创建和使用类、对象、方法等。

以下是Visual FoxPro的一些基本使用教程:1. 安装和配置:首先需要下载并安装Visual FoxPro软件。

安装完成后,打开IDE并进行基本配置,包括设置数据库路径、编译选项等。

2. 数据库操作:创建数据库文件(例如.dbf),定义表结构和字段,添加数据记录等。

可以使用SQL语句或图形界面来进行操作。

3. 数据查询:使用SELECT语句进行数据查询,可以通过WHERE子句过滤数据,通过ORDER BY子句排序数据。

查询结果可以通过游标(Cursor)进行访问和处理。

4. 报表设计:使用报表设计器创建报表模板,包括表头、表体、表尾等部分。

可以选择不同的布局和样式,并添加数据绑定和计算字段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FoxPro 2.5 命令汇总备注M1.将数据库的操作设置成针对为A盘:SET DEFA TO A:2.清除FoxPro 运行窗口的内容(清屏命令):CLEAR3.显示已打开库文件的库结构:LIST STRUDISP STRU (分屏显示库结构)4.修改已打开的库文件的库结构:MODI STRU记录范围的表达1.ALL (表示所有记录)2.NEXT n (表示自当前记录开始,向后一共n 条记录)3.REST (表示自当前记录开始,直到最后的这部分记录)4.RECO n (表示第n 条记录)记录条件的表达记录条件的表达是在命令行中加上一句“条件短语”FOR 条件1 连接词1 条件2 连接词2 条件3 ……1.条件具体的表达式<> 不等于示例:FOR LB<>"Ja369" (类别不是Ja369)<= 大于等于>= 小于等于2.出现多个条件是,每个条件之间所用的连接词1)AND (并且、而且、同时,表示几个条件要同时符合)示例:FOR JBGZ>350 AND XB="男"(基本工资大于350并且性别是男的)2)OR (或者,表示几个条件不需要同时符合,只要能够符合其中一个就可以)示例:OR JBGZ>350 OR XB="男"(基本工资大于350或者性别是男的)4. 专用于逻辑型字段的NOT示例:FOR HF (表示已婚)示例:FOR NOT HF (表示未婚)5.凡是几个条件的连接词同时出现AND和OR时,要根据条件之间的互相关系适当的加上括号示例:FOR JBGZ>350 OR JJ<260 AND ZC="工程师"(基本工资大于350,或者奖金小于260的工程师)FOR (JBGZ>350 OR JJ<260) AND ZC="工程师"(基本工资大于350,或者奖金小于260,并且在此范围内的工程师)选择字段的短语选择字段的表达是在命令行中加上一句“FIEL短语”FIEL 字段名1,字段名2,字段名3 ……示例:FIEL XM, XB, ZC, JBGZ. (选择XM,XB,ZC,JBGZ共四个字段)输入输出函数输入语句ACCEPT [ <提示信息> ] TO <内存变量> 字符说明:①ACCEPT命令只接受数据INPUT [ <提示信息> ] TO <内存变量> 字符、数值、逻辑、日期说明:①有计算功能,可以是表达式格式输入语句@ < 行,列 >SAY <表达式> GET <变量>输出语句? [ <表达式表> ]说明:①表达式表可以是常量、变量和函数②定界符可以是‘’“” {} ..?? [ <表达式表> ]说明:①不能输出空行格式输出语句@ < 行,列 >SAY <表达式>表达式定义:将常量、变量和函数用运算符连接起来的式子称为表达式。

算术表达式算术表达式由算术运算符、数值常量、变量和函数组成,结果为数值型数据。

算术运算符有(按优先级从高到低的顺序排列):( ) ;**或^;* ;/ ;% ;+ ;--(括号) (乘方) (乘) (除) (求余数) (加) (减)字符型表达式是用字符运算符将字符型数据连接起来的式子,其运算结果是字符型数据。

(1). 连接运算“+”:将两个字符串连接起来形成一个新的字符串。

“-”:是去掉前字符串的尾空格,与后面字符串连接,将去掉的尾空格放到串的末尾。

(2). 包含运算<字符串1> $ <字符串2>包含结果是逻辑值:若<字符串1>包含在<字符串2>之中,其表达式值为.T. 否则为.F. 日期和时间表达式格式1:<日期型数据>+<天数> <天数>+<日期型数据>格式2:<日期型数据>-<天数>格式3:<日期型数据1>-<日期型数据2>格式4:<日期型数据>+<秒数> <秒数>+<日期型数据>格式5:<日期型数据>-<天数>格式6:<日期时间型数据1>-<日期时间型数据2>关系表达式关系表达式由关系运算符和字符表达式、数值表达式或日期表达式组成。

< > 或# 或!= (不等于) 、= (等于)= = (字符全同比较)、$ (字符串包含运算符)格式:<表达式> <关系运算符> <表达式>进行关系运算时,关系运算符两边的数据类型应相同。

数值、字符、日期比较。

比较规则如下:(1)逻辑型数据:.T.比.F.大。

字符型数据:默认按字符的ASCII码值的大小进行比较,汉字按拼音顺序进行比较。

(2)在SET EXACT OFF状态下,精确比较“= =”:两字符串完全相同为真;非精确比较“=”:等号右边与等号左边的前几个字符相同,结果才为真。

例:?“res” < “ret”、? “李丽英” == “李丽”(3)运算符$比较两个字符串,若左边是右边的子串,则比较结果为.T.,否则为.F.。

例:? “丽英” $ “李丽英”关系运算符的优先级相同,按从左向右、圆括号内优先的顺序进行。

逻辑表达式逻辑表达式是由逻辑运算符将逻辑型数据连接起来的式子。

一个判断条件,结果为逻辑值。

(1). 逻辑运算符:AND(与)、OR(或)、NOT (非)逻辑运算的优先顺序是:NOT→AND→OR (依次降低)使用格式:<关系表达式> <逻辑运算符> <关系表达式>(2). 逻辑运算①NOT 单目运算,只作用于后面的一个逻辑操作数。

NOT L:若操作数L为真,则返回假;否则返回真。

②AND双目运算。

L1 AND L2:二者同时为真,表达式值为真;其中一个为假,结果为假。

③OR双目运算。

L1 OR L2:二者有一个为真,表达式值为真;二者均为假时,结果为假。

例:学生表的结构如下:学生(学号 C 6,姓名 C 10,性别 C 2 ,出生日期D,少数民族否L,籍贯 C 10,入学成绩N 5.1,简历M,照片G)针对学生表,写出下列条件:(1)姓“张”的学生。

条件:姓名="张"(2)20岁以下的学生。

条件:DATE()-出生日期<=30*365(3)家住湖南或湖北的学生。

条件:籍贯="湖南" OR籍贯="湖北"(4)汉族学生。

条件:少数民族否=.F.(5)入学成绩在580分以上的湖南或湖北的学生。

条件:入学成绩>580 AND "湖"$籍贯(6)20岁以下的少数民族学生。

条件:YEAR(DATE())-YEAR(出生日期)<=20 AND 少数民族否函数分类数值函数1.绝对值函数 2. 平方根函数ABS( ) SQRT( )3. 取整函数INT( )取〈〉的整数部分。

CEILING( ) 取大于或等于指定表达式的最小整数FLOOR( ) 取小于或等于指定表达式的最大整数4. 求余数函数MOD(〈expN1〉,〈expN2> )功能: 返回〈expN1〉除以〈expN2〉所得的余数。

当二者异号时,值为:|expN2|- MOD(|expN1|,|expN2|),结果的符号与<expN2>相同;5. 求最大值函数和最小值函数MAX(<表达式1>,……,<表达式n>) 求n个表达式中的最大值MIN(<表达式1>,……,<表达式n>) 求n个表达式中的最小值6. 四舍五入函数ROUND (〈expN1〉,〈expN2〉)功能: 设expN2=n。

函数对〈expN1〉求值,并保留n位小数,从n+1位小数起进行四舍五入。

如果n<0(指定的小数位数为负数),该函数在〈expN1〉的值的整数部分按n的绝对值位进行四舍五入,尾数部分都是0。

字符操作函数1.求字符串长度函数LEN ( ) 返回长度,一个全角字符为2个半角字符,2. 取子字符串函数LEFT (〈〉,〈N〉) 取左子字符串函数RIGH (〈〉,〈N〉) 取右子字符串函数SUBS(< >,<N1> ,<N2>)取子字符串函数3.求子字符串位置函数AT (〈expC1〉,〈expC2〉) 前者是否为后者的字串ATC (〈expC1〉,〈expC2〉) 不区分字母大小写4. 删除字符串空格函数LTRIM( ) 去除()的前部空格RTRIM( ) 去除()的尾部空格ALLTRIM( ) 去除()的前、后所有的空格…+ SPACE( ) +…产生中间的空格函数5. 大小写字母转换函数UPPER( ) 小写字母转换成大写字母LOWER( ) 大写字母转换成小写字母6. 宏替换函数运算符&&〈字符型内存变量〉[.〈字符表达式〉]FIND ? &p 将字符型内存变量或字符型数组变量的值置换出来7.字符串替换函数STUFF(<字符式1>,<数值式1>,<数值式2>,<字符式2>)用<表达式2>去替换<表达式1>中由<数值式1>开始的<数值式2>个字符。

8. 产生重复字符函数REPLICATE(<字符型表达式>,<数值型表达式>)日期和时间函数1. 求系统日期和时间函数:DATE()TIME()DATETIME()2. 求年份、月份和天数函数:YEAR (<日期型表达式> | <日期时间型表达式>)MONTH (<日期型表达式> | <日期时间型表达式>)DAY (<日期型表达式> | <日期时间型表达式>)3. 求时、分和秒函数:HOUR (<日期时间型表达式>)MINUTE (<日期时间型表达式>)SEC (<日期时间型表达式>)数据类型转换函数1. ASC(<字符型表达式>) 字符转换成ASCII码2. CHR(<数值型表达式>) ASCII码转换成字符3. CTOD(<字符型表达式>) 字符串转换成日期或日期时间CTOT(<字符型表达式>)4. DTOC(<日期表达式>|<日期时间表达式>[,1]) 日期或日期时间转换成字符串TTOC(<日期时间表达式>[,1])5. STR(<数值式1>,<数值式2>,<数值式3>) 数值转换成字符串V AL(<字符型表达式>) 字符串转换成数值测试函数2. 表头测试函数:BOF([<工作区号>])|<别名>])3. 表尾测试函数:EOF([<工作区号>|<别名>])4. 记录号测试函数:RECNO([<工作区号>|<别名>])5. 记录个数测试函数:RECCOUNT([<工作区号|别名>])6. 查找是否成功测试函数:FOUND([<工作区号|别名>])8. 判断值介于两个值之间的函数:BETWEEN(<被测试表达式>,<下限式>,<上限式>)9. 条件函数:IIF(<逻辑型表达式>,<表达式1>,<表达式2>)数据库的复制COPY STRU TO 新库名 [ FIEL <新字段名>]......................结构复制COPY TO 新库名范围 [FIEL<选择字段>] [FOR<条件表达式>].......文件复制Modi Stru <库文件名>........................................结构修改LIST STRU [TO FILE<文件名>]................................结构显示记录的添加与插入记录的添加APPEND FROM 源库名[ FIFLDS<字段名表> ] FOR 条件说明:①FIFLDS<字段名表> 是把列出的字段数据加入到当前打开的数据库中②FOR 条件是把满足当前条件的数据加入到当前打开的数据库中③在记录尾加一条空白记录:APPE BLAN记录的插入INSERT [ BEFORE ] / [ BLANK ]1.当前记录的后面插入新记录:INSE2.当前记录的前面插入新记录:INSE BEFO3.当前记录的后面插入一条空白记录:INSE BLAN数据记录删除(1)加删除标记Dele <范围>For <条件表达式>示例1:DELE ALL FOR XB="男"(将所有记录中的男性记录进行逻辑删除)示例2:GO 4↙DELE NEXT 6 FOR XB="男"(将第四条记录开始的一共六条记录中的男性记录删除)(2)去掉删除标记Reca <范围>或For <条件表达式>示例1:RECA ALL FOR XB="男"(恢复所有记录中的男性记录逻辑删除)(3)隐藏删除标记SET DELETE ON/OFF(4)物理删除(带标记)PACK(5)全库记录删除ZAP编辑记录表格显示记录:BROW 范围FIEL 字段名表FOR 条件[ PART <数据表达式> ][ NOLO<数据表达式> ] [ NOLI ] [NOED] 说明:①PART <数据表达式> 表达式的值为窗口的宽度②NOLO<数据表达式> 表达式的之为含字段的个数③NOLINK: 两个区可以独立滚动④NOED: 使记录的所有字段为只读,不能修改记录的替换REPL 范围FOR条件(字段名1 WITH 表达式1),(字段名2 WITH 表达式2……)示例1:REPL ALL FOR ZC="男" JBGZ WITH JBGZ+50 , JJ WITH JJ+55 (将所有记录中,男性记录的基本工资增加50,奖金增加35)示例2:GO 5REPL NEXT FOR 3 JBGZ WITH JBGZ*(1+12/100)(将第五到第七条记录的基本工资增加12%)示例3:GO 5REPL REST FOR ZC="工程师" JJ WITH JJ*(1-12/100)(将第五条记录开始的记录,奖金减少12%)示例4:REPL ALL FOR JJ<120 OR JJ<350 YFGZ WITH JBGZ+JJ (计算所有记录中,奖金小于120,大于350的应发工资,注:应发工资=基本工资+奖金)示例5:REPL ALL FOR XB="男" ZC WITH"工程师"(将所有的男性记录的职称均改为工程师)示例6:REPL ALL FOR NL>45 AND XB="女" ZC WITH"高工"(将所有年龄在45岁以上的女性,其职称改为高工)记录的显示LIST(分屏显示)与DISP(滚屏显示)都能将记录显示在屏幕上,但不能够修改LIST命令:LIST [ OFF ]范围FIEL字段名表FOR 条件[TO FILE<文件名> ] 说明:①TO FILE <文件名> 为将LIST命令列出的记录保存到磁盘文件中DISP命令:DISP [ OFF ]范围FIEL字段名表FOR 条件[TO FILE<文件名> ] 说明:①DISP只显示当前所指的记录记录指针的定位记录指针的分类:绝对指针、相对指针、条件指针绝对指针GO TOP (指针指向首记录)GO BOTT(指针指向末记录)相对指针SKIP n (指针由当前记录开始,向后跳过n 条记录)SKIP -n (指针由当前记录开始,向前跳过n 条记录)条件指针LOCA FOR <条件>CONTINUE说明:CONTINUE 为在使用一次条件命令之后,查找下一条符合条件的记录数据记录排序SORT TO <新库名> ON <排序字段> [ /A][ /D][ /C] 范围[FIELDS<字段名表>] [FOR<条件表达式>] [ /A] 升序[ /D] 降序[ /C] 字母大小排序清除屏幕清全屏:CLEAR WINGDOW→CLEAR清局屏:@ < 行1,列1 > CLEAR [ TO<行2,列2> ]说明:①TO<行2,列2> 缺省的话,只是以行1,列1为起点的矩型区域数据统计结果1.记录数目COUN 范围for 条件to 内存变量说明:①FOR <条件表达式>是统计数据库中复合指定条件的记录个数②TO <内存变量> 将存入用户指定的内存变量中示例1:COUN ALL FOR XB="男" TO AB(计算所有记录中的男性记录个数,计算结果为内存变量AB)示例2:GO 4COUN REST FOR JBGZ>350 TO BC(计算第4条记录开始的基本工资大于350的记录个数,计算结果为内存变量BC)2.求和/求平均值SUM 范围for 条件表达式[ 字段名表] to 内存变量名A VER 范围for 条件表达式[ 字段名表] to 内存变量名求和示例1:SUM ALL FOR XB="男" JBGZ TO MN(计算所有记录中的男性的基本工资总和,计算结果为内存变量MN)示例2:GO 4SUM NEXT 6 JJ TO XY(计算第4到第9条记录奖金总和,计算结果为内存变量XY)求均值示例1:A VER ALL FOR XB="男" JBGZ TO XW(计算所有记录中的男性的平均基本工资,计算结果为内存变量XW)示例2:GO 4A VER REST JJ TO XX(计算第4开始的记录平均奖金,计算结果为内存变量XX)函数的组合:Avg(<字段表达式>)求算术平均值cnt(<字段表达式>) 求数据库的记录数目max(<字段表达式>)求最大值min(<字段表达式>)求最小值sum (<字段表达式>)求累加值多工作区的操作工作区,是指储存数据库文件的内存区,或内存工作区规定:①数字1—255 为工作区号码标识符②字母A—J 为1—10 号工作区的别名③利用各工作区打开的数据库的别名作为工作区的别名指定工作区别名USE 数据库名ALIAS 别名说明:①打开数据库,并为该库指定别名②别名不能使用A—J 字母以外的字母选择工作区的命令SELECT 工作区/别名说明:①根据是定的工作区号来确定当前工作区②允许0 作为参数,,表示当前未使用的最小编号的工作区为当前工作区③一个工作区只能打开一个数据库以及7个索引文件关闭多个工作区的数据库文件CLOSE DATABASES该命令:关闭所有工作区及数据库文件,并把1 号工作区设成当前工作区CLEAE ALL该命令:关闭所有工作区及数据库文件,并释放所有内存变量,把1号为工作区互访工作区访问其他工作区,并调用其打开的数据库记录调用工作区别名. <字段名>工作区别名—> <字段名>说明:①工作区别名为工作区号或数据库别名②从1—10 为工作区别名,>10为数据库名记录的分类汇总将所有的记录按某个关键字段进行分类,然后对其余的一个或几个数值段进行数据汇总,汇总的结果会自动生成一个新的数据库文件TOTA ON 分类字段名范围<fiel 汇总字段名表><for 条件> <to 汇总库文件名> 说明:①分类汇总前,必须对相应数据库进行索引或排序②<数值型字段名表> 列出要汇总的字段名1.首先按要分类的字段进行索引INDE ON 关键字段名TO 索引文件名2.进行分类汇总1)对所有的数值型字段进行分类汇总,生成新库文件TOT A ON关键字段TO新文件名2)有选择的对某些数值型字段进行分类汇总,生成新文件TOT A ON关键字段FIEL汇总字段名1,汇总字段名2 TO新文件名3.打开分类汇总所生成的新文件,继续修改库结构,删除不必要的字段USE 新文件名MODI STRU示例1:USE RSINDE ON XB TO RSSTOTA ON XB TO RSA(按XB对RS文件分类汇总至RSA文件,新文件与原文件的库结构相同)示例2:USE RSINDE ON XB TO RSSTOT A ON XB FIEL JBGZ, JJ TO RSBUSE RSBMODI STRU(将RS文件的记录按XB对JBGZ和JJ分类汇总至RSB文件,新文件只要有XB, JBGZ, JJ三个字段)关联数据库,是对立的,从数据库文件建立一种形式上的关系连接,连接数据库,是对主从数据库进行实际连接,并生成满足指定条件要求的信数据库文件数据库连接FOR <字段名=别名. 字段名> 数据库连接——不需要建立索引连接数据库JOIN WITH <别名> TO <数据库名> FOR <连接表达式>[ FIELDS<新数据库字段名表> ] 说明:①指将当前工作区打开的数据库文件与在<别名>指定工作区打开的数据库文件连接,并生成新的数据库文件②<别名>指被连接数据库的别名③<新数据库字段名表> 指定新数据库的文件结构④不会在新数据库文件中生成原库的备注型字段在JOIN命令的连接过程中,,通过 <连接表达式>来进行比较例:SELE 4USE 库名SELE 2USE 库名JOIN WITH D TO 新库名FOR 职工编号=D.职工编号FIEL 姓名,部门,职称,基本工资,职称工资USE 新库名LIST数据库关联TO <关键字> 关联的建立—————必须在命令之前建立索引数据库的关联指在两个工作区中打开的数据库文件,按照某种要求进行的逻辑连接,不生成新的数据库(逻辑连接)建立关联SET RELA TO 关联表达式INTO <从数据库别名/工作区号> 说明:①按照“关联表达式”的要求,将主数据库和从数据库之间建立关联②当“关联表达式”为关键字表达式时,从库要按此关联建立索引,二者必须有相同的的关键字段③当“关联表达式”为数值表达式时,则按数值表达式的值作为记录号主库所在的工作区执行SET RELA TO 命令取消关联例:CLEA ALL USE DENGJISELE 3 SET RELA TO 职工编号INTO CUSE ZG LOCA FOR 职工编号LIST DISPINDE ON 职工编号SELE 1数据库更新ON < 关键字> 数据库更新——必须有索引文件(目标库必有)数据库更新UPDATE ON < 关键字段> FORM <别名> REPLACE <字段名1>WITH < 表达式> [ RANDOM ]说明:①指以两个数据库是否具有相同的“关键字”为根据,用“别名”指定的工作区中数据库数据(表达式),去更新当前工作区中数据库文件的“字段名”内容,(“别名”,指定的数据库文件为源数据库,当前工作区打开的数据库文件是将各更新的数据库称为“目标数据库”)③<字段名> 指目标数据库中将被更新的字段名④<表达式> 包含目标数据库和源数据库的字段,在源数据库字段前面必须加“区名.”或“别名.”,以标识该字段是在“区名.”或“别名.”工作区打开的库文件中⑤包含[ RANDOM ] 可选项,则要求目标数据库必须按“关键字”的升序建立索引或排序,且打开索引文件若缺省,则要求源数据库与目标数据库的记录必须按“关键字建立索引或排序”数据库更新(比较)源库——→目标库若关键字相等,则更新(关键字)若不相等,则以关键字最小的先移动最终以某一方结束为止例CLEA ALLSELE 2USE 库名SELE 1USE 库名INDE ON 姓名TO SY…….………………建立索引,索引名为SY 关键字为姓名UPDA ON 姓名FROM B REPL“实发工资”WITH B . 奖金+基本工资RAND LIST单索引文件:扩展名为IDX结构化复合索引文件:扩展名为CDXCOPY INDEXES从单项索引.IDX文件创建复合索引标识DELETE T AG从复合索引(.CDX)文件中删除标识索引文件建立建立索引文件单索引文件是按照一种索引关系建立索引文件,只包含一个索引关系复合索引文件是利用一个索引文件所包含的若干个索引标签(TAG)来识别若干个索引单索引. IDX文件INDEX ON<字段名列表> TO<索引文件名> FOR 条件ADDITIVE[ UNIQUE ] 说明:①“字段名列表”指字段名之间用+ 号连接才能进行索引②“UNIQUE ”若选择,当数据库中有多个记录的索引关键字的值相同时,只取第一个遇到的记录;若不选择,则是对全部记录进行索引③“ADDITIVE ”指同时打开其他索引同时将当前的文件起主导作用④单索引只能按升序进行索引单索引文件的打开SET INDEX TO <索引文件名表> [ ORDER <数字/主索引文件名> ] 说明:①将各索引文件名写入索引文件名表,之间以,隔开②“数字”指打开索引文件所在的次序,为0 时表示取消主索引文件,记录按数据库的物理顺序排序,但不关闭索引序列同时打开数据库与索引USE 库名INDEX 索引文件名表[ ORDE < 数字/索引文件名> ] 单索引文件关闭关闭当前索引SET INDEX TOCLOSE INDEX关闭所有文件CLOSE DATA改变主索引文件SET ORDER TO < 数值表达式> / < 索引文件名>复合索引文件建立. CDX INDE ON <关键字表达式> TAG <标识名> ADDI [ OF <复合索引文件名> ][ FOR< 条件表达式> ][ UNIQ ][ ASCE / DESC ] 说明:①复合索引文件名:若缺失会自动生成与数据库同名的索引文件,称为结构索引文件②ASCE / DESC :前者为升序,后者为降序,缺省为升序示例1:INDE ON JBGZ+JJ TO TSA(将原记录按JBGZ为第一关键字段,JJ为第二关键字段进行索引,生成索引文件RSA. IDX)示例2:INDE ON ZC TO RSB(按ZC为关键字段进行索引至RSB. IDX)复合索引文件的打开①SET INDE TO < 复合索引文件名表>………………………..②USE 库名[INDE < 复合索引文件名表>][ ORDE<数值表达式/标识名> ] [ OF <复合索引文件名> ] [ ASCE / DESC]说明:①ORDE<数值表达式/标识名> OF<复合索引文件名> 指当打开多个索引文件时,ORDE 所指的标识名为OF后所标明的复合索引文件中的标识,且此标识为主索引复合索引文件的关闭(与单索引一样)索引文件的更新与应用更新索引文件REINDEX索引文件的应用FIND <字符表达式>说明:①指查找数据库中与字符表达式的值相等的记录,并将指针指向第一个符合条件的记录②只处理字符型数据,字符表达式不加“”SEEK <表达式>说明:①可以处理任何形式的表达式,并将指针指向第一条符合条件的记录内存变量的清除命令格式:CLEAR MEMORYRELEASE [<内存变量表>][ALL [LIKE|EXCEPT <通配符>]]功能:清除内存变量并释放相应的内存空间。

相关文档
最新文档