南京师范大学 vfp 教学计划

105
南南南南南南 vfp 南南南南 2006 南 10 南南南南 南南南南 :025-81615319

Upload: cosima

Post on 14-Jan-2016

106 views

Category:

Documents


0 download

DESCRIPTION

南京师范大学 vfp 教学计划. 2006 年 10 月份考试 联系电话 :025-81615319. 历年考试分数分析. 笔试占 60 分 , 其中信息技术知识占 20 分 笔试考试时间 :120 分钟 上机占 40 分 :70 分钟. 笔试历年考试占分分析. 第一章 :2—4 分 (1---2 小题 ) 第二章 :6---8 分 (3—4 小题 ) 第三章 :4---6 分 (2---3 小题 ) 第四章 :10—12 分 (5—6 小题 ) 第五章 :12---14 分 (6---7 小题 ) 第六章 :0----4 分 (0---2 小题 ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 南京师范大学 vfp 教学计划

南京师范大学 vfp 教学计划

2006 年 10 月份考试联系电话 :025-81615319

Page 2: 南京师范大学 vfp 教学计划

历年考试分数分析• 笔试占 60 分 , 其中信息技术知识占 20 分• 笔试考试时间 :120 分钟• 上机占 40 分 :70 分钟

Page 3: 南京师范大学 vfp 教学计划

笔试历年考试占分分析• 第一章 :2—4 分 (1---2 小题 )• 第二章 :6---8 分 (3—4 小题 )• 第三章 :4---6 分 (2---3 小题 )• 第四章 :10—12 分 (5—6 小题 )• 第五章 :12---14 分 (6---7 小题 )• 第六章 :0----4 分 (0---2 小题 )• 第七章 :6---8 分 (3---4 小题 )• 第八章 :2---6 分 (1---3 小题 )• 第九章 :2—4 分 (1—2 小题 )• 第十章 :0---2 分 (0—1 小题 )• 第十一章 :2---4 分 (1----2 小题 )

Page 4: 南京师范大学 vfp 教学计划

上机占分分析• 第四章 : 项目 , 数据库和表操作 12 分• 第五章 : 查询占 8 分• 第七章 : 设计表单占 10 分• 第十一章 : 菜单占 5 分• 程序改错 :5 分

Page 5: 南京师范大学 vfp 教学计划

2006 年春 vfp 通过率• 报考人数 :43704

• 通过人数 :10996

• 实际通过率 :25.16%

• 缺考人数 :14730

• 缺考率 :33.7%

Page 6: 南京师范大学 vfp 教学计划

第一章 :vfp 概述• 考点 :• ( 1 )掌握人工管理阶段、文件系统阶段、数据库系统阶段的区别• (2) 掌握关系数据库的基础知识• 掌握数据库 , 数据库管理系统 , 数据库系统 , 以及数据库管理员的概念• 例题 :1 。数据库系统由数据库、( )组成( 2002 秋试题 )• 2. 数据库系统与文件系统的最主要区别是 ()(2006 年春)• A.数据库系统复杂,而文件系统简单 • B.文件系统只能管理程序文件,而数据库系统能够管理各种

类型的文件 • C.文件系统管理的数据量较小,而数据库系统可以管理庞大

的数据量 • D.文件系统不能解决数据冗余和数据独立性问题,而数据库

系统可以解决

Page 7: 南京师范大学 vfp 教学计划

• 了解信息的三个领域,了解数据模型(概念模型与数据模型)• E-R 图是 E-R 模型的图形表示法 , 它是表示概念模型的有力工具 , 在 E-R 图

中 , 实体之间的关系用 ( ) 表示 (2005 年春 )• 在关系模型中 , 同一个关系中的不同属性 , 其属性名 ()(2002 年秋 )• A 可以相同 B 不能相同 C 可以相同 , 但数据类型不同 D 必须相同• 在关系模型中,利用关系运算对两个关系进行操作,得到的结果是:

__________ 。• A. 属性 B. 关系 C. 元组 D. 关系模式• 概念模型是按用户的观点对数据建模 , 它岁对现实世界的第一层抽象 , 下列个

项中属于概念模型的是 ()(2004 年秋 )• A 物理模型 B 关系模型 C E-R 模型 D 逻辑模型• 熟知 vfp 的常用命令,常用的 set 命令• 利用 set data 命令可以设置日期的显示格式 , 如果要将日期显示为” 2002 年

10 月 1 日”的形式 , 可以利用命令 ()(2002 年秋 )• A set date to mdy B set date to Ansi C set date to ymd D set date long• 项目管理器的应用

Page 8: 南京师范大学 vfp 教学计划

• 在连编一个项目之前,需要在项目管理器中指定一个文件。下列类型的文件中,不可以指定为主文件的是 ___A____ 。

• A. 数据库文件 B. 查询文件 C. 程序文件 D. 表单文件• 在下面关于数据库技术的说法中,不正确的是 ______ 。• A. 数据的完整性是指数据的正确性和一致性 B. 防止非法用户对数据的存取,

称为数据库的安全性防护 C. 采用数据库技术处理数据,数据冗余应安全消失D. 不同用户可以使用同一数据库,称为数据共享

• 二维表中能唯一确定记录的一列或多列的组合称为超关键字。若一个超关键字去掉其中任何一个列后不再能唯一确定记录,则称其为 _________ 。

• 在“项目管理器”窗口中,用户可以选择一个程序、 _____________ 、查

询或菜单,将其设置为主程序。 (2005 春 )

Page 9: 南京师范大学 vfp 教学计划

• 关系模型以关系代数理论为基础,并形成了一整套的关系数据库理论——规范化理论.关系规范的条件可以分为多级,每一级称为一个范式,记作 n NF( n 表示范式的级别).在实际应用的过程中(设计关系模式时),一般要求满足 ( 1 ) . (2006 春 )

Page 10: 南京师范大学 vfp 教学计划

第二章: vfp语言基础• ( 1 ) vfp 的数据类型:• Vfp 中的数据类型共有十三中,分别是字符型,货币型,日期型,日期时间型,数值型,

逻辑型,浮点型,双精度型,整型,备注型,通用型• 其中:浮点型,双精度型,整型,备注型,通用型只适用于表的字段• 表的备注型字段和通用型字段的字段宽度是固定值,它们分别为 (2002 秋 ) • 关于表的备注型字段与通用型字段,以下叙述中错误的是 ____(2003 秋 )  A 字段宽度都不能由用户设定  B 都能存储文字和图象数据  C 字段宽度都是 4  D 存储的内容都保存在与表文件名相同的 .FTP 文件中

• 备注型字段会产生一个 .fpt 的文件• ( 2 ) vfp 命名规则:• ( 3 )常量:字符型常量,数值型常量、货币型常量(须加 $), 逻辑型常量( .T.,.Y.,.

F.,.N.),• 日期与日期时间型常量 {}• 传统的日期格式,严格的日期格式,• 使用命令 set strictdata

Page 11: 南京师范大学 vfp 教学计划

Vfp 基础知识• Vfp 中的内存变量:• 创建方法:使用赋值运算符“ =” 与 store 命令• 变量的作用域: Local,Private 和 Public

• 与字段重名的内存变量的访问: m.

• 内存变量的保存与恢复: Save To ,Restore From

• 数组的定义与赋值:使用数组前必须先定义,且只能为一维与二维数组• Declare,Dimension,public,Local

• 数值运算符: +,-,*,/ , ** , ^,%

• 字符运算符:字符运算符用于把两个字符量连接起来, +符号是连接, -符号也是连接,是把左边的字符量的尾部的所有空格都移到结果字符串的末尾,$ 的作用是查看左边的字符串是否包含在右边的字符串中

• 日期和日期时间运算:该类运算符只有” +”,”-”, 日期与日期时间型数据不可以在一起运算

Page 12: 南京师范大学 vfp 教学计划

Vfp 基础知识• 关系运算符: >,<,=,<> # !=,<=,>=,==• 字符的大小比较:分为: Machine:空格,大写字母,小写字母,一级汉字,二级汉字

• PinYin (默认 , 通过 Set Collate 设定):西文:按 Ascii排列 , 由小到大:空格,小写,大写,

• 中文:按拼音顺序• Stroke :西文:按 Ascii排列 , 由小到大:空格,小写,大写• 中文:书写笔画多少• 字符串的精确比较 :Set Exact off,Set Exact On• 逻辑运算符的优先级 : (),Not 或 !,And ,Or• 常用的函数 :ABS(),Max(),Min(),Int(),Mod(),Round(),Sqrt(),Rand(),• Alltrim(),Trim(),Len(),At(),SubStr(),Right(),Left(),Space(),• Date(),DateTime(),Dow(),Day(),Month(),Year(),Time()• Asc(),Chr(),Val(),DToc(),CTod(),Str(),Iif(),

Page 13: 南京师范大学 vfp 教学计划

• . 执行下列程序段后,屏幕上显示的结果是: _____________(2002 年秋 )

• SET TALK OFF

• CLEAR

• X=“18”

• Y=“2E3”

• Z=“ABC”

• ? VAL ( X ) +VAL ( Y ) +VAL ( Z )• A. 2018.00B. 18.00C. 20.00D. 错误信息• 假设系统当前日期为“ 2002 年 10 月 12 日”,则表达式 DTOC ( DATE

(), 1 )的值为 _ (2002 秋 )

Page 14: 南京师范大学 vfp 教学计划

• 已知学生表 (XS.DBF) 第一条记录内容如下: XH 字段值为“ 990101” , XM的字段值为“李林”, XB 字段值为“男”, CSRQ 字段值为 {08/23/82} ,XIMING 字段值为“信息管理系”。设系统日期为 2002 年 10 月 12 日,则下列命令执行后, M 、 N 、 MN 的值分别为 _ 、 _ 、 _ 。 (2002 年秋 )

• USE XS• M=ALLTRIM ( XM ) +SPACE ( LEN ( XB )) +ALLTRIM ( XIMIN

G )• N=YEAR ( DATE ()) -YEAR ( CSRQ )• NJ=SUBSTRTR ( XH , 1 , 2 )• NN=YEAR ( DATE ()) -1900-VAL ( NJ )• MN=IIF ( MONTH ( DATE ()) >=9 , STR ( NN+1 , 2 ) +“ 年级”,

STR ( NN , 2 ) +“ 年级”)

Page 15: 南京师范大学 vfp 教学计划

• 下面程序段的功能是根据数值型变量 X 的取值范围不同,给变量 Y赋不同的值。该程序段中的多条命令可以简化为一条命令,这条命令是: Y=IIF ( X>0 , 1 , _ )。

• IF X>0• Y=1• ELSE• IF X= 0• Y=O• ELSE• Y=-1• ENDIF• ENDIF

Page 16: 南京师范大学 vfp 教学计划

• 以下表达式中不能返回字符串值“ FoxPro” 的是 ______(2003 秋 )     A “Fox” + “Pro”     B TRIM(“Fox ” – “Pro”)     C ALLTRIM (“Fox” + “Pro”)     D “Fox ” - “Pro   ”

• 在系统 Visual FoxPro 中,以下函数返回值不是数值型的是 ______(2003 秋 )     A. LEN(“Visual FoxPro”)     B. AT(“This”, “ThisForm”)     C. YEAR(DATE())     D. LEFT (“ThisForm”, 4)

Page 17: 南京师范大学 vfp 教学计划

• 下列程序的功能是统计字符串中包含多少个中文字符,多少个英文字符(设字符串中的所有字符均为 GB2312 字符集中的字符或 ASC II码字符)。从语法和语义上看,下列程序中存在 _________ 行错误语句 (2003 秋 )     cString=“ 在下列 Visual FoxPro 的基类中,无 Caption 属性的基类是哪几个?”     STORE 0 TO nCh ,nEn     DO WHILE (cString) # 0       c=LEFT(cString ,1)       IF ASC(c)<127         nEn=nEn+1         cString=SUBSTR(cString , 2)       ELSE          nCh=nCh+1         cString=SUBSTR(cString ,3)       ENDIF     ENDDO    WAIT WINDOWS“ 中西文字符个数分别为” +nCh+nEn    A .  1    B .  3    C .  2     D.   4

Page 18: 南京师范大学 vfp 教学计划

• 函数 MOD ( -42 , -3 )的返回值为 _________ (2003 年秋 )0

• 设 n=234,m=432,k=”m+n”, 表达式 1+&k 的值是 _______ 667

• Visual FoxPro 系统通过表间级,记录级, __________ 三级完整性约束,

有效实现数据的完整与一致性。 (2003 秋 )

字段级

Page 19: 南京师范大学 vfp 教学计划

• 完善下列“九九乘法”程序( P99. prg ),使得 P99.prg 程序运行时,屏幕上显示如下乘法表:           1: 1      2: 2 4      3: 3 6 9      4: 4 8 12 16      5: 5 10 15 20 25      6: 6 12 18 24 30 36      7: 7 14 21 28 35 42 49      8: 8 16 24 32 40 48 56 64      9: 9 18 27 36 45 54 63 72 81

   【“九九乘法”程序 P99.PRG 清单】

    SET TALK OFF     CLEAR      FOR m=1 TO 9       ? STR(m,2)+ ”:”       FOR n=________          ??________       ENDFOR     ENDFOR     RETURN

Page 20: 南京师范大学 vfp 教学计划

• 设 JS 表(教师表)的结构及 JS 表所包含的记录如下:           运行下列程序段后,显示的两行结果分别为: ____(12)_____,_____(13)_____ 。        USE js       m1=xm       m2=LEN(xb)        ? m1+SPACE(2)+IIF(hf,”已婚” ,”未婚” )       m3=0        SCAN          m3=m3+jbgz          SKIP        ENDSCAN        ? m3       m4=STR(RECCOUNT())

Page 21: 南京师范大学 vfp 教学计划

• 完善下列程序。使其实现计算数列 1!/2!,2!/3!,3!/4!,…… 的前 20 项之和的功能。 (2003 年秋 )        【程序清单】      nSum=0      FOR n=1 TO 20        NSum=____________      ENDFOR      FUNCTION jc        PARAMETER x        S=1        FOR m=1 ___________          s=s*m        ENDFOR        RETURN s

Page 22: 南京师范大学 vfp 教学计划

Vfp 基础知识• 宏替换 :&Varname, 可用内存变量来代替名称• 空值:没有任何值,以 null 或 .null.来表示• 在字段中用 Ctro+0输入空值• 三个常用的函数 :Empty(),IsBlank(),IsNull()

• 表达式中的 null 的行为:• 程序的设计、修改与运行: Modify Commnd

• 分支结构语句: If else endif Do case case EndCase

• 循环结构语句 :Do while … EndDo For …..EndFor Scan….EndScan

• 过程的定义:用户可以将经常执行的常用功能代码独立出来,创建一个过程或自定义函数,定义过程: Procedure, 定义函数 :Function,传递参数 :Parameters

• 调用和参数传递 ,默认用过程通过 value传递,用函数通过 reference传递 ,可以通过 Set UdfParms To Reference|value 改变

Page 23: 南京师范大学 vfp 教学计划

• 运行下面的程序段后,屏幕显示的运行结果是: _ 。• SET TALK OFF• STORE 4 TO N• ? S ( N )• FUNCTION S• PARAMETERS X• Y=1• P=0• FOR I=1 TO X• Y=Y*I• P=P+Y• ENDFOR• RETURN P• ENDFUNC

Page 24: 南京师范大学 vfp 教学计划

• 在 Visual FoxPro开发某应用程序时,如果自由表在应用程序运行过程中是只读的,且要求在项目连编后、在软件发布时可以删除该自由表文件,则在连编前必须在项目管理器窗口中将该自由表设置为(11)。 (2004 春 )       ?3^2+2=MOD(12,7)+LEN("FoxPro")

• 函数是程序设计语言中重要的语言成分.在下列 VFP 系统函数中,其返回值不为字符型数据的是( 26 ) (2006 春 )

• A. TYPE   B. DOW ()

• C. CHR () D. TTOC () •  

Page 25: 南京师范大学 vfp 教学计划

• 完善下列程序,以实现通过字符串变量操作竖向显示“天长地久”、横向显示“地久天长”的功能。程序清单如下:(2004 春 )       SET TALK OFF       STORE “天长地久” TO ch       CLEAR       n=1       DO WHILE n<8           ?______           n=n+2       ENDDO       ?__________       ??SUBSTR(ch , 1, 4 )       RETURN

Page 26: 南京师范大学 vfp 教学计划

• 阅读下列程序,并填写运行结果。 (2004 春 )

        CLEAR        x=”OK”        STORE “ 学习” TO y        ok=’努力’       ? &x+(y)            运行以上程序后,屏幕显示的结果时(18)。

Page 27: 南京师范大学 vfp 教学计划

• 某银行存款表 (ck.dbf) 的表结果如下所示: (2004 春 )      1 )创建 ck 表的表结构,可以使用下列命令:

        CREATE TABLE ck (zh C(15), crrq D, cq N(3,0), je (25) )      2 )为 ck 表增加下表所示的一条记录,可以使用下列命令:        INSERT (26) _ (‘10789324’,{^2004/03/12},12,10000)

Page 28: 南京师范大学 vfp 教学计划

• 运行以下程序后, VFP 主窗口显示的结果是 _____________ 。 (2005 春 )

•    【程序清单】     CLEAR     i=0     n=0     DO WHILE i<=10       IF MOD(i,2)=0         n=n+1       ENDIF       i=i+1     ENDDO     ?n

Page 29: 南京师范大学 vfp 教学计划

• 有如下程序代码:       DIMENSION xx[4]      ta=TYPE(" xx[1]" )      xx[1]=" VFP"      xx=1113      tb=TYPE(" xx[1]" )

• 则这段程序运行后,变量 ta 和 tb 的值分别是 _____________ 。 (2005春 )

Page 30: 南京师范大学 vfp 教学计划

• 下面有两段程序代码,它们的功能是(注:答“相同”或“不相同”)。 (2005 春 )•    【程序一清单】   nSum=0  p=1       FOR i=1 TO 10       p=p*i          nSum=nSum+p    ENDFOR   ?nSum         【程序二清单】         nSum=0         FOR i=1 to 10           nSum=nSum+fJC(i)         ENDFOR         ?nSum         FUNCTION fJC           PARAMETERS x           p=1           FOR n=1 TO x             p=P*n           ENDFOR           RETURN p         ENDFUNC   

Page 31: 南京师范大学 vfp 教学计划

• 下列自定义函数 NTOC ()的功能是:当传送一个 1~7 之间的数值型参数时,返回一个中文形式的“星期日 ~ 星期六”。例如,执行命令? NTO ( 4 ),显示“星期三”。 (2005 春 )              FUNCTION NTOC          PARAMETERS n          LOCAL ch          ch="日一二三四五六"         mch="星期" =SUBSTR(ch,_________,2)          RETURN mch        ENDFUNC

Page 32: 南京师范大学 vfp 教学计划

• 利用命令 DIMENSION x(2,3) 定义了一个名为X的数组后,依次执行三条赋值命令X (3)=10 ,X (5)=20,X=30 ,则数组元素 x(1,1),X(1,3),X(2,2) 的值分别是( 27 ) (2006 春 )

• A. 30,30,30  B. .F.,10,20

• C. 30,10,20  D. 0,10,20

• 某公司实现人性化管理,在每个员工生日的当日会赠送礼物.若其人事档案表中包含一个出生日期字段(字段名为 csrq ,类型为日期型),则根据“月日”(不包含“年份”)创建索引时,其索引表达式可以为 ( 3 ) ( DTOC ( csrq ,1),4). (2006 春 )

Page 33: 南京师范大学 vfp 教学计划

第三章:表的创建与使用• ( 1 )在 vfp 中,表分为:数据库表与自由表• ( 2 )表创建后,以 .dbf保存表文件,如果有备注型或通用字段,会自动产生 .fpt 的备注文件 , 用 Create Table创建表

• 创建一个表 user: name 字符型 (10), money1 货币型 ,age 数值型• (3)set null 命令用于控制表中是否允许空值• ( 4 )表结构的修改: Alter Table TableName Add|Alter|Drop|Rename

, 掌握添加 ,修改 ,删除字段的方法• (5) 工作区的概念 :选取工作区 :select(sele)• (6) 使用命令打开表 :use tablenames in |agin|Alias|Noupdate, 关闭 :Close Ta

bles,Close All 命令可以关闭所有的数据库 , 表和索引 , 工作区设置为 0• (5) 表的打开:独占: set Exclusive off Set Exclusive on• 增加一条新记录 :insert into tables(fieldname1,fieldname2) values(eExpressi

on1,eExpression2)• 备注型字段无内容显示” memo”, 有内容显示” Memo”, 通用型无内容” ge

n”, 有内容” Gen”

.

Page 34: 南京师范大学 vfp 教学计划

• 表的浏览 :Browse Fields 字段 , 字段• (6) 指针的定位: Bof(),Eof(),RecNo(),

• (7) 记录的定位: Skip Number :Goto(go) Number, Locate For

• Update,Replace 的用法• (8) 记录的删除 :首先标记要删除的记录 ,然后删除带删除标记的记录 , 理解 D

elete,恢复删除 Recall

• (9)彻底删除记录 :PACK

• (10) 对带有删除记录的访问 :Set Deleted On|off

• 数据的复制 :Copy to Filename , 数据的统计 :Count(),Sum(),Avg()

• (11)索引的类型:索引有四种类型:主,侯选、唯一、普通• ( 12 )索引的查找数据: seek

• (13)Select(),Used(),Allas(),Field(),Fcount(),Delete()

Page 35: 南京师范大学 vfp 教学计划

• 如果索引表达式是字符型表达式 ,则各个字段在索引表达式中的先后顺序影响索引的结果

• 如果索引表达式为数字型 ,则按照表达式的运算结果进行排序• 不同类型字段构成一个表达式 , 必须转换为同一类型• 索引文件的种类 :

• 结构复合索引文件 (.cdx), 非结构复合索引文件 , 独立索引文件• 指定主控索引 :Use xs Order xh

• 利用索引快速定位 :Seek, 如果找到记录 ,Recno()返回匹配记录的记录号• Delete()函数测试是否带有删除符号

Page 36: 南京师范大学 vfp 教学计划

• 设有自由表 XSB ,表的各个字段名均以英文字母开头。请完善下列程序,要求将 XSB 表的各个字段名的开头字母转换成 A 。 (2002 年秋 )

• CLOSE TABLES ALL• USE XSB• n=          _  _• FOR T=1 TO n• c=FIELD(T)• cc="A"+SUBSTRTR(C,2)•    _ TABLE XSB RENAME COLOUMN &c TO &cc• ENDFOR• CLOSE TABLES ALL• 用户在创建某个表的结构时,使用了通用型字段且为表创建了索引,则在保

存该表结构后,系统会在磁盘上生成 _____ 个文件。 (2003 春 )

• A.1B.2C.3D.4

Page 37: 南京师范大学 vfp 教学计划

• 创建索引时必须定义索引名。定义索引名时,下列叙述中不正确的是 ________ 。

• A.索引名只能包含字母、汉字、数字符号和下划线 B. 组成索引名的长度不受限制 C.索引名可以与字段名同名 D.索引名的第一个字符不可以为数字符号

• 对 xsb.dbf 表进行删除操作,下列四组命令中功能等价的是 ______(2003秋 )     1) DELETE ALL     2) DELETE ALL       PACK     3) ZAP     4) 把 xsb.dbf 文件拖放到回收站中     A. 1) 2) 3)    B .3) 4)   C. 2) 3)   D. 2) 3) 4)

Page 38: 南京师范大学 vfp 教学计划

• 已知学生表( XSB.DBF )中的数据如下:• 记录号学号姓名性别出生日期系名代号 1000104王凯男 09/02/82022000101李兵男 04/09/83023000103刘华女 10/06/82 024000102陈刚男 12/09/82025000106胡媛媛女 09/08/82026000105张一兵男 02/06/8302则依次执行下列命令后,屏幕上显示的结果是 ____ 。

• USE XSB• SET ORDER TO XSXH &&XSXH索引标志已建,它是根据学号字段创建的升序索引

• GO TOP• SKIP• ? RECNO ()• GO BOTTOM • ? RECNO ()

Page 39: 南京师范大学 vfp 教学计划

• 利用索引可以提高数据的处理速度,且可以用来强制表记录的唯一性。在下列有关表索引的叙述中,错误的是 _____ 。 (2003 秋 )     A 结构复合索引文件的扩展名为 .cdx , 而非结构复合索引文件的扩展名为 .idx      B 自由表可以创建候选索引,但不能创建主索引     C 数据库表仅可以创建一个主索引,但可以创建多个候选索引     D 任何一个表均可以创建多个普通索引和多个唯一索引

Page 40: 南京师范大学 vfp 教学计划

• 在 Visual FoxPro 系统中,工作区是指用于标识一张打开表的区域。打开一张表前。必须为该表指定一个工作区。选择未被使用的最小编号的工作区,可以使用命令 __________(2003 秋 )

• 某银行存款表 (ck.dbf) 的表结果如下所示 (2004 春 )

      1 )创建 ck 表的表结构,可以使用下列命令:        CREATE TABLE ck (zh C(15), crrq D, cq N(3,0), je (25) )      2 )为 ck 表增加下表所示的一条记录,可以使用下列命令:        INSERT (26) _ (‘10789324’,{^2004/03/12},12,10000)

Page 41: 南京师范大学 vfp 教学计划

• 有如下一段程序: •     CLOSE TABLES ALL   USE XS   SELE 3   USE JS   USE KC IN 0   BROW

• 上述程序执行后,浏览窗口中显示的表及当前工作区号分别是 _____________ 。 (2005 春 )

•    A. KC 、 2    B. KC 、 3    C. JS 、 3    D. JS 、 2

Page 42: 南京师范大学 vfp 教学计划

• 若要将当前工作区中打开的表文件 GZB.DBF 复制到 GZB1.DBF 文件,则可以使用命令 _____________ 。 (2005 春 )

•    A. COPY GZB.DBF GZB1.DBF        B. COPY TO GZB1 REST    C. COPY TO GZB1 STRU D. COPY TO GZB1

Page 43: 南京师范大学 vfp 教学计划

• 已知成绩( CJ )表中含学号( xh )、课程代号( kcdh )和成绩( cj )字段,成绩表中存有记录数据如表 2 所示。      

• 表2成绩表的记录数据  (2005 春 )                  

• 运行下列程序字段以后,变量 m 、 n 的值分别为 _____________ 。     【程序清单】      SELECT * FROM cj;        WHERE cj.cj<60;         INTO TABLE cj_tmp      m=EOF()       n=RECCOUNT()

Page 44: 南京师范大学 vfp 教学计划

• 某城市机动车驾驶员登记表( JDCJS )中含有驾驶证号( jzh )等字段。但由于录入人员的差错,包含了一些重复的记录( jzh 字段的值有重复),影响了统计结果。完善下列程序,使其可以物理删除该表中的重复数据。 (2005 春 )       【程序清单】         USE JDCJS         INDEX ON jzh TAG jzh && 相同的驾驶证号记录将相邻排列         GO TOP         last_jzh=jzh         SKIP         DO WHILE !EOF()           IF jzh=last_jzh             DELETE           ELSE             _____________           ENDIF           SKIP         ENDDO         PACK

Page 45: 南京师范大学 vfp 教学计划

• 表( table )是存储数据的容器.在下列有关 VFP 表的叙述中,错误的是( 22 ) (2006 年春 )

• A.系统默认的表文件扩展名为. dbf

• B.利用表设计器创建表结构时,系统默认的字符型字段宽度为 10

• C.自由表的索引功能与数据库表有区别 • D.表文件名在命名时只要遵循操作系统的规定 ,VFP 本身无任何新的限

Page 46: 南京师范大学 vfp 教学计划

• 在下列有关 VFP 表索引的叙述中,错误的是( 24 ) (2006 春 )• A.通过创建表的索引,不仅可以对记录数据进行排序,而且可以

实现记录的筛选 • B.对于数据库表来说,可以创建 VFP 系统支持的所有类型的索引

• C.在表打开时,系统会自动地将默认的第一个索引作为主控索引 • D.表的唯一索引并不能控制字段数据输入时的重复 • 在 VFP 中,关闭所有的文件并结束当前 VFP 系统运行的命令是 ( 2

) . (2006 春 ) • 利用 COPY 命令可以将当前工作区中的表复制成 Microsoft Excel

文件.若当前工作区中已打开XS表,则用命令 COPY TO xyz  ( 4 ) ,可以将 XS 表复制成 Excel 文件 xyz.xls. (2006 春 )

Page 47: 南京师范大学 vfp 教学计划

• 使用 USE 命令可以打开或关闭表.如果XS表已在第1号工作区中打开,则要在第 10号工作区中再次打开XS表,可使用命令 USE xs ( _5_ ) IN 10 .

• (2006 春 ) 指定 Visual FoxPro 系统是否处理标有删除标记的记录,以及其他命令是否可以

操作它们,常使用下列命令: SET    _ ON ,在程序中将变量 cYear 定义为全局变量,可以使用下列命令: _ cYear(2002 年秋 )

• Delete ,Delete-sql ,恢复带删除标记的记录 :Recall,Recall All,Recall All For

Page 48: 南京师范大学 vfp 教学计划

第四章 : 数据库的创建与使用• (1)每创建一个数据库都将生成三个文件 , 数据库文件、关

联的数据库备注文件、和关联的数据库索引文件 Create DataBase,包括数据库表 ,视图 , 连接 , 存储进程

• ( 2 )数据库的打开命令 :Open DataBase• (3) 设置当前数据库 :set database to [databasename]• (4)检查数据库的有效性 :Validate Database [recover]• (5) 关闭数据库 :Close database• 设在当前工作区中已打开一个数据库表。下列命令中,不

能将该数据库表关闭的命令是: ___________(2002 年秋 )

• A.CLOSE ALLB.CLOSE DATABASE ALLC.USE IN 0D.CLOSE TABLES

• 数据字典 :

Page 49: 南京师范大学 vfp 教学计划

• (6) 通过命令创建数据库表 : Create Table xsb Name 学生表 2 (xh c(8),xb c(2)),Create Table xsb Free (xh c(8)) 是创建自由表

• (7) 字段显示属性 : 字段格式 :A T ! $,输入掩码 :X 9 # $ * 字段验证 : 默认值

• (8) 数据库表的表属性 : 记录验证 : 设置验证 set check, 取消验证 :drop check

• (9) 表的触发器 :插入触发器 ,更新触发器 ,删除触发器 ,创建触发器 :Create Trigger

• .触发器是绑定在表上的表达式,当表中的记录被指定的操作命令修改时,触发器被激活。 Visual FoxPro提供的触发器不包括 __________(2002 年秋 )

• A.删除触发器 B.级联触发器 C.更新触发器 D.插入触发器• (10)添加数据库表 :add table tablename 删除数据库 :drop table tabl

ename [delete]• (11) 成为自由表 : Free Table TableName• 在同时使用多个数据库时 , 可以使用 Use jxsj!xs

Page 50: 南京师范大学 vfp 教学计划

• 数据库是一种数据容器。从项目管理器窗口看,数据库可以包含的子项有:

表、本地视图、 _   、连接和存储过程 (2002 年秋 ) • 数据库表和数据库之间的相关性是通过表文件和库文件之间的双向链接实现的。双向链接包括前链和后链。其中,前链是保存在数据库文件中的有关表文件的路径和文件名信息,后链是保存在表头中的拥有该表的数据库文件的路径和库文件名信息。假设 JS 表所从属的数据库文件被意外删除,则可以使用 _ TABLE JS 命令删除存储在 JS表中的后链 (2002 年秋 )

Page 51: 南京师范大学 vfp 教学计划

• (12)打开或说明非当前数据库中的表 :User jsxj!js

• (13)永久关系与参照完整性 : 一对一 , 一对多 , 多对多• (14) 数据库间的永久关系是根据表的索引建立的• (15)参照完整性 :更新规则 ,删除规则 ,插入规则• 参照完整性主要是控制相关表的主关键字和外部关键字• Vfp引进了关系型数据库的三类完整性 : 实体完整性 ,参照完整性 , 用户自定义完整性

Page 52: 南京师范大学 vfp 教学计划

• .参照完整性是用来控制数据的一致性。在 Visual FoxPro系统中,系统提供的参照完整性机制不能实现的是: ________ 。 (2002 年秋 )

• A. 设置“更新级联”:更新主表主关键字段的值,用新的关键字值更新子表中所有相关记录。 B. 设置“删除级联”:主表可以任意的删除记录,同时删除子表中所有相关记录。 C. 设置“删除限制”:若子表中有相关记录,则主表禁止删除记录。 D. 设置“插入级联”:主表插入新的记录后,在子表自动插入相应的记录。

• 设数据库 SJK.DBC 中的表 XS.DBF已设置了主索引、字段的默认值。如果将 XS.DBF移出 SJK.DBC ,则主索引转换为 _ ,字段的默认值变成无效 (2002 秋 )

Page 53: 南京师范大学 vfp 教学计划

• 用表设计器创建一个自由表时,不能实现的操作是 ___D____ 。 (2003 年春 )

• A. 设置某字段可以接受 NULL值 B. 设置表中某字段的类型为通用型 C. 设置表的索引 D. 设置表中某字段的默认值

• 向数据库中添加表是把自由表添加到数据库中,使之成为数据库表。这一操作的本质是建立了库与表之间的 _______ (2003 年春 )

• 在 Visual FoxPro 系统中,对于数据库表来说,有多种手段控制数据的有效性。在下列的叙说中,错误的是 ______(2003 年秋 )     A 通过设置字段的格式( Format )属性,可以使输入字段的英文字符自动大写     B 字段的有效性规则可以为一个用户自定义函数     C 记录的有效性规则可以用来控制同一条记录中多个字段之间的关系     D 在数据库表之间创建永久性关系并设置参照完整性规则,可使两个表之间的记录一一对应

Page 54: 南京师范大学 vfp 教学计划

• 数据库是一个容器,是许多相关的数据库表及其关系的集合。数据库通常包括两部分,一是按一定的数据模型组织并实际存储的所有应用需要的数据,二是存放在数据字典中的各种描述信息。这些描述信息是有关数据的“数据”,称为“ _______ (2003 秋 )

• 设 sjk1.dbc,sjk2.dbc,sjk3.dbc,sjk4.dbc 和 sjk5.dbc 分别是存放在当前工作路径中的五个数据库文件名,用户可以使用 OPEN DATEBASE 命令打开数据库。在 Visual FoxPro 系统的命令窗口中,依次执行下列命令后,则被打开的数据库文件个数 _______ 有个 (2003 秋 )        CLOSE DATEBASE ALL        OPEN DATEBASE sjk1        OPEN DATEBASE sjk2        OPEN DATEBASE sjk3        OPEN DATEBASE sjk4        OPEN DATEBASE sjk5

Page 55: 南京师范大学 vfp 教学计划

• 下列两段程序是基于 xs.dbf 表的记录浏览及数据统计程序(表中已有若干个记录),分别运行两段程序, mSum 与 nSum 输出结果是否相同: ______ (回答“相同”或“不同”)   

•      【程序 1清单】      SET TALK OFF      USE   xs     mSum=0      DO WHILE NOT EOF()        ? xh,xm       mSum=mSum+1        SKIP      ENDDO      USE      ? mSum      【程序 2清单】      SET TALK OFF      USE xs     mSum=0      SCAN        ?xh,xm        nSum=nSum+1        SKIP      ENDSCAN      USE      ? nSum

Page 56: 南京师范大学 vfp 教学计划

• 设有一个会议代表签到信息的表文件 bd.dbf , 包括 xh( 序号 ) , xm (姓名), dw (单位)等字段,如果每个单位可以有多个代表参加,则可以利用命令; (2003 秋 )      SELECT __________ dw FROM bd INTO TABLE dwb生成一个仅含有单位字段且记录值不重复的表文件 dbf.dbf 。如果要统计各单位参加会议的人数并根据人数由多到少排序,则可以利用命令:       SELECT dw AS 单位 , ___________ AS 人数;           FROM bd;           GROUP BY __________;           ORDER BY 2 DESC

Page 57: 南京师范大学 vfp 教学计划

• 在利用“参照完整性生成器”对话框设置参照完整性规则时,系统自动地生成完成该规则的程序代码。规则的代码被保存在数据库中,而规则的实施由主表和子表的 _______ 完成。 (2003 秋 )

• 在删除某个数据库文件时,原数据库中包含的表仍然保留对该数据库引用的后链,而且这些表不能被添加到其他的数据库中。如果要使这些表能被添加到其他数据库中,需要从表中删除后链。删除表后链的命令是(28) (2004 春 )

• 完善下面的命令,实现向 xs 表中追加一条新的记录。 •     INSERT INTO xs (xh,xm,xb,ximing) _____________ (‘950101’ ,‘ 李

林’ ,‘’) (2005 春 )

Page 58: 南京师范大学 vfp 教学计划

• 数据库( database )是许多相关的数据库表及其关系等对象的集合.在下列有关 VFP 数据库的叙述中,错误的是( 23 ) (2006 年春 )

• A.可用命令新建数据库 • B.从项目管理器中可以看出,数据库包含表、视图、查询、连接和存储过

程 • C.创建数据库表之间的永久性关系,一般是在数据库设计器中进行 • D.数据库表之间创建 " 一对多 "永久性关系时,主表必须用主索引或候选索引

Page 59: 南京师范大学 vfp 教学计划

• 一、项目、数据库和表操作 (12分 )• 建立一个项目文件 TEST ,

1. 按如下要求修改 sjk 中学生( xs )表的结构: • ( 1 )将性别( xb )字段的标题设置为“性别”,默认值设置为“男”;

• ( 2 ) 设置 xb 字段的有效性(验证)规则,要求性别必须为“男”或“女”;( 3 ) 设置 xb 字段的有效性(验证)信息为:“性别必须为男或女”;( 4 ) 创建一个普通索引 xc ,要求先按 xb 字段排序,性别相同的再按出身日期( csrq )字段排序;( 5 ) 为学号 (xh) 字段设置输入掩码:接受 8 个字节的字符,且只接受数字。

Page 60: 南京师范大学 vfp 教学计划

查询和视图• (1) 查询可以用一条 select-sql语句完成 , 查询结果保存在 .qpr 中 , 使用命令 :

Create Query

• 使用 SELECT-SQL 命令来建立各种查询时,下列叙述中正确的是: __________(2002 年秋 )

• A. 基于两个表创建查询时,必须预先在两个表之间创建永久性关系 B. 基于两个表创建查询时,查询结果的记录数不会大于任一表中的记录数 C. 基于两个表创建查询时,两个表之间可以无同名字段 D. 用 OEDER BY子句只能开展控制查询结果按某个字段进行升序排序

• (2) 使用查询设计器建立查询 :like = == > is null, between, in

• (3)排序依据 :order by

• (4) 分组依据 :Group by

• (5)筛选 :Having, 应该与 group by 连在一起• 运行查询 :do xx.qpr

Page 61: 南京师范大学 vfp 教学计划

• (6)创建多表查询 :Join,

• (7)创建交叉查询 :

• (8)视图的创建和使用 :本地视图和远程视图• (9)视图的创建 :Create Sql View

• (10)Select,Alter,Create Table,Delete,Insert,Update

• (11)Avg(),Count(),Min(),Max(),Sum()

• (12)Union

Page 62: 南京师范大学 vfp 教学计划

• XSDA (学生档案)表中含有姓名字段,其字段名为 XM 、字段宽度为 8 、字段类型为字符型。该表中含有若干记录,但在输入姓名信息时,有的含有前导空格(例如姓名为“ 王小勇”),有的含有中间空格(例如姓名为“王 勇”),不便于通过姓名进行记录的查找。

• 已知系统函数 STRTRAN ( cSearched,cSearchedFor,cReplacement ) , 可以将 cSearched 中所有 cSearchedFor 字符串替换为 cReplacement 字符串。

• 请利用该函数完成下面的 UPDATE-SQL语句,实现上述功能。 (2002 年秋 )• UPDATE    _ SET XM=STRTRAN ( _ , SPACE ( 1 ), SPACE

( 0 ))• SELECT 查询命令中的 ____子句,可以把一个 SELECT语句的查询结果同另一个 SELECT语句的查询结果组合起来 (2003 年春 )

Page 63: 南京师范大学 vfp 教学计划

• 设 sjk.dbc 数据库中有三个数据库表: xim.dbf( 系名表 ) , js.dbf( 教师表 ) 和 xs.dbf( 学生表 ) 。其中, xim.dbf含有:系代号( xdh C(2) ) , 系名 (ximing C (18)) 字段; js.dbf,xs.dbf均含有:姓名 (xm C(8)), 系代号 (xdh C(2)) 字段。要求查询“计算机科学系”的全体师生名单,结果中包含两列:类别,姓名,其中类别用于注明“教师”或“学生”,输出结果首先按照类别排序,若类别相同再按姓名排序。         SELECT “ 教师” AS 类别 js.xm AS 姓名;         FROM sjk!js , sjk!xim;        WHERE js.xdh=xim.xdh AND xim.ximing=“ 计算机科学系”;          UNION;            SELECT _____(9)_____ AS 类别, xs.xm AS 姓名;              FROM sjk!xs,sjk!xim;             WHERE xs.xdh=xim.xdh AND xim.ximing=“ 计算机科学系” ;              ORDER BY 1, 2

Page 64: 南京师范大学 vfp 教学计划

• 在某教学管理数据库中,有一个成绩表( cj.dbf ),表结构及其记录如下表所述。     对于下列 SELECT-SQL语句,其查询结果含有  (10) 条记录。 (2004 春 )      SELECT xh, COUNT (*) AS 选课门数 FROM cj GROUP BY xh

Page 65: 南京师范大学 vfp 教学计划

• 在某教学管理数据库中有一个学生表( XS.DBF ),其表结构及其所含有的记录数据如表 1 所示。 (2005 春 )    

• • 对于下列 SELECT-SQL 语句,其查询结果含有 _____________ 条记录。 •      SELECT * FROM xs WHERE SUBSTR(xh,5,2)=' 01'• 若学生表已在当前工作区打开,运行下列程序后再 VFP 主窗口显示的结果

为 _____________ 。  【程序清单】     SET TALK OFF    n=0    CLEAR    GO TOP    DO WHILE!EOF()      IF AT("勇" ,xm)>0        n=n+1       ENDIF      SKIP    ENDDO    ?n

Page 66: 南京师范大学 vfp 教学计划

• 已知某数据库中有学生表和成绩表,且两张表之间已经建立了参照完整性(学生表为主表,成绩表为字表)。如果将学生表中的某位学生的记录删除,要求该学生在成绩表中的所有成绩记录将自动全部删除,则两表之间的参照完整性设置是 _____________ 。 (2005 春 )

Page 67: 南京师范大学 vfp 教学计划

• 在 SELECT-SQL 命令中, UNION 子句的功能是把一条 SELECT 语句的查询结果同另一条 SELECT 语句的查询结果组合起来。如果某 SELECT-SQL 命令中使用了 UNION 子句将两个 SELECT 语句联合起来,且需要对最终查询结果排序,则需要使用 _____________ 个 ORDER BY 子句。 (2005 春 )

Page 68: 南京师范大学 vfp 教学计划

• 教学管理数据库中含有课程表( KC )及成绩表( CJ )。课程表中含有以下字段:课程代号( kcdh ),课程名 (kcm) ,学分 (xf) ;成绩表中有以下字段:学号( xh ),课程代号 (kcdh) ,成绩( cj )。成绩表记录了全体学生所学各门课程的成绩。现根据上述两表查询总学分已超过 120 的所有学生情况(要求输出:学号,平均分,总学分,并按学号的升序排列),可使用下述命令。(注:成绩小于 60 分的学分设置为 0 ) (2005 春 )        SELECT xh AS 学号 ,AVG(cj.cj) AS 平均分 ,_____________ AS 总学分 ;          FROM kc INNER JOIN cj ON kc.kcdh=cj.kcdh;          GROUP BY xh;          HAVING 总学分 >=120;          ORDER BY xh

Page 69: 南京师范大学 vfp 教学计划

• 利用 DBGETPROP ()函数,可以返回当前数据库的属性,也可以返回当前数据库中表,表的子段或视图的有关属性.例如,要得到JS表的记录级有效性规则表达式,可以使用函数:

• DBGETPROP ( "js" , " ( 6 ) " , "RuleExpression" )

Page 70: 南京师范大学 vfp 教学计划

对象模型和事件模型• 类和对象 : 类是面向对象程序设计中的核心 ,• 基类的事件集合是固定的,不能进行扩充。基类的最小事件集包括

_ 事件、 Destroy事件和 Error事件 (2002 年秋 )• 类具有继承性 , 多态性 ,封装性 , 抽象性等特点• 基类的最小事件集 :Init,Destory,Error• Vfp 基类可分成两类 :控件类和容器类• 容器类有 :容器 , 工具拦 , 表单集 , 表单 , 表格 , 表格列 ,页框 ,页面 ,

命令按纽组 ,选项按纽组• 对象引用 :Parent,This,ThisForm,ThisFormSet,_Screen

Page 71: 南京师范大学 vfp 教学计划

• 主要的鼠标事件 :MouseMove,DropDown,KeyPress,InteractiveChange

• ProgrammaticChange,gotfocus,lostfocus,when,valid,load,unload,active,

• 两个重要事件 :Init,Destory

• 焦点事件 :Gotfocus(),LostFocus(),When,Valid,

• 其他事件 :Init,Destory,Error

• 重要方法 :addItem,cls,quit,Refresh,Release,setall,setfocus

Page 72: 南京师范大学 vfp 教学计划

表单• (1)创建表单的方法 :

• (2) 表单保存后 ,磁盘上产生两个文件 :.scx 和 .sct,创建表单 :Create Form

• 运行表单 :do form

• (3) 表单或表单集的数据环境包括了与表单交互作用的表和视图以及表之间的关系

• (4) 数据绑定性和非绑定性控件• (5) 对于数据绑定控件 , 可以通过设置她的 ControlSource 属性与莫个字段相

连 , 如果是表格控件, 通过 RowSourceType 和 RecordSource

• (6) 表单集 :引用关键子 ThisFormSet, 表单集中的表单个数 :formcount

• 创建表格用表 ,创建复选框用逻辑型 ,创建编辑框用备注型 ,创建文本框用其他

Page 73: 南京师范大学 vfp 教学计划

• 容器类除了表单集和表单外 ,还提供了页框 , 表格 , 命令按纽组和选项按纽组• vfp 中的所有容器对象都具有计数属性和集合属性 , 记数属性返回所包含的对

象数目 ,集合属性返回引用每个包含的对象• 决定表单标题栏显示的文本是 Caption,控制表单是否具有最大 MaxButton,

最小 MinButton,控制表单最小化 , 最大化还是正常用 Windowstate

• 可以使用 SetAll方法为容器控件指定一个属性• 与表单进行数据传递 :Parameters cString,nNumber

• 创建单文档和多文档界面 :

• 单文档 :ShowWindow:0,1.2 的含义

Page 74: 南京师范大学 vfp 教学计划

• . 若从表单的数据环境中,将一个逻辑型字段拖放到表单中,则在表单中添加的控件个数和控件类型分别是 ___________(2002 秋 )

• A. 1 ,文本框 B. 2 ,标签与文本框 C. 1 ,复选框 D. 2 ,标签与复选框• Visual FoxPRO 主窗口同表单对象一样,可以设置各种属性。要将 Visual Fo

xPRO 主窗口的标题更改为“教学管理系统”,可以使用命令 _ =“ 教学管理系统” (2002 年秋 )

• 表单中所有对象的属性设置和程序代码都保存在与表单同名的 _ 文件中,

该文件能用文本编辑器打开 • 若将 SDI 菜单 MENUA.MPR附加到某表单中,则必须为此表单的 Init事件添加代码,该代码内容是: DO MENUA.MPR WITH    _ ,.T. 。

Page 75: 南京师范大学 vfp 教学计划

• 对于表单来说,用户可以设置其 ShowWindow 属性。该属性的取值可以为 _________ 。 (2003 年春 )

• A. 在屏幕中或在顶层表单中或作为顶层表单 B.普通或最大化或最小化 C.无模式或模式 D.平面或 3 维

• 数据环境泛指定义表单、表单集或报表时使用的数据源,数据环境中只能包________ 。 (2003 年春 )

• A. 表、视图和关系 B. 表 C. 表和关系 D. 表和视图• . 在运行表单时,为设置属性值或指定操作的默认值,有时需要将参

数传递到表单。若要将参数传递到表单,则应在表单的 ___B____事件代码中包含 PARAMETERS语句。

• A.LoadB.InitC.DestroyD.Activate

Page 76: 南京师范大学 vfp 教学计划

• 某表单中含有一个命令按钮。要求运行表单时,单击该命令按钮可以调用表单的 Init 时间中的全部程序代码,则需要在命令按钮的 Click 时间中写入语句

__________ 。 (2003 年春 )

• . 在打开一个表时,必须为该表指定一个“工作区”。如果某工作区已经打开了一个表,再在此工作区中打开另一个表时, _____ 将自动被关闭。 (2003年春 )

• MyLabel 是派生于标签基类的子类,该子类的 BackColor 属性为红色。在某表单上创建一个基于 Mylabel 类的标签对象 Lb1 ,该对象的 BackColor 属性为黄色,则当运行该表单时, Lb1 对象的背景颜色是 ______(2003 年秋 )     A 灰色     B 红色     C 黄色      D 红色与黄色的调配色

Page 77: 南京师范大学 vfp 教学计划

控件• (1)RecordSource 属性用于指定与表格控件相绑定的数据源 ,ControlSource

属性可用于指定与其他控件绑定的数据源• 绑定型控件 : 复选框 , 列 , 组合框 , 命令按纽组 , 编辑框 , 列表框 ,Ole绑定 ,选

项控件 ,选项组控件 ,微调框 , 文本框 , 表格• (2) 文本框 :InputMask,Format,PasswordChar• (3)EditBox 的作用 :输入或编辑长字段或备注字段• (4) 列表框与组合框 (ListBox,ComboBox)• RowSourceType,RowSource• (5)选项按纽 :ButtonCount,Value

Page 78: 南京师范大学 vfp 教学计划

• (6) 复选框 :选中 .T.,未选中 :.F.,变为灰色 :.null.

• (7) 表格控件 :Grid,RecordSource,RecordSourceType, 表格的 DeleteMark 属性指定在表格控件中是否出现删除标记列

• (8)微调框 :KeyBoardHighValue,SpinnerHighValue,KeyBorardLowValue,SpinnerLowValue

• (9) 计时器 :Enabled 和 Interval,Timer,1000毫秒 =1秒• (10)线条控件 :

• (11) 形状控件 :Curvature (0—99),0创建矩形 ,99创建圆形• (12)页框控件

Page 79: 南京师范大学 vfp 教学计划

控件• (13) 设置控件访问键 : 在 Caption 上加 :Alt+\<

• 设置提示按纽 :ToolTipText

• (14)启用和停用控件 :Enabled

• (15)页框 :PageCount,Tabs,TabStyle

• (16)切换页面 :ActivePage

• . 形状控件的 Curvature 属性决定形状控件显示什么样的图形,它的取值范围是 0~99 。当该属性的值为 _ 时,用来创建矩形 (2002 年秋 )

• . 列表框对象的数据源由 RowSource 属性和 _ 属性决定。而要将列表框

中的值与表中的某个字段绑定,则应该利用 _ 属性。• 若命令按钮组及其所包含的各命令按钮分别设置了 Click事件代码, Visual FoxPro 系

统将根据用户单击的位置执行相应的程序代码;若单击命令按钮组区域内、命令按钮区域外, _ 的 Click事件将被触发;而单击命令按钮组内某一命令按钮,则相应命令按钮的 Click事件被触发

Page 80: 南京师范大学 vfp 教学计划

• 计时器是用来处理复发事件的控件。该控件正常工作的三要素是: Timer事

件、 Enabled 属性和 _ 属性。• 绑定型控件是指其内容与表、视图或查询中的字段或内存变量相关联的控件。当某个控件被绑到一个字段时,移动记录指针后如果字段的值发生变化,则该控件的 ___D____ 属性的值也随之发生变化。 (2003 年春 )

• A.ControlB.NameC.CaptionD.Vaule • 在下列 Visual FoxPro 的基类中,无 Caption 属性的基类是 _______(2003

年秋 )     A 标签    B 选项按钮      C 复选框      D 文本框

Page 81: 南京师范大学 vfp 教学计划

• 设表单 Form1 中包含 1 个文本框控件( TEXT1 )与 1 个列表框控件( LIST1 )。其中, LIST1 的 RowSourceType 属性值为 1 , RowSource 属性值为:数学、物理、语文、外语、计算机、政治。该表单要实现的功能是:在文本框 TEXT1 中输入课程的名称,若此课程不在列表框 LIST1 中,则将它添加到列表框中,够则不做添加。请完善下列的文本框 TEXT1 的 LostFocus事件代码:

•   FL=.T.•   FOR n=1 TO THISFORM.LIST1.ListCount•     IF ALLTRIM(THISFORM.LIST1.List(n)=________•       FL=.F.•     ENDIF•   ENDFOR•   IF FL•      THISFORM.LIST1.ADDITEM(THIS.Value)         &&向列表框添加新的数

据项•   ENDIF•   THIS.Value=SPACE(1)                           && 使文本框清空

Page 82: 南京师范大学 vfp 教学计划

• 计时器是在应用程序中用来处理复发事件的控件,其典型应用是检查系统时钟,决定是否到了某个程序或应用程序运行的时间。其 Interval 属性用于指定计时器控件的 ___(8)____事件之间的时间间隔,单位为毫秒。

Page 83: 南京师范大学 vfp 教学计划

• 利用页框控件,可以增加表单的“表文件”。运行某表单时,如果要将表单中图 1所示的页框( PageFrame )改为图 2所示的页框,则应将页框的 ______ 的属性设置为 .F. 。 (2003 年秋 )

Page 84: 南京师范大学 vfp 教学计划

• 列表框( ListBox )主要用于显示一组预定的值,用户从列表中可以选择需要的数据。列表框中选择的数据(值)保存在何处由 _______ 属性决定。 (2003 年秋 )

• Visual FoxPro 系统中基类的事件集合是固定的,不能进行扩充。它的最小事件集合包括 Init事件, Destroy事件和 ___(23)_____事件 (2003 秋 )

Page 85: 南京师范大学 vfp 教学计划

• .设某表单( frm1 )上有一个文本框 (text1) 和一个命令按钮 (command1) 。该表单运行时,单击命令按钮 command1 ,则文本框 text1 中显示该表单数据环境的 Name 属性值。由此,命令按钮 command1 的 Click事件程序代码中必须写入的命令为:

      THISFORM. (15) _=THISFORM.DataEvironment.Name

Page 86: 南京师范大学 vfp 教学计划

• 在连编应用程序之前应设置应用程序的主程序。下列程序是某应用程序的主程序 main.prg ,请根据命令行中的注释信息完善该程序。 (2004 春 )

      CLEAR ALL       _SCREEN.Visible=.f.       SET TALK OFF && 关闭显示       ************** 设置 Visual FoxPro 主窗口属性 ***********      WITH _SCREEN         .Caption=’《库存管理系统》’         .Picture=’pict\softface.jpg’         .WindowState=2         .ControlBox=.f.       ENDWITH       _SCREEN.Visible=.t.       SET SYSMENU ON        ____(16)_____mainmenu.mpr &&执行菜单程序 mainmenu.mpr        _____(17)______Loginfonm && 运行表单文件: Loginfonm.scx        READ EVENTS &&启动事件循环        RETURN

Page 87: 南京师范大学 vfp 教学计划

• 某表单 (fml) 上有一个列表框 (list1) 、一个文本框( text )和一个命令按钮 (command1 ,其 Caption 属性为“添加” ) 。请完善命令按钮的 Click事件代码以实现以下功能:在文本框 text1 中输入字符串,如果该字符串在列表框中不存在,就将该字符串插入到列表框中,否则弹出对话框给出信息提示“该字符串已经存在,请重新输入”。运行表单时参考界面如图所示。 (2004 春 )

       flag=0       FOR n=1 TO THISFORM.list1.ListCount         IF THISFORM list1.List(n)= (19)           flag=1         ENDIF       ENDFOR       IF flag=0        (20) (THISFORM.text1.Value)       ELSE        MESSAGEBOX(“ 改字符串已经存在,请重新输入” )       ENDIF

Page 88: 南京师范大学 vfp 教学计划

• 某表单的数据环境中包含 kc 表和 cj 表,且 kc 表和 cj标之间已建好临时关系。当表单运行时,如下图所示。 (2004 春 )      1) 列表框的 BoundColumn 为 1 ,要求显示 kc 表的课程代号( kcdh )、课程明( kcm )、和课时数( kss )字段,则列表框的 RowSourceType 属性值为“ 6 (字段)”, RowSource 属性值为(22)。      2) 若在列表框中选中某门课程时,表格中显示该课程的所有学生的成绩,且在文本框 text 中显示该课程的平均分,则列表框的 InteractiveChange 事件代码中应含有:

      SELECT AVG(cj.cj) FROM cj;         WHERE cj.kcdh= (23) INTO ARRAY t       THIS. (24) .text1.Value=t

Page 89: 南京师范大学 vfp 教学计划

• 某表单中有一个命令按钮,该命令按钮的Click事件过程代码中含有一条命令可以将该表单中的页框 pg1 的活动页面改为第三个页面,该命令是 THISFORM.pg1. (29) =3 。 (2004 春 )

Page 90: 南京师范大学 vfp 教学计划

• 在下列有关表单及其控件的叙述中,错误的是 _____________ 。 (2005 春 )

•    A. 从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分   B. 表格控件包含列控件,而列控件本身又是一个容器类控件   C. 页控件的 PageCount 属性值可以为 0   D.表格控件可以添加到表单中,但不可以添加到工具栏中

Page 91: 南京师范大学 vfp 教学计划

• 对于许多控件来说,可以通过 ControlSource 属性与数据绑定。在下列 VFP 对象中,无 ControlSource 属性的是 _____________ 。 (2005 春 )

•    A. 标签( Label )           B.复选框( CheckBox )   C.选项按钮组( OptionGroup )      D.列表框( ListBox )

• 图 1 所示的表单用于浏览教师( JS )信息。为了在表格控件中以不同的背景色显示男、女教师的信息,则在表格控件的 Init 事件代码中,可使用如下形式的语句 (2005 春 )

•    This._______(" DynamicBackcolor" ," IIF(xb='女' ,RGB(125,125,125),;RGB(125,125,125))" ," Column" )

Page 92: 南京师范大学 vfp 教学计划

• 设某表单上有一个页框控件,该页框控件的 PageCount 属性值在表单的运行过程中可变(即页数会变化)。如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的 Refresh 事件代码中使用语句: This. _____________= PageCount 。 (2005 春 )

Page 93: 南京师范大学 vfp 教学计划

• 某数据库中包含课程( KC )表和成绩( CJ )表,课程表中含有课程代号( kcdh )、课程名( kcm )和学分( xf )等字段,成绩表中含有学号( xh )、课程代号( kcdh )和成绩( cj )等字段。已创建一个按课程代号查询学生成绩的表单如图 2 所示。 (2005 春 )

•    图2                           表单中下拉列表框( Combo1 )的数据源设置如下:

        RowSource Type 属性为 :6- 字段        RowSource 属性为 :kc.kcdh 。

在下拉列表框中选择某一课程代号后,表格控件( Grid1 )立即显示该课程所有学生的成绩,且在文本框( Text1 )中显示该课程的课程名,则应在下拉列表框的 _____________ 事件中编写如下代码:               SELECT KC        ThisForm.Text1.Value=kc.kcm        ThisForm.Grid1.RecordSource=;        " SELECT cj.xh,cj.cj FROM cj WHERE cj.kcdh=ALLT(THIS.Vale)INTO CURStmp"         ThisForm.Refresh

• 根据以上代码可判定,表格控件( Grid1 )的 RecordSourceType 属性为 _____________ 。

Page 94: 南京师范大学 vfp 教学计划

• 在事件代码中相对引用当前表单集的关键字是 _____________ 。 (2005

春 ) • 文本框控件的 _____________ 属性设置为“ * ” 时,用户键入的字符在文

本框内显示为“ * ” ,但 Value 属性中仍保存键入的字符串。 (2005 春 )

Page 95: 南京师范大学 vfp 教学计划

标签和报表(1) 报表用于在打印文档中显示或总结数据定义报表有两个要素 : 报表的数据源

和报表的布局 , 报表的数据源 : 表 ,视图 , 查询 ,临时表(2) 报表的定义可以存储在扩展名为 .frx 的报表文件中 ,还有一个 .frt 的备注文件(3)标签的定义存储在扩展名是 :.lbx 的标签文件中 ,标签的备注文件的扩展名是 .

lbt

报表类型 : 有列报表 , 行报表 , 一对多报表 , 多栏报表报表的带区 :

I 报表的打印与预栏 :Report Form

Page 96: 南京师范大学 vfp 教学计划

• 在 Visual FoxPro 系统中,报表上可以分为不同的带区,用户利用不同的报表带区控制数据在报表页面的打印位置。以下各项是报表的部分带区名,其中 ______ 只在报表的每一页上打印一次。 (2003 年秋 )

•      A 总结    B 页标头   C 标题    D 细节

Page 97: 南京师范大学 vfp 教学计划

• 报表是最常用的打印文档,设计报表主要是定义报表的数据源和报表的布局。在 Visual

FoxPro 系统中,报表布局的常规类型有:列报表、行报表、多栏报表以及 _ (2002年秋 )

• 执行下列程序后,屏幕上显示的结果是 _ (2002 秋 ) 。• C=“江苏省高等学校计算机等级考试”• DO SUB1• ? LEFT ( &X , 6 ) +SUBSTR ( C , 15 ) +RIGHT ( T , 3 )• PROCEDURE SUB1• PUBLIC X , T• X=“C”• T=“ 数据库 VFP”• RETURN

Page 98: 南京师范大学 vfp 教学计划

• 在 Visual FoxPro 系统中,报表上可以分为不同的带区,用户利用不同的报表带区控制数据在报表页面的打印位置。以下各项是报表的部分带区名,其中 ___30___ 只在报表的每一页上打印一次。     A 总结    B 页标头   C 标题    D 细节

Page 99: 南京师范大学 vfp 教学计划

• 在 VFP 中,运行报表文件 PP.FRX 可用命令( 28 ) (2006 年春 )

• A. DO PP.FRX   B. DO FORM PP.FRX

•   C.REPORT FORM PP.FRX  D. REPORT PP.FRX • 在下列几组 VFP 基类中,均具有 ControlSource 属性的是( 29 ) (2006

春 )

• A. ListBox , Lable , OptionButton

• B. ComboBox , EditBox , Grid

• C. ComboBox , Grid , Timer

• D. EditBox , CheckBox , OptionButton

Page 100: 南京师范大学 vfp 教学计划

类的创建和应用

Page 101: 南京师范大学 vfp 教学计划

菜单和工具栏• (1) 菜单设计器所设计的菜单保存在 .mnx 文件中

, 如果要运行菜单 , 必须生成一个 .mpr 的文件 , 它是一个文本文件• (2)vfp 菜单分为两种 : 一般菜单和快捷菜单• (3) 要为菜单项加入访问键 , 在访问键的字母前加 (\<),快速菜单• (4) 为菜单项分组 :”\-”, 在使用快捷键时 ,避免使用 Ctrl+J

• (5)除了 Grid控件不能添加到工具栏外 , 其他的都可以• (6)执行菜单程序 :do x.mqr

• (7)创建快捷菜单 :

• (8)SDI 菜单 :出现在单文档窗口中的菜单• (9) 将 Sdi 菜单附加到 SDI 表单中 ,do SDI 菜单名 with this,.T.

Page 102: 南京师范大学 vfp 教学计划

• 若要为表单设计下拉式菜单,主要操作分为二部分:其一是将菜单类型设计为 SDI 菜单,并在菜单设计过程中,选择“常规选项”对话框中“顶层表单”复选框;其二是将 SDI 菜单附加到表单中,首先将表单的 Show Windows 属性值设置为 2 作为顶层表单,然后在表单的 ______事件代码中添加调用 SDI 菜单程序的命令。 (2003 秋 )

Page 103: 南京师范大学 vfp 教学计划

• . 菜单设计是应用程序开发过程中的重要环节。当所要定义的菜单与 VFP 系统形式上或功能上比较相似时,可以使用 ____(27)___功能,以提高工作效率。

• VFP 中进行菜单设计时,菜单有两种,即一般菜单和 _____________ 菜单。• (2005 春 )

• 设某命令按钮的标题为“确定( Y )”(该按钮访问键位“ ALT+Y ” ),

则其 Caption 属性值应设置为 _____________ 。 (2005 春 )

Page 104: 南京师范大学 vfp 教学计划

• TEST 项目中已存在菜单 menu, 其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项。按如下要求设计菜单,完成后的运行效果如图 1所示。

• • 1 . 为“文件”菜单设置热键“ ALT+F”;

2 . 在“文件”菜单中创建“打开”菜单项,为“打开”菜单项设置快捷键“ CTRL+O”;3 . 在“打开”和“恢复系统菜单”菜单项之间插入分组线;4 . 为“打开”菜单项创建子菜单,子菜单中包含“项目”、“数据库”和“表”菜单项;5 . 创建“程序”菜单。

Page 105: 南京师范大学 vfp 教学计划

未知• 设有 2 个项目文件: T1.PJX 、 T2.PJX , 2 个数据库文件: SJ1.DBC 、 SJ

2.DBC , 1 个自由表文件: A1.DBF 。以下叙述中,不正确的是 ____C____ 。• A.T1.PJX 与 T2.PJX 可以共享 SJ1.DBC 文件 B.A1.DBF自由表添加到 SJ1.D

BC 成为库表以后,就不能添加到 SJ2.DBC 中 C.打开 T1.PJX 文件后,用系统菜单”文件 \新建”命令创建的文件都属于 T1.PJX 项目管理 D.从 T2.PJX项目中“移去”某个数据库时,可以同时删除数据库文件