VF选修课讲义.doc_第1页
VF选修课讲义.doc_第2页
VF选修课讲义.doc_第3页
VF选修课讲义.doc_第4页
VF选修课讲义.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VF程序设计Visual FoxPro6.0程序设计选修课讲义基本要求:一、了解数据库的基本概念: 数据处理、数据库系统(由数据库、数据库管理系统、管理员三部分组成)、关系型数据库二、了解Visual FoxPro6.0的功能窗口、特点以及数据库结构的组成。三、掌握Visual FoxPro6.0窗口的基本组成、各菜单项的功能以及使用方法。四、掌握Foxpro的基本语法成分(1)文件类型(2)数据类型(3)常量与变量(4)运算符与表达式(5)常用函数五、掌握数据库的基本操作:(1)数据库文件的建立、打开与关闭(2)数据库的显示、定位(3)数据库记录的追加、删除与恢复(4)数据库记录的编辑和修改(5)数据库的排序、索引与查询(6)数据库的统计和汇总(7)数据库的复制六、了解工作区的引用和关联,掌握多重数据库的基本操作。七、掌握程序的基本结构(顺序、分支、循环)以及相关的控制语句1、顺序结构2、分支结构3、循环结构八、了解程序文件的建立和运行的基本方法,了解交互式命令的使用一 、数据库基本概念:1、 数据(DATA):把信息用符号并按一定的格式记载下来,这种具有意义的符号组合就是数据,作为数据的符号包括文字,数字和图形等。2、数据处理(数据管理):就是利用计算机对各种形式的数据进行一系列的存储、加工、计算、分类、查询等处理。3、 数据库系统(DataBase System简称DBS):指具有管理功能的计算机系统,它由数据库,数据库管理系统和数据库管理人员组成。4、 数据库(Data Base简称DB): 数据库是以一定方式组织起来,独立于应用程序并能为多用户共享的数据集合。(数据的仓库)5、 数据库管理系统(DataBase Management System简称DBMS):对数据库进行管理的各种软件的总称,其功能是帮助用户建立、使用、管理数据库。如:FOXPRO 、FOXPRO FOR WINDOWS 、 Visual Foxpro。Access、Oracle6、数据模型:把数据库的组织形式称为数据模型,共有三种: 网状模型、层次模型、关系模型 我们将在计算机中用关系模型构造的数据库称为关系型数据库,在关系数据库中数据是以二维表格的形式出现的。二、Visual Foxpro6.0 的文件类型DBC (数据库文件) DBF(表文件) FPT(表备注)PRG (程序文件) IDX(索引文件)三、表文件概述Visual Foxpro6.0中的表分为数据表和自由表两种,属于某个数据库的表称为数据库表;否则,不属于任何数据库的表称为自由表。二、Visual Foxpro6.0关系型数据库管理系统1、定义:用关系模型构造的数据库称为关系型数据库,在关系数据库中数据是以二维表的形式出现的。2、关系型数据库的三个基本要素数据表文件名:文件名DBF (DBF是系统默认的数据表文件名)数据表的结构: (Structure)数据表中的记录:(Record)3、关系数据库表结构中的几个名称或术语(1) 字段、字段名、字段值字段:二维表格中的每一列,称为一个字段,字段是关系数据库最基本的数据单位。 每个字段都有相同的数据类型, 每个字段都有字段名(例如:编号、姓名、性别等)(2) 记录(Record):相当于二维表格中的一行。除第一行以外,每行内容构成一个记录,记录由若干字段值组成。(3) 数据表文件:一个表文件相当于一张二维表格(4) 字段的构成(四部分) 字段名 数据类型 宽度 小数位下面以职工档案(ZGDA . DBF)数据表为例职工编号姓名性别婚否出生日期职称部门工资奖金简历1201王伟男.T.78/01/10中级化学组892.323001202李楠女.F.85/02/23初级数学组781.122001203张杨男.T.79/12/28高级数学组1456.235001204李玉平女F.82/11/24初级化学组500232001205曹毅男.T.75/07/09高级语文组1496285001206郑松男.T.74/08/29高级语文组1236755001207胡小明男F.81/11/03中级化学组78925300Visual Foxpro6.0中表的字段名命名时应遵循以下原则:(1)自由表字段名最长为10个字符。在自由表中数据表的字段名必须以字母或汉字开头,最长为10个字符组成,非首字符可以使用英文字母, 数字,汉字和下划线,不能包含有空格,不分大小写。如:姓名 XM A1 XB B-M1XM(数字打头是错的)(2)数据库表字段名最长为128个字符。(3)使用关系型数据表文件时要注意以下几点: 不允许有相同的字段名不允许有相同的记录(即不同记录行不能完全相同)同一字段(即同一列)中的数据的类型必须一致。记录的顺序是可以任意调换的,这是从行的角度来说的;从列的角度讲,不同的字段可以任意交换位置。也就是说,行或列的次序并不影响表文件的内容,只不过在数据表文件中内容排列不同而已。1 、数据类型:(字段中存储数据的类型共13种,常用的8种)(1) 字符型(Charater):指一切可以打印的字符和字符串,它包括26个英文字母、各种符号、数字组成,一个汉字占两个字节,其它字符为一个字节,字符型字段的最大宽度为254个字节, 例如: 职工档案库中的编号, 姓名 , 性别, 职称, 部门(2) 数值型(Numerical):指可以进行数学运算的数据,包括09数字,小数点,正负号,在定义数值型数据时,必须同时定义数据项的长度和小数位,小数点本身要占1位,其最大宽度为20位 例如:职工档案库中的基本工资,职务工资 999.99长度为6位(3)浮点型(Float):其组成与数值型相同,使用目的可以使计算的精度提高。(4)日期型(Date型):用以表示日期的数据,宽度固定为8个字符,系统默认的日期格式为 mm/dd/ yy (年年/月月/日日)都是两位数。(建立数据表输入记录时的格式是:月/日/年) 例如: 职工档案库中的出生年月 * 字符转换为日期函数CTOD( ) 例 :99/12/02 只能视为一个算术表达式, / 表示除法(除号) 991202的一个算术表达式 CTOD(75/12/09) 才是 表示日期的正确表示法 * 日期型数据的运算 日期型+数值=日期型 日期型日期型=数值例 :CTOD(99/02/02)+2=CTOD(99/02/04) CTOD(99/02/02)1=CTOD(99/02/01) CTOD(99/12/20)CTOD(99/12/05)=15 注: 日期日期 (是错误的,两个日期不能相加)(5) 逻辑型(Logical): 用于逻辑判断,宽度固定为1字节, 这种数据只有两种值:逻辑真值(.T.或.Y.),逻辑假值(.F.或.N.) 例如: 职工档案库中的 婚否 政治面目(6) 备注型(Memo): 用于输入大块的文本信息,宽度固定为4字节.是用来存放一个指针,这个指针指向与库文件同名,但扩展名为 . FPT的备注型文件中,未存入内容时显示为memo(小写m打头),存入内容后则为Memo(大写M打头) 例如: 职工档案库中的 简历(7) 屏幕型(Screen)用于保存屏幕显示的信息。(8) 通用型(General)它是一种特殊的备注数据,用来存储声音、图片等信息,扩展名与备注文件相同 . FPT,未存入的则为gen,存入数据时为Gen。固定宽度为4 注:数据库中各字段的总宽度为所有字段宽度之和加1,这个字节用来保存已被删除记录的踪迹。二、 常量与变量1 常量: 在程序运行中值保持不变的量常量有四种类型: 字符型常量: 用定界符括起来的字符串 允许使用三种定界符: 单引号, 双引号, 方括号 例: ABC, ABC, ABC, 45, 123.6,注:一种定界符可以套用另一种定界符 ABC为合法,而ABC为不合法 数值型常量: 即一般整数或小数,例 -123, 67, 56, 45,3.14159 逻辑型常量: 只有两个值: .T. (.t. ).Y. (.y.)为真值 .F. (.f. ). N. (.n.)为假值 日期型常量: 表示日期用一个 大括号 进行定界。 例如:97/07/01或97-07-01都是日期型常量的表示方法2 、变量: 在命令或程序的运行过程中值可以变化的量(1) 变量名: 规定同字段名(2) 变量的类型: 字段变量: 以数据库的字段名作为变量名的变量,字段变量是一种多值变量,有多少条记录,该字段变量就有多少个值,(即一个字段对应的各记录的值是不同的) 字段变量有C, N ,F,L, D, M,G共7种类型 内存变量: 不依赖数据库文件而独立存在的变量,存在于内存中,或者说是一种临时工作单元,有C,N,F,L,D,S(屏幕型)六种类型3 、变量的起名和赋值1、 起名:不论是内存变量还是字段变量,都必须遵循以下变量起名的规则。以字母或汉字开头110长度的字符组成,非首字符可以使用英文字母, 数字,汉字和下划线,不允许有空格。练习判断正误: AB5 、 姓名, XM 1A、A%、 3AB、 2性别、 性 别 、学生所学专业、 98CALL 2、赋值: (1) ( 格式一): STORE 表达式 TO 内存变量功能:将表达式的值赋给指定的内存变量例 STORE 4 TO AA STORE 5 TO BB STORE 4 TO AA,BB STORE 4,5 TO AA,BB (错误,不能把多个值赋给多个变量)(2) ( 格式二):内存变量=表达式功能:把等号右边表达式的值赋给等号左边的内存变量例 AA=4BB=5ANS=.T.NAME=李建DATE=CTOD(88/01/01/)3、显示表达式的值命令 ? / ? (换行显示/不换行显示) 例 AA=4 ?AA4 ?AA 4 三、FoxPro运算符及表达式运算符就是数据进行运算时使用的符号表达式就是用运算符号将常量,变量,函数按一定的规则连接起来的式子一、运算符:有四种(1) 算术运算符: (优先级从高低)( )、单目(正、负号)、或*(乘方)、 *(乘) /(除) 、% (求余)、+、例 ?23 ?21%5 ?3*2 ?18%5 (2) 字符串运算符: + 直接连接符 功能:将两个或多个字符串连成一个字符串 压缩连接符: 功能:将运算符前面的字符串中尾部的空格移到右边字符串的尾部,再连接起来。 例 ?ABC +CDE ABC CDE ?ABC CDE ABCCDE (3) 关系运算符: 运算的结果是逻辑值 = = = 或 #或!(不等于) 、= = (精确等于) $(串包含)“= =” (精确等于)运算符和“=”(等于)运算符的区别:“= =”只有两边字符串完全相等时结果才为真,否则为假值例:“abcd”= =“abcd”(.T.) “abcd”= =“a b c d” (.F.)“=”(等于)若“=”右边字符串是“=”左边的字符串的左起一部分时,该表达式的值为真值。例:“abc”=“ab” (.T.) “books”=“book” (.T.)$(串包含) 格式为 字符串1$字符串2功能:用于判断字符串1是否包含在字符串2中例:“ab”$“abcd” ( .T.) “abc” $ “acbd” ( .F.) *关系运算符进行比较时,由小到大的顺序为: 字符型: 09,AZ,az 汉字: 按拼音顺序 数值: 由小到大 日期: 由早到晚(越早越小,出生越晚越大)例 X=2 ?AB=ABC Y=3 ?XY ? AB=ABC ?XY ?ABC=AB ?AB$ABC ?ABCabc ?ABC $ AB ? 李7 AND 86Y=.F. ?X.AND.Y ?125 AND 89 OR NOT 2=3 ?X.OR.Y ?NOT (X5) AND X=4 (已知X=4) ?.NOT.X *各种运算优先级: 由高到底的顺序为 算术运算,字符运算, 关系运算, 逻辑运算 所有同一级的运算符都是从左至右,括号的优先级最高二、Foxpro表达式的类型共有五种表达式就是用运算符将常量、变量、函数,按一定的规则连接起来的式子。例:(10+5)*3/(8)(算术表达式) “姓名:”+“李大中” (字符表达式) “ABC”= =“ABCD” (关系表达式) 23 .AND. 35(逻辑表达式)99-12-2499-12-21(日期型表达式) 练习:(一)写出满足以下条件的FOXPRO对应的表达式(1) 工资高于400元且低于100元(2) 职称是“工程师”或者是“技师”(3) 工龄大于20年,职称为“工程师”的未婚女职工(4) X大于100或者小于0(5) 50y800(6) “姓名”字段中姓王的或姓汪的(二)判断下列数据哪些是变量?哪些是常量?是什么类型的常量?工资 “工程师” “ABC” Y .Y. “87/02/11” L N 56.8 “6075”(三)表达式的混合运算 例1 ?25AB.AND .NOT.A$ABC 例2: 3523+2*6 .OR. XY+ZXY .AND. 9 $1234 例3: A=100 , B=200, C=.T. , D=CTOD(96/11/05) , 则A+&B300 .OR. C .AND. DCTOD(96/05/15) 的值为_。MAX(A,&B)+LEN(B)-VAL(DTOC(D) 的值为_。 MOD(&B,A+SQRT(A)-LEN(STR(ROUND(5.6789,3)+MIN(A,&B,A-&B)的值为_。 (5) 常用函数函数的定义:表面看,函数就是一些专门的符号,这些符号称为“函数名称”,紧跟在函数后面的是一对圆括号,括号内写着函数的参数。但本质上说,每个函数都代表着一个特定的运算处理的操作过程,也就是说根据参数经过运算处理后,得到一个确定的结果,参数与结果这二者之间的关系类似于数学中的变量与因变量之间的函数关系,所以,就使用了“函数”这个术语。(一) 数学函数(二) 转换函数(三) 测试函数(四) 日期和时间函数(五) 字符操作函数(一)数学函数1 、取整函数INT( ) 格式: INT (数值表达式 ) 功能:截去小数部分,返回数值表达式的整数部分(不进行四舍五入) 例: ?INT(2*3.4) ?INT(-4.2) _ _ 2 、四舍五入函数ROUND( )格式:ROUND(,N)说明: 进行四舍五入 N为正, 对小数部分第N+1位进行四舍五入 N为负,对整数部分第|N|位进行四舍五入(四舍五入到小数点前的整数位) N=0 对小数部分进行四舍五入例: X=45.2565 ?ROUN(55.2565,2) ?ROUND(X,3) _ _ ?ROUN(55.2565,-1) ?ROUND(X,0) _ _ ?ROUN(55.2565,-2) ?ROUN(X,-2) _ _ ?ROUN(X,-1) _3 、平方根函数SQRT( )格式:SQRT()说明: 小数部分保留两位,返回数值表达式的平方根。例 ?SQRT(16) ??SQRT(2) _ _4 、求模函数MOD( )格式:MOD(X1,X2)功能:求X1除以X2所得余数 模的正负号与X2相同 X1与X2同号,直接求余 X1与X2异号,|模|=|X2|-|余数|(其中余数为直接求余所得) 例 ?MOD(23,7) _ ?MOD(-23,-7) _ ?MOD(-23,7) _ 5 、最大值函数MAX( )格式:MAX(X1,X2)说明:X1,X2为数值表达式例: ?MAX(1*2 ,3-2) _ ?MIN(2,-7) _ X=4 Y=5 ?MAX(X,Y) _ 6 、最小值函数MIN( )格式:MIN(X1,X2)说明: X1,X2为数值表达式例: ?MIN(78,-5) _7、绝对值函数函数格式:ABS()例:?ABS(-4) 4(二)转换函数(1)字符型和数值型转换函数字符型转换为数值型函数VAL( )格式: VAL()功能:将数字字符表达式转换为数值型数据说明: 按默认值,自动四舍五入到小数点后两位。数字字符表达式中数字后面有其它字符,仅转换前面的数字部分。如果表达式中没有数字,则返回值为零首字符不是数字,则返回值为0例: ?VAL(12.345) ?VAL(12AB) _ _ ?VAL(12) ?VAL(AB12) _ _ ?VAL(12 AB) ?VAL( 12) _ _ XX=12 34 ?VAL(AB) ?VAL(XX) _ _ 数值型转换为字符型函数STR( )格式:STR(, 长度L, 小数位数)功能:将数值表达式的值转换为数字字符串说明: 长度L决定输出字符串的字符个数,包括小数点和小数部分小数位数,决定小数部分输出的位数若小数位省略时,四舍五入到整数位不指定长度和小数位数时,取固定长度10位,对小数部分进行四舍五入,四舍五入到整数位。宽度富裕时,左留空格 当整数部分宽度不够时,用*号表示出错例: XX=145.25 ?STR(XX,6,2) _ ?STR(XX,6,1) _ ?STR(XX,6) _ ?STR(XX) _ ?STR(XX,3) _ ?STR(XX,2) _ (2)日期型和字符型转换函数字符型转换为日期型函数 :CTOD()格式:CTOD()功能:将字符型表达式转换为日期型数据例1 Y=CTOD(86/10/25) ?Y ?Y+10 _ 日期型转换为字符型DTOC()格式:DTOC()功能:把日期型表达式转换为字符型数据例 设系统日期04-12-26 ?DTOC(DATE( ) (3)大小写转换函数 大写转换成为小写函数LOWER( ) 例:?LOWER(“BOOK”)格式:LOWER( ) book 小写转换成为大写函数UPPER( ) 例:?UPPER(“book”)格式:UPPER( ) BOOK(三)测试函数(1)字符串长度测试函数: LEN( )格式:LEN()功能:测试字符型表达式的长度(字符串中字符的个数)例: ?LEN(A B) _ ?LEN(“中国 ”“人民”) _ (2) 测试文件头(起始位置)函数: BOF( )格式:BOF(工作区号)说明:不指定工作区号,默认为当前工作区 记录指针向上移过第一条记录时,函数值为.T.,否则为.F.例1 USE ZGDA?BOF( )_ SKIP 1?BOF( )_ 例2 设库文件XSDA.DBF为一个空的库文件USE XSDA?EOF( )_?BOF( )_ (3) 测试文件尾函数EOF( )格式: EOF(工作区号 )功能:测试指定工作区中被打开的库记录的指针是否指向文件的结束说明: 不指定工作区号,默认为当前工作区 记录指针向下移过最后一条记录时,函数值为.T.,否则为.F.例 USE ZGDA (设共6条记录)?EOF( )_ 6?EOF( )_ LIST?EOF( )_(4) 当前记录号测试函数 RECNO( )格式: RECNO(工作区号)说明: 不指定工作区号,默认为当前工作区 函数值为当前记录号例1 USE ZGDA (设共6条记录)?RECNO( )_ LIST .?RECNO( )_ 1SKIP 2?BOF( )_ ?RECNO( )_ 例2 USE XSDADELE FOR 性别=女PACK?RECN( )_ ?EOF( )_ ?BOF( )_ *当前记录号为1时,BOF( )的值不一定为.T. 当前记录号为(最大记录数+1)时,EOF( )的值一定为.T.(4)测试数据类型函数TYPE( )格式:TYPE(“”)功能:测试表达式的数据类型。例:AA= “AB ” ?TYPE(“ 54 ”)BB=123 L?TYPE(“AA“) C(四) 日期和时间函数(1)时间函数: TIME( )格式:TIME( )功能: 以时时:分分:秒秒形式给出系统当前时间.例:? TIME( ) (2)日期函数: DATE( )格式: DATE( )功能:以年年月月日日的形式显示系统日期例 ?DATE( )_ (3)求年函数:YEAR( )格式: YEAR()功能: 从日期表达式中求出4位的年份值例 DATE=CTOD(89/01/01) ?YEAR(DATE) _ ?YEAR(DATE) _ ?YEAR(DATE)+2 _ ?YEAR(CTOD(88/03/10/) _ (4)月函数MONTH( )格式:MONTH( ) 功能:从日期型表达式中求出月的数值例:?MONTH(DATE( ) ) (5)求日函数DAY ()格式:DAY() (五) 字符操作函数(1) 求子串函数SUBSTR( ) 格式: SUBSTR(, ) 功能:从字符表达式中的第m个字符开始,截取n个字符得到一个新的字符串 说明:起始位置大于整个字符串长度,返回空串 缺省,则截取到最后一个字符 例: STRING=计算中心 ?SUBSTR(STRING,5,4) _ ?SUBS(STRING,5) _ ?SUBS(STRING,9) _ ?SUBS(STRING,5,6) _ (2)求左子串函数 函数格式:LEFT(, n) (其中n为数值型表达式)功能:从左边第一个字符开始向右截取n个字符得到一个新的字符串.例: ? LEFT(“零一二三四五”, 8) 零一二三 (3) 求右子串函数 函数格式:RIGHT(, n) (其中n为数值型表达式)功能:从右边第一个字符开始向左截取n个字符得到一个新的字符串.例: ? LEFT(“零一二三四五”, 8) 二三四五 (4) 字符串搜索函数函数格式: AT ( , )功能:该函数求字符型表达式1在字符型表达式2中的起始位置值,若表达式2中不包含表达式1,则系统返回零。例:S=“THIS IS A STRING”?AT(“IS”, S ) 3(5) 宏代换函数:& 格式: & 功能: 取”字符型变量”的值,去掉字符串的定界符。例1 A=45B=12+&A?B_ (6) 条件函数IIF( )格式: IIF(,)说明: 若为真,函数返回的值,否则返回的 值.例1 N=10 ?IIF(N9 ,3+4, 3-4) _ (五)Visual Foxpro6.0基本文件类型.dbc 数据库文件.DBF 数据表文件 .FPT 备注文件.IDX 索引文件.PRG 程序文件* 字母AZ专用于126工作区别名,不能用作库文件名 例 A1.DBF LX.DBF AB.DBF (正确) A.DBF B.DBF J.DBF (错误)第二部分 FoxPro 基本操作命令一 、数据库的三个要素: 库名(文件名)、 库结构、(各字段) 记录二、命令的一般格式:格式:命令动词 范围 FOR条件表达式 FIELDS字段名列表FoxPro的命令结构通常由两部分组成。第一部分是命令动词,它的词义指明了该命令要实现的某种功能。第二部分包含有几个跟随在命令动词后面的选择项(或称为动词短语),这些选择通常用来对所要执行的命令进行某些限制性的说明(1) 符号约定: 为可选项, 为必选项。在书写命令中,则不要带符号。( / 代表二个命令动词选一个) 范围 指对库文件进行一定范围的筛选操作,表示方法有四种: ALL : 对库文件的所有记录进行操作。 RECORD N :仅对第n个记录进行操作 NEXT N :仅对当前记录开始的n个记录进行操作 REST :对当前记录开始到最后一个记录为止的所有记录进行操作 FOR条件表达式 仅对满足条件的记录进行操作,使用FOR语句 而没指定范围时,范围默认值为ALL。(横向挑选) FIELDS字段名列表 指定被操作的字段名列表清单,各字段名之间用“,”分隔,若省略此项,等价于库的全部字段。(纵向投影)一行只能写一条命令,每条命令的结束标志是回车命令格式中,总是以命令动词开始,其他各短语的顺序可以按任意的次序排放 但必须符合命令格式的规定。一条命令的最大长度为2048个字符(每个空格算一个字符)命令中的字符大小写可以混合使用命令动词和命令词可以用其前四个字母表示用空格来分隔每条命令中的各个选择项,但应注意.T.或.F.两个逻辑值中的小圆点和字母之间不容许有空格。三、基本操作命令1、 建立新的数据库的命令:CREATE 命令格式:CREATE 功能:建立数据库文件例如:按以下表格建立一个职工档案库(先要构思数据库的结构)职工编号姓名性别婚否出生年月职称部门基本工资奖金简历1201王伟男.T.10/01/78中级化学组892.323001202李楠女.N.02/23/85初级数学组781.122001203张杨男.T.12/28/79高级数学组1456.235001204李玉平女.N.11/24/82初级化学组500232001205曹毅男.T.07/09/75高级语文组149625001206郑松男.T.08/29/74高级语文组123675001207胡小明男.N.11/03/81中级化学组789253001208杨阳女.N.12/06/80初级数学组498122001209高红女.N.04/30/83初级体育组541232001210李欣女.T.08/21/70高级体育组16232500 CREATE ZGDA(然后依次输入库结构(9个字段的字段名、字段的类型、字段的宽度、小数点的宽度)和记录. *全屏幕编辑状态下的常用功能键: W 或END 存盘返回圆点提示符 Q 或ESC 不存盘返回圆点提示符 PgDn 进入备注型字段内容的编辑 PgUp 退出备注型字段内容的编辑2 、打开与关闭数据库的命令:USE 格式: USE 库文件名 功能: USE 库文件名 (打开库文件) USE (关闭当前库文件) 作用:打开或关闭一个库文件 说明: 库文件在使用前,必须先打开,才能从磁盘调入内存,以备使用;而当一个库文件暂时不用时,应将其关闭,以释放内存。打开指定的库文件,其相应的备注文件同时打开。用此命令一次只能打开一个库文件。打开一个库文件的同时,也关闭了先前打开的库文件。用use命令打开一个库文件时,记录指针指向第一个记录例 USE LX1 USE LX2 USE3 、修改库结构MODIFY STRUCTURE格式: MODIFY STRUCTURE例 将编号(N,4)改为编号(C,4) USE ZGDA MODI STRU5、 显示库结构LIST STRUCTURE(或)DISPLAY STRUCTURE 格式: LIST STRUCTURE(或) DISPLAY STRUCTURE 说明: LIST STRU 滚动显示 DISP STRU 分屏显示例:USE ZGDA LIST STRU(二)记录的输出与定位1、 数据库记录的输出(显示)LIST/DISPLAY格式: LIST/DISPLAY 范围 FOR条件 FIELDS字段名表 OFF TO PRINT功能:显示当前数据库的指定范围内满足条件的记录说明: (1) LIST 滚动显示,范围缺省为ALL DISPLAY 分页显示,范围缺省且无FOR条件,为当前记录 (2) 表达式表指定显示的字段内容,缺省则显示所有字段内容 (3) OFF有此参数,不显示记录号;否则显示记录号 (4) TO PRINT有此参数,同时在打印机上输出 (5) 显示备注字段内容,需具体指定字段名例1 USE ZGDALIST2DISPDISP ALL例2 显示所有出生年月在75年1月1日以前的男职工USE ZGDALIST FOR 性别=男 .AND. 出生年月CTOD(1975/01/01)例3 显示所有已婚女职工USE ZGDALIST FOR 性别=女 .AND. 婚否例4 显示所有职称为高级的未婚女职工USE ZGDALIST FOR .NOT. 婚否 .AND. 职称=高级 AND 性别=“女” 例5 LIST LIST FIELDS 姓名,简历 2、 指针的定位命令(1) 绝对定位(2) 相对定位(1) 绝对定位: 格式: GO N RECORD N 指向第N个记录 TOP 指向第1个记录 BOTTOM 指向最后一个记录(2) 相对定位格式:SKIP 数值表达式 说明: 数值表达式的值为正数时,指针向下(即记录号增大的方向)移动,负数则 指针向上移动(即记录号减少的方向) 例 假设库文件zgda.dbf共有10条记录 USE ZGDA GO TOP ?RECNO( ) ?RECNO( ) ._ _ GO BOTT GO 6 _ SKIP -2 ?RECNO( ) ?REC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论