1、二级VFP期末复习二级VFP期末复习第一章 数据库系统基础知识 1.2了解数据库的特点1.3了解数据库系统的三级模式结构1.4了解E-R模型的基本概念了解超关键字、候选关键字、主关键字、外部关键字等概念 了解关系的基本运算1.6了解数据流程图第二章 VFP概述2.1掌握VFP操作环境的使用 熟悉常用的几个命令:?,clear, dir, md/td/cd, copy file/rename/delete file,run,quit 熟悉常用的SET命令,比如如何修改当前路径2.2 熟悉各种文件类型及后缀2.3了解项目管理器的使用2.4理解常用的数据类型 掌握各类常量的规则、变量的命名规则 理解
2、变量作用域的指定:PUBLIC,PRIVATE,LOCAL 掌握数组的定义和赋值1CH2数组例子 未赋值的元素默认值是什么? 掌握常用的系统函数-参数类型,返回值类型,函数功能 2Messagebox例题,3getfile例题, 掌握运算符、表达式的用法,掌握名称表达式,宏替换 掌握空值处理的规则第三章 数据库表3.1了解数据库的组成3.2了解数据库文件、表文件的扩展名 会创建数据库、打开数据库、关闭数据库,及相应的命令CREATE,OPEN.CLOSE.3.3熟悉表结构,熟悉表字段数据类型 会创建、修改表 熟悉数据库表字段的扩展属性,数据库表的扩展属性,并会设置,(注意这些扩展属性作为数据字
3、典保存在数据库文件中) 注意表的打开与数据库打开之间的关系,临时表的打开与数据库表打开有啥区别 掌握工作区的概念,区分SELECT函数与SELECT命令掌握多工作区打开同一表的别名规则(当没指定打开别名时)4表的打开例子掌握USE命令的用法 掌握表的关闭例子5 了解表的独占与共享 3.3.5会添加表记录 掌握INSERT-SQL命令的用法例题6 了解APPEND命令的用法 掌握备注型与通用型字段的录入方法P87 掌握BROWSE命令 理解SET FILTER TO 命令 掌握记录的定位,掌握记录指针的使用掌握EOF(),BOF(),RECNO()函数,掌握GOTO,skip, locate f
4、or命令(注意点91)掌握界面方式的批量记录修改掌握update-sql命令和replace命令的update选择题,填空题 掌握记录的删除和恢复,区分逻辑删除和彻底删除 掌握DELETE SQL命令(注意区分DELETE命令和DELETE-SQL命令的语法),RECALL命令,PACK命令,ZAP命令,注意SET DELETED ON|OFF命令的意义 掌握COPY TO 命令的用法3.3.6了解索引文件的概念,了解VFP支持哪三种不同的索引文件P97,文件扩展名?会利用表设计器创建索引,注意排序、索引名、索引类型、索引表达式掌握USE命令设置“主控索引“ORDER子句了解什么情况下利用SE
5、T ORDER TO 命令设置“主控索引“,该命令语法?了解SEEK命令3.3.7注意区分自由表和数据库表3.3.8掌握CREATESQL命令创建表结构,语法?例子9掌握ALTER-SQL修改表结构,语法?3.4理解数据库表之间的永久性关系会建立、删除、编辑数据库表之间的永久性关系会设置参照完整性3.5理解DBGETTROP()和DBSETTROP()函数,例子第四章 查询和视图4.1知道查询文件的扩展名,了解视图的存储位置?知道查询和视图的数据源(自由表、数据库表或视图,注意没有查询)4.2会使用查询设计器建立查询(上机考试),注意“输出字段”,“筛选条件”,“分组依据”,“查询去向”4.3
6、掌握SELECTSQL命令的语法P121-122题目11,题目12,题目1315使用SQL语句从表STUDENT中查询所有姓赵的同学的信息,怎么写SQL语句?4.4了解CREATE SQL VIEW命令了解参数化视图掌握用USE命令打开视图,用BROWSE命令浏览视图第五章 程序设计基础 5.2知道PRG文件和FXP文件的用途P139掌握程序的三大结构 掌握IFELSEENDIF语句 掌握DOCASEENDCASE语句 掌握FORENDFOR语句 掌握DO WHILEENDDO语句 掌握SCANENDSCAN语句 掌握循环体中LOOP,EXIT语句的作用题目16195.2.5掌握过程与用户自定
7、义函数的使用语法格式,调用格式题目205.3理解类、对象概念 理解基类,容器类,最小事件集 掌握对象的引用方法(注意层次问题) 理解事件模型 辨析VFP中事件激发的顺序 了解常见的事件 了解事件驱动和事件循环 了解_SCREEN对象(可能考!)第六章 表单6.3会使用表单设计器窗口设计表单 注意用户不能新建事件,但可以添加新方法 掌握SETALL方法的针对性 理解表单的数据环境(并非必须把要用的表或视图添加到数据环境中) 掌握控件与数据的绑定方法P179 掌握表单的常用属性,如MaxButton,MinButton,AutoCenter,BackColor,Enabled,Visible,cl
8、osable,windowstyle,ICON 了解表单集的特性,掌握表单集对象的引用 THISFORMSET6.4掌握标签、文本框、编辑框、列表框、组合框、选项按钮组、复选框、表格、微调框、计时器、命令按钮、命令按钮组、页框控件。区分容器控件和非容器控件 计时器控件的什么事件最关键?第八章 报表第九章 菜单1 CH2数组例子某表单上有一个文本框(text1)和一个命令按钮。单击命令按钮后,将随机产生12个2位的正整数,这些数存储在一个二维数组中,并且在文本框中显示(显示格式为5行8列,如图1所示)。完善该命令按钮的Click事件代码: DIMENSION x(5,8) s=SPACE(0)
9、FOR i=1 to 5 FOR j=1 to 8 n=INT(90*RAND()+10) x_=n s=s+STR(n,4) ENDFOR s=s+CHR(13) ENDFOR THISFORM.Text1.Value=_返回2messagebox执行函数MESSAGEBOX(南京师范大学泰州学院+_+物理系,48,你好),则可出现如图2所示的提示消息框。 图23 getfile例题若要打开如图3所示的对话框,则可执行命令:=GETFILE(_,word文件名)。 4表的打开例题依次执行下列命令后,浏览窗口中显示的表的别名及当前工作区号分别是 ( ) 。 CLOSE TABLES ALL U
10、SE js SELECT 5 USE js AGAIN SELECT 0 USE js AGAIN BROWSE A.B、2 B.JS、2 C.B、5 D.E、2返回5表的关闭设某数据库中的学生表(XS.DBF)已在2号工作区中打开,且当前工作区为1号工作区,则下列命令中不能将该XS表关闭的是 ( )。ACLOSE TABLE BUSE IN 2CCLOSE DATABASE ALL DUSE返回6insert例子用INSERT-SQL命令在xS(学生)表中添加如下表格所示的记录,可使用命令:INSERT INTO js(gh,jl,csrq)_ (“G9999”,”,” 获得教学十佳称号,1
11、976/07/14)字段名与类型GH(字符型)JL(备注型)CSRQ(日期型)值G9999获得教学十佳称号1976.07.147 updateXS(学生)表中有XM(姓名,字符型)和XB(性别,字符型)等字段。如果要将所有男生记录 的姓名字段值清空,则可以使用命令 ( ) 。 A.UPDATE XS SET xm=” WHERE “xb”=男 B.UPDATE XS SET xm=SPACE(0) WHERE xb=男 C.UPDATE XS SET xm=SPACE(0) FOR xb=男 D.UPDATE XS SET xm=” FOR xb=男8update填空用UPDATE-SQL语句
12、修改ts(图书)表中书名(sm,C)的值时,若要在所有记录的书名两端加“(假设字段宽度足够),可以使用命令: UPDATE ts SET sm=+_+返回9CREATE例题创建一个教师表(JS.dbf),其中有字段gh(工号,字符型,长度为6)、xm(工号,字符型,长度为10)、xb(性别,字符型,长度为2)、csrq(出生日期,日期型)、jl(教师简历,备注型,且允许为空值)。 CREATE TABLE JS(gh c(6),xm C(10),xb c(2),csrq D,jl M _)返回10. DBGETPROP例题利用DBGETPROP()函数可以返回当前数据库的属性,或者返回当前数据
13、库中表、表的字段或视图属性,例如,函数DBGETPROP(xs.xh,”_”,DefaultValue)可以返回xs表xh字段的默认值属性。返回11.SELECT题目1在教学管理数据库jxsj中有2个表:XS.DBF(学生表)和CJ.DBF(成绩表),表结构如下:CJ.DBF字段名含义字段类型及宽度XH学号C(8)KCDH课程代号C(3)CJ成绩N(3)XS.DBF字段名含义字段类型及宽度XH学号C(8)XM姓名C(8)XB性别C(2)(1)完善下列SELECT-sQL命令,其功能是基于xs表和cj表查询总成绩前8名的学生的情况,要求输出为xh、xm、总成绩和选课门数。SELECT _ XS.
14、xh,XS.xm,SUM(CJ.CJ) AS 总成绩,COUNT(*) AS 选课门数; FROM jxsj!xs INNER JOIN jxsj!cj; ON Xs.xh=cj.xh; GROUP BY XS.xh; _(2)完善下列SELECT-SQL命令,其功能是基于xs表和cj表查询有两门或两门以上课程不合格的学生情况。要求输出为xh、xm、选课门数和不及格门数,查询结果按不及格门数排序且将查询结果输出到打印机打印。(注:cj小于60为不及格) SELECT XS.xh , XS.xm , COUNT(*) AS 选课门数, _ AS 不及格门数; FROM jxsj!xs INNER
15、 JOIN jxsj!cj; ON Xs.xh=cj.xh; GROUP BY CJ.xh; ORDER BY 4;_12. SELECT题目2某图书管理数据库有读者和借阅2个表。读者表中含有:借书证号(字符型)、单位(字符型)、姓名(字符型)等字段,借阅表中含有:借书证号(字符型),书目编号(字符型),借书日期(日期型)等字段。执行下列SELECT-SQL命令,可以检索出当前至少借阅了10本图书的读者姓名和所在单位。 SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING_ =10)返回13se
16、lect题目3数据库JXSJ中有xs(学生)表和cJ(成绩)表。学生表XH(学号)、XM(姓名)等字段;成绩表中有XH(学号)、KCDM(课程代码)和cJ(成绩,数值型)等字段,两表通过XH段创建的索引已建立了一对多关系。下列SELECT-SQL命令可用于查询各门考试成绩均在50分以下的学生总成绩,要求输出学号、姓名和总成绩,且按总成绩降序输出。 SELECT Xs.xh AS 学号,Xs.xm AS 姓名,SUM(Cj.cj) AS 总成绩;FROM jxsj!xs INNER JOIN jxsj!cj; ON Xs.xh=cj.xh; GROUP BY Xs.xh; HAVING_=50;
17、 ORDER BY_14. 设有一考生成绩表(KSCJ),包含准考证号(ZKZH,字符型,宽度为10)、笔试成绩(BSCJ,数值型)、上机成绩(SJCJ,数值型)等字段。准考证号的编码方式为:第1-3个字符表示学校代号,第4-5个字符为等级与语种代号,第6-8个字符为考场代号,第9-10个字符为在考场中的序号。如果笔试成绩大于30、上机成绩大于24为考试合格,则下列SELECT-SQL命令可用于查询等级与语种代号为52的各学校考试通过率(注:通过率用数值表示范围为01,1表示100%通过)。 SELECT LEFT(Kscj.zkzh,3)AS学校代号, _/COUNT(*) AS 通过率;
18、FROM ksci;_ SUBSTR(Kscj.zkzh,4,2)=52;_15已知某数据库表KCYZDBF含有5个字段,若其中有一个名为bxk的逻辑型字段,则可用下列SQL命令查询bxk字段值为T的所有记录,且要求输出所有字段,输出结果保存在表TEMP.DBF中。 SELECT_ FROM kcyz; WHERE bxk=T;_Table temp返回16循环题目1本题程序求以下正项级数的近似值:当Sn+1-Sn0.0001时停止求和运算,Sn+1为近似值,请完善以下程序:【程序清单】 CLEAR i=0 sn1=0 DO WHILE .T. i=i+1 sn1=sn1+1/(i*(i+1)
19、*(i+2) sn2=_ IF ABS( sn2 - sn1 ) 10 EXIT ENDIFenddo19. 完善下列程序,其功能是显示如图3所示的文字图形。 图3程序运行结果 【程序清单】 CLEAR c=金字大宝塔 n=LEN(c)/2 FOR i=1 TO n ?SPACE(70-i) FOR j=1_ ? SUBS(C,2*i-1,2) =INKEY(0.5) ENDFOR ENDFOR返回20. 题目过程执行下列程序后,输出到屏幕的结果为_ 。 【程序清单】 CLEAR STORE 4 TO ml,m2 STORE 3 TO m3,m4 DO PA WITH ml,m2,m3,m4
20、?m4 PROCEDURE PA PARAMETER a,b,c,d d=b2-4*a*c DO CASE CASE d0 d=400 ENDCASERETURN返回21某表单(运行时如图4所示)的数据环境中有一个ZY(专业)表,该表有50条记录;表单上有3个文本框分别与专业表的专业代号、专业名称、学制字段绑定,另有一文本框(text1)用来显示物理记录号;表单上有一个计时器控件,其Interval属性值为1000,Timer事件代码如下: IF EOF() GOTO TOP ELSE SKIP ENDIF THISFORM.Text1.Value=RECNO() THISFORM.Refre
21、sh若该表单最大化按钮不可用,最小化按钮和关闭按钮可用,则表单的_属性值为.F.;若文本框text1不能响应用户引发的事件,则其_属性值为.F.;当ZY表的记录指针位于记录结束标记处(即EOF()为.T.)时,文本框text1的Value属性值是_ 。22图2为一个计时器表单,表单上有4个标签、4个文本框、1个计时器和2个命令按组,图2中(a)、(b)、c)、(d)分别为表单在表单设计器中设计时、运行开始时、开始计时时及计时过程中、停止计时时显示的界面。计时器的Enabled属性值为.T.,Interval属性值为500。(1) 根据图2所示,表单的ControlBox、MaxButton和M
22、inButton属性值应分别为_;表单的左上角显示的控制图标为由PC.ICO文件提供,则表单的_属性值为PC.ICO;表单运行时自动居中,则其_属性值为.T.;表单上所有的文本框均不能响应用户事件,则它们的_属性值为.F.。 (2) 根据图2所示,表单及各控件的事件代码设置分别为:表单的Init事件代码为: PUBLIC ct1,ct2 ct1=开始计时(B) ct2=停止计时(E) THISFORM.Command1.Caption=_计时器的Timer事件代码为: thisform.text1.value= _ IF THISFORM.Command1.Caption=ct2 nTime=
23、datetime()-THISFORM.Text2.Value nTime1=INT(nTime/60/60) nTime=nTime-nTime1*60*60 nTime2=INT(nTime/60) nTime=nTime-nTime2*60 THISFORM. Text3.value=STR(nTime1,3)+时+; STR(nTime2,3)+分+STR(nTime,3)+秒 ENDIF THISFORM.Refresh开始计时/停止计时命令按钮Click事件代码为: THISFORM.Text1.Value=DATETIME() IF THIS.Caption=ct1 THIS.Caption=ct2 THISFORM.Text2.Value=DATETIME() THISFORM.Text3.Value= else THIS.CAPTION=ct1 THISFORM.Text3.Value=DATETIME() ENDIF退出命令按钮(标题为图片)Click事件代码为: THISFORM.Release
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1