二级VFP期末复习.docx
《二级VFP期末复习.docx》由会员分享,可在线阅读,更多相关《二级VFP期末复习.docx(18页珍藏版)》请在冰豆网上搜索。
二级VFP期末复习
二级VFP期末复习
第一章数据库系统基础知识
1.2了解数据库的特点
1.3了解数据库系统的三级模式结构
1.4了解E-R模型的基本概念
了解超关键字、候选关键字、主关键字、外部关键字等概念
了解关系的基本运算
1.6了解数据流程图
第二章VFP概述
2.1掌握VFP操作环境的使用
熟悉常用的几个命令:
?
,clear,dir,md/td/cd,copyfile/rename/deletefile,run,quit
熟悉常用的SET命令,比如如何修改当前路径
2.2熟悉各种文件类型及后缀
2.3了解项目管理器的使用
2.4理解常用的数据类型
掌握各类常量的规则、变量的命名规则
理解变量作用域的指定:
PUBLIC,PRIVATE,LOCAL
掌握数组的定义和赋值1CH2数组例子未赋值的元素默认值是什么?
掌握常用的系统函数--参数类型,返回值类型,函数功能
2Messagebox例题,3getfile例题,
掌握运算符、表达式的用法,掌握名称表达式,宏替换
掌握空值处理的规则
第三章数据库表
3.1了解数据库的组成
3.2了解数据库文件、表文件的扩展名
会创建数据库、打开数据库、关闭数据库,及相应的命令CREATE…,OPEN….CLOSE….
3.3熟悉表结构,熟悉表字段数据类型
会创建、修改表
熟悉数据库表字段的扩展属性,数据库表的扩展属性,并会设置,(注意这些扩展属性作为数据字典保存在数据库文件中)
注意表的打开与数据库打开之间的关系,临时表的打开与数据库表打开有啥区别
掌握工作区的概念,区分SELECT函数与SELECT命令
掌握多工作区打开同一表的别名规则(当没指定打开别名时)4表的打开例子
掌握USE命令的用法
掌握表的关闭例子5
了解表的独占与共享
3.3.5会添加表记录
掌握INSERT-SQL命令的用法例题6
了解APPEND命令的用法
掌握备注型与通用型字段的录入方法P87
掌握BROWSE命令
理解SETFILTERTO命令
掌握记录的定位,掌握记录指针的使用
掌握EOF(),BOF(),RECNO()函数,掌握GOTO,skip,locatefor命令(注意点p91)
掌握界面方式的批量记录修改
掌握update-sql命令和replace命令的update选择题,填空题
掌握记录的删除和恢复,区分逻辑删除和彻底删除
掌握DELETESQL命令(注意区分DELETE命令和DELETE-SQL命令的语法),RECALL命令,PACK命令,ZAP命令,注意SETDELETEDON|OFF命令的意义
掌握COPYTO命令的用法
3.3.6了解索引文件的概念,了解VFP支持哪三种不同的索引文件P97,文件扩展名?
会利用表设计器创建索引,注意排序、索引名、索引类型、索引表达式
掌握USE命令设置“主控索引“――ORDER子句
了解什么情况下利用SETORDERTO命令设置“主控索引“,该命令语法?
了解SEEK命令
3.3.7注意区分自由表和数据库表
3.3.8掌握CREATE-SQL命令创建表结构,语法?
例子9
掌握ALTER-SQL修改表结构,语法?
3.4理解数据库表之间的永久性关系
会建立、删除、编辑数据库表之间的永久性关系
会设置参照完整性
3.5理解DBGETTROP()和DBSETTROP()函数,例子
第四章查询和视图
4.1知道查询文件的扩展名,了解视图的存储位置?
知道查询和视图的数据源(自由表、数据库表或视图,注意没有查询)
4.2会使用查询设计器建立查询(上机考试),注意“输出字段”,“筛选条件”,“分组依据”,“查询去向”
4.3掌握SELECT-SQL命令的语法P121-122
题目11,题目12,题目13~15
使用SQL语句从表STUDENT中查询所有姓赵的同学的信息,怎么写SQL语句?
4.4了解CREATESQLVIEW命令
了解参数化视图
掌握用USE命令打开视图,用BROWSE命令浏览视图
第五章程序设计基础
5.2知道PRG文件和FXP文件的用途P139
掌握程序的三大结构
掌握IF…ELSE…ENDIF语句
掌握DO…CASE…ENDCASE语句
掌握FOR…ENDFOR语句
掌握DOWHILE…ENDDO语句
掌握SCAN…ENDSCAN语句
掌握循环体中LOOP,EXIT语句的作用
题目16~19
5.2.5掌握过程与用户自定义函数的使用
语法格式,调用格式
题目20
5.3理解类、对象概念
理解基类,容器类,最小事件集
掌握对象的引用方法(注意层次问题)
理解事件模型
辨析VFP中事件激发的顺序
了解常见的事件
了解事件驱动和事件循环
了解_SCREEN对象(可能考!
)
第六章表单
6.3会使用表单设计器窗口设计表单
注意用户不能新建事件,但可以添加新方法
掌握SETALL方法的针对性
理解表单的数据环境(并非必须把要用的表或视图添加到数据环境中)
掌握控件与数据的绑定方法P179
掌握表单的常用属性,如MaxButton,MinButton,AutoCenter,BackColor,Enabled,Visible,closable,windowstyle,ICON
了解表单集的特性,掌握表单集对象的引用THISFORMSET
6.4掌握标签、文本框、编辑框、列表框、组合框、选项按钮组、复选框、表格、微调框、计时器、命令按钮、命令按钮组、页框控件。
区分容器控件和非容器控件
计时器控件的什么事件最关键?
第八章报表
第九章菜单
1CH2数组例子
某表单上有一个文本框(text1)和一个命令按钮。
单击命令按钮后,将随机产生12个2位的正整数,这些数存储在一个二维数组中,并且在文本框中显示(显示格式为5行8列,如图1所示)。
完善该命令按钮的Click事件代码:
DIMENSIONx(5,8)
s=SPACE(0)
FORi=1to5
FORj=1to8
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所示的提示消息框。
图2
3getfile例题
若要打开如图3所示的对话框,则可执行命令:
=GETFILE("__________","word文件名")。
4.表的打开例题
依次执行下列命令后,浏览窗口中显示的表的别名及当前工作区号分别是 () 。
CLOSETABLES ALL
USEjs
SELECT5
USEjsAGAIN
SELECT0
USEjsAGAIN
BROWSE
A.B、2 B.JS、2 C.B、5 D.E、2
返回
5.表的关闭
设某数据库中的学生表(XS.DBF)已在2号工作区中打开,且当前工作区为1号工作区,则下列命令中不能将该XS表关闭的是 ()。
A.CLOSETABLE B.USEIN2
C.CLOSEDATABASEALL D.USE
返回
6insert例子
用INSERT-SQL命令在xS(学生)表中添加如下表格所示的记录,可使用命令:
INSERTINTOjs(gh,jl,csrq) ______________ (“G9999”,”,”获得教学十佳称号",{^1976/07/14})
字段名与类型
GH(字符型)
JL(备注型)
CSRQ(日期型)
值
G9999
获得教学十佳称号
1976.07.14.
7update
XS(学生)表中有XM(姓名,字符型)和XB(性别,字符型)等字段。
如果要将所有男生记录的姓名字段值清空,则可以使用命令 () 。
A.UPDATEXSSETxm=””WHERE“xb”=男
B.UPDATEXSSETxm=SPACE(0)WHERExb="男"
C.UPDATEXSSETxm=SPACE(0) FORxb="男"
D.UPDATEXSSETxm=”” FOR "xb"=男
8update填空
用UPDATE-SQL语句修改ts(图书)表中书名(sm,C)的值时,若要在所有记录的书名两端加“《》“(假设字段宽度足够),可以使用命令:
UPDATEtsSETsm="《"+_______________+"》"
返回
9.CREATE例题
创建一个教师表(JS.dbf),其中有字段gh(工号,字符型,长度为6)、xm(工号,字符型,长度为10)、xb(性别,字符型,长度为2)、csrq(出生日期,日期型)、jl(教师简历,备注型,且允许为空值)。
CREATETABLEJS(ghc(6),xmC(10),xbc
(2),csrqD,jlM_____________)
返回
10.DBGETPROP例题
利用DBGETPROP()函数可以返回当前数据库的属性,或者返回当前数据库中表、表的字段或视图属性,例如,函数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.xh,XS.xm,SUM(CJ.CJ)AS总成绩,COUNT(*)AS选课门数;
FROMjxsj!
xsINNERJOINjxsj!
cj;
ONXs.xh=cj.xh;
GROUPBYXS.xh;
__________________
(2)完善下列SELECT-SQL命令,其功能是基于xs表和cj表查询有两门或两门以上课程不合格的学生情况。
要求输出为xh、xm、选课门数和不及格门数,查询结果按不及格门数排序且将查询结果输出到打印机打印。
(注:
cj小于60为不及格)
SELECTXS.xh,XS.xm,COUNT(*)AS选课门数,________________AS不及格门数;
FROMjxsj!
xsINNERJOINjxsj!
cj;
ONXs.xh=cj.xh;
GROUPBYCJ.xh;
ORDERBY4;
____________________
12.SELECT题目2
某图书管理数据库有"读者"和"借阅"2个表。
"读者"表中含有:
借书证号(字符型)、单位(字符型)、姓名(字符型)等字段,"借阅"表中含有:
借书证号(字符型),书目编号(字符型),借书日期(日期型)等字段。
执行下列SELECT-SQL命令,可以检索出当前至少借阅了10本图书的读者姓名和所在单位。
SELECT姓名,单位FROM读者WHERE借书证号IN;
(SELECT借书证号FROM借阅GROUPBY借书证号HAVING ________________>=10)
返回
13select题目3
数据库JXSJ中有xs(学生)表和cJ(成绩)表。
学生表XH(学号)、XM(姓名)等字段;成绩表中有XH(学号)、KCDM(课程代码)和cJ(成绩,数值型)等字段,两表通过XH段创建的索引已建立了"一对多"关系。
下列SELECT-SQL命令可用于查询各门考试成绩均在50分以下的学生总成绩,要求输出学号、姓名和总成绩,且按总成绩降序输出。
SELECTXs.xhAS学号,Xs.xmAS姓名,SUM(Cj.cj)AS总成绩;
FROMjxsj!
xsINNERJOINjxsj!
cj;
ONXs.xh=cj.xh;
GROUPBYXs.xh;
HAVING ____________<=50;
ORDERBY ____________
14.设有一考生成绩表(KSCJ),包含准考证号(ZKZH,字符型,宽度为10)、笔试成绩(BSCJ,数值型)、上机成绩(SJCJ,数值型)等字段。
准考证号的编码方式为:
第1--3个字符表示学校代号,第4--5个字符为等级与语种代号,第6--8个字符为考场代号,第9--10个字符为在考场中的序号。
如果笔试成绩大于30、上机成绩大于24为考试合格,则下列SELECT- SQL命令可用于查询等级与语种代号为"52"的各学校考试通过率(注:
通过率用数值表示范围为0~1,1表示100%通过)。
SELECTLEFT(Kscj.zkzh,3)AS学校代号,
______________________________ /COUNT(*)AS通过率;
FROMksci;
______________SUBSTR(Kscj.zkzh,4,2)='52';
_____________________
15已知某数据库表KCYZDBF含有5个字段,若其中有一个名为bxk的逻辑型字段,则可用下列SQL命令查询bxk字段值为.T.的所有记录,且要求输出所有字段,输出结果保存在表TEMP.DBF中。
SELECT _______________FROMkcyz;
WHEREbxk=.T.;
_____________Tabletemp
返回
16循环题目1
本题程序求以下正项级数的近似值:
当Sn+1-Sn<0.0001时停止求和运算,Sn+1为近似值,请完善以下程序:
【程序清单】
CLEAR
i=0
sn1=0
DOWHILE.T.
i=i+1
sn1=sn1+1/(i*(i+1)*(i+2))
sn2=_______________
IFABS(sn2-sn1)<0.0001
_______________
ENDIF
ENDDO
?
sn2
17.执行下列程序后,输出到屏幕的结果为_______________。
【程序清单】
CLEAR
cstring="VisualFoxPro"
nresult=0
m=LEN(cstring)
FORn=1tom
c=SUBSTR(cstring,n,1)
IFBETWEEN(ASC(c),ASC("A"),ASC("Z"))
LOOP
ENDIF
nresult=nresult+1
ENDFOR
?
nresult
18.执行以下程序段后,屏幕显示的运行结果为____________。
【程序清单】
CLEAR
x=12
DoWHILE.T.
x=x+1
IFx=INT(x/4)*5
?
?
x
ELSE
LOOP
ENDIF
IFX>10
EXIT
ENDIF
enddo
19.完善下列程序,其功能是显示如图3所示的文字图形。
图3程序运行结果
【程序清单】
CLEAR
c="金字大宝塔"
n=LEN(c)/2
FORi=1TOn
?
SPACE(70-i)
FORj=1 ___________
?
?
SUBS(C,2*i-1,2)
=INKEY(0.5)
ENDFOR
ENDFOR
返回
20.题目过程
执行下列程序后,输出到屏幕的结果为___________。
【程序清单】
CLEAR
STORE4TOml,m2
STORE3TOm3,m4
DOPAWITHml,m2,m3,m4
?
m4
PROCEDUREPA
PARAMETERa,b,c,d
d=b^2-4*a*c
DOCASE
CASE d<0
d=200
CASE d=0
d=300
CASEd>0
d=400
ENDCASE
RETURN
返回
21某表单(运行时如图4所示)的数据环境中有一个ZY(专业)表,该表有50条记录;表单上有3个文本框分别与专业表的专业代号、专业名称、学制字段绑定,另有一文本框(text1)用来显示物理记录号;表单上有一个计时器控件,其Interval属性值为1000,Timer事件代码如下:
IF EOF()
GOTOTOP
ELSE
SKIP
ENDIF
THISFORM.Text1.Value=RECNO()
THISFORM.Refresh
若该表单最大化按钮不可用,最小化按钮和关闭按钮可用,则表单的______________属性值为.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和MinButton属性值应分别为__________________________;表单的左上角显示的控制图标为由PC.ICO文件提供,则表单的_____________属性值为PC.ICO;表单运行时自动居中,则其_____________属性值为.T.;表单上所有的文本框均不能响应用户事件,则它们的_____________属性值为.F.。
(2)根据图2所示,表单及各控件的事件代码设置分别为:
表单的Init事件代码为:
PUBLIC ct1,ct2
ct1='开始计时(\
ct2='停止计时(\ THISFORM.Command1.Caption=_____________
计时器的Timer事件代码为:
thisform.text1.value=_____________
IFTHISFORM.Command1.Caption=ct2
nTime=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()
IFTHIS.Caption=ct1
THIS.Caption=ct2
THISFORM.Text2.Value=DATETIME()
THISFORM.Text3.Value={}
else
THIS.CAPTION=ct1
THISFORM.Text3.Value=DATETIME()
ENDIF
"退出"命令按钮(标题为图片)Click事件代码为:
THISFORM.Release