资源描述
二级VF教材课后习题答案
习题一
一、选用题 1)D 2)A 3)B 4)B 5)C 6)B 7)C 8)D
二、填空题 1)事物与事物之间联络 2)关系数据模型 3)属性 元组 4)选用 联接 投影
5)去掉反复属性等值联接 6)空值 7)一方 多方 8)两个表主关键字
9)关系 数据库开发 面向对象
习题二
一、选用题 1)C 2)D 3)D 4)D 5)B 6)C 7)D 8)D
二、填空题
1)设计器 2)控制面板中“添加/删除程序” 3)工具 选项
4)区域 5)文献位置 6).PJX 7)代码
8)从项目中移去,被移去文献仍存在于原目录中 不仅从项目中移去文献,还从磁盘删除
习题三
一、选用题 1)D 2)B 3)C 4)D 5)A 6)C 7)A 8)65.00 9)D
二、填空题 1)337.201 2)15 3)字符型 4)D C
三、上机题
1)(假定系统目前日期是9月21日,则成果为)
今天是:9月21日
(假定系统目前日期是10月1日,则成果为)
今天是:10月01日
2) 2.4+12.4 14.80
3) 7 586个人计算机 飞跃586个人计算机 飞跃586个人计算机
4) 5 100.00 88991
5) (假定系统目前日期是9月21日,则成果为) □9月21日
习题四
一、选用题 1)D 2)D 3)D 4)C 5)C
二、填空题 1) 实体 2) 主 一般 3) SET RELATION TO 4) 逻辑体现式 5) 32767
习题五
一、选用题 1)D 2)A 3)C 4)A
二、填空题 1) UNION 2) IS NULL 3) 逻辑 4) SUM AVG 5) INTO CURSOR
三、上机题
1)
① SELECT 供应商名 FROM 供应商 WHERE 地址='北京'
② SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN;
(SELE 职工号 FROM 订购单 WHERE 供应商号='S3')
③ SELE * FROM 供应商 WHERE 地址='北京' AND ;
(供应商号 IN (SELE 供应商号 FROM 订购单 WHERE 职工号='E1')) ;
AND (供应商号 IN (SELE 供应商号 FROM 订购单 WHERE 职工号='E3'))
④ SELECT DIST 都市 FROM 仓库,职工,订购单 WHERE 供应商号='S4';
AND 订购单.职工号=职工.职工号 AND 职工.仓库号=仓库.仓库号
⑤ SELECT 订购单号 FROM 订购单 WHERE 职工号 IN ;
(SELECT 职工号 FROM 职工 WHERE 工资>1230);
AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址='北京')
⑥ SELECT AVG(面积) FROM 仓库
⑦ SELECT 仓库号,COUNT(*) FROM 职工 WHERE 工资>1220 GROUP BY 仓库号
⑧ SELECT * FROM 职工 A WHERE ;
工资<(SELECT AVG(工资) FROM 职工 B WHERE A.仓库号=B.仓库号)
2)
① INSERT INTO 供应商 value ('S9','智通企业','沈阳')
② DELETE FROM 供应商 WHERE 供应商号 NOT IN ;
(SELECT 供应商号 FROM 订购单)
PACK
③DELETE FROM 订购单 WHERE 职工号 IN;
(SELECT 职工号 FROM 职工,仓库 WHERE 都市='上海' AND;
仓库.仓库号=职工.仓库号)
④ UPDATE 仓库 SET 面积=面积+100 WHERE 都市='北京'
⑤ UPDATE 职工 SET 工资=工资*1.05 WHERE 工资<(SELECT AVG(工资) FROM 职工)
3) 建立学生管理数据库,其中包具有
学生:(学号(C/2),姓名(C/8),性别(L),出生日期(D))
【规定】 l 按照学号建立主索引;
II 出生日期字段有效性规则为:出生日期应不不小于系统目前日期,否则提醒“出生日期输入错误!”
课程:(课程号(I),课程名(C/20))
【规定】 l 按照课程号建立主索引
成绩:(学号(C/2),课程号(I),成绩(N/5/1))
【规定】 I 成绩字段有效性规则为:成绩应介于0~100分之间,否则提醒“成绩应介于0~100之间”,
默认值为60分;
II 按照学号建立一般索引并与学生表建立联络;
III 按照课程号建立一般索引并与课程表建立联络;
命令如下:
CREA DATABASE 学生管理 &&建立须生管理数据库
*建立学生表
CREATE TABLE 学生;
( 学号 C(2) PRIMARY KEY,姓名 C(8),性别 L,;
出生日期 D CHECK (出生日期<=DATE()) ERROR "出生日期输入错误!"
*建立课程表
CREATE TABLE 课程;( 课程号 I PRIMARY KEY,课程名 C(20))
*建立成绩表
CREATE TABLE 成绩( 学号 C(2),课程号 I,;
成绩 N(6,2) CHECK (成绩>=0 AND 成绩<=100) ;
ERROR "成绩应介于0~100之间" DEFAULT 60,;
FOREIGN KEY 学号 TAG 学号 REFERENCES 学生,;
FOREIGN KEY 课程号 TAG 课程号 REFERENCES 课程 )
【提醒】操作完毕后,可以使用: OPEN DATABASE 学生管理 MODI DATABASE 查当作果。
习题六 一、选用题 1)D 2)C 3)A
二、填空题 1) 自动 2) 条件 3) 更新 4) 连接
习题七
一、选用题 1)B 2)C 3)C 4)B 5) C
二、填空题 1)S>10 AND S<=100; S>1 AND S<=10;S<=1 2)A0 A10 A12 A2 115 3)6 4 2
三、上机题目
1) SET TALK OFF
CLEAR
INPUT “请输入考试成绩:” TO CHJ
DO CASE
CASE CHJ<60
DJ=”不合格”
CASE CHJ>=60 AND CHJ<90
DJ=”合格”
CASE CHJ>=90
DJ=”先进”
ENDCASE
?”成绩级别:”+DJ
SET TALK ON
2) SET TALK OFF
CLEAR
I=1
J=1
S=0
K=2
DO WHILE K<30
S=I+J
I=J
J=S
K=K+1
ENDDO
?'第'+str(k)+'个数为:'+str(s)
3)错误1:第6行改为:CASE X>30
错误2:第8行改为:CASE X<=30 AND MOD(X,5)<>0
选调试器窗口中"文献"菜单,再选用"另存输出"命令,将"调试输出"窗口内输出内容存储到文本文献LX.TXT中
习题八
一、选用题 1)D 2)B 3)B 4)C 5)D 6)C 7)C 8)B
二、上机题
1)【提醒】 操作环节:
第一步:向表单添加文本框和命令组控件,分别设置命令按钮Caption属性,在对命令按钮“=”Caption
属性设置时,不能在其属性窗口中直接输入半角“=”,否则提醒语法错误。可以输入全角“=”
或在表单FROM1Init事件中,输入如下代码完毕:
for i=1 to 10
this mandgroup1.buttons(i).caption=alltrim(str(i))
endfor
this mandgroup1.buttons(11).caption="*"
this mandgroup1.buttons(12).caption="+"
this mandgroup1.buttons(13).caption="-"
this mandgroup1.buttons(14).caption="="
this mandgroup1.buttons(15).caption="C"
第二步:在表单FORM1Init事件中定义全局变量T,并赋初值空串
PUBLIC T=''
第三步:编写命令组Click事件代码,完毕接受输入体现式:
do case
case this.value=1
t=t+"1"
thisform.text1.value=t
case this.value=2
t=t+"2"
thisform.text1.value=t
case this.value=3
t=t+"3"
thisform.text1.value=t
case this.value=4
t=t+"4"
thisform.text1.value=t
case this.value=5
t=t+"5"
thisform.text1.value=t
case this.value=6
t=t+"6"
thisform.text1.value=t
case this.value=7
t=t+"7"
thisform.text1.value=t
case this.value=8
t=t+"8"
thisform.text1.value=t
case this.value=9
t=t+"9"
thisform.text1.value=t
case this.value=10
t=t+"0"
thisform.text1.value=t
case this.value=11
t=t+"*"
thisform.text1.value=t
case this.value=12
t=t+'+'
thisform.text1.value=t
case this.value=13
t=t+'-'
thisform.text1.value=t
case this.value=14
thisform.text1.value=alltrim(str(&t,20,6)) && 宏替代T将得到数值体现式计算成果,20与6可以自己根据需要确定
case this.value=15
t=''
thisform.text1.value=t
endcase
thisform.refresh
第四步:当输入体现式错误时,将引起命令组Error事件,编写命令组Error事件代码:
thisform.text1.value="运算式错误"
2)【提醒】 操作环节:
第一步:创立表单,添加控件,将编辑框Edit1Hideselection属性设为.f.,复选框Check1数据源
(Controlsource属性)设为X,“确定”按钮Default属性设为.T.
第二步:在表单Load事件中定义公共变量X,赋初值0
第三步:编写确定按钮Click事件代码:
IF X=0
THISFORM.EDIT1.SELTEXT=THISFORM.TEXT1.VALUE
ELSE
THISFORM.TEXT1.VALUE=THISFORM.EDIT1.SELTEXT
ENDIF
第四步:在表单DESTORY事件中释放公共变量X
3)【提醒】 操作环节:
第一步:创立表单,添加控件,将组合框Combo1Style属性改为2,Rowsourcetype属性改为5,Rowsource设为
在表单LOAD事件中定义全局数组MA(5);修改列表框List1Multiselect属性改为.t.,容许多重选定;确定按
钮Default属性改为.T.
第二步:在表单LOAD事件中定义数组,并给数组元素赋值,例如代码如下:
PUBLIC MA(5)
MA(1)="选课.DBF"
MA(2)="学生.DBF"
MA(3)="仓库.DBF"
MA(4)="职工.DBF"
MA(5)="订购单.DBF"
第三步:组合框InteractiveChange事件编写如下代码:
THISFORM.LIST1.ROWSOURCETYPE=8
fname=thisform bo1.value
THISFORM.LIST1.ROWSOURCE=fname
use &fname
第四步:在确定按钮CLICK事件中编写代码:
T=THISFORM BO1.VALUE &&获得选中表文献名
T=LEFT(t,LEN(T)-3) &&去掉文献名背面.dbf
M=0
* 判断哪些条目被选中,从而得到被选中字段保留在变量T中
FOR I=1 TO thisform.list1.LISTCOUNT
IF THISFORM.LIST1.SELECTED(I)
T=T+THISFORM.LIST1.LIST(I)+','
M=M+1
ENDIF
ENDFOR
T=LEFT(t,LEN(T)-1) &&删除最终一种字段背面逗号
*显示指定字段上内容
If m<>0
THISFORM.LIST1.ColumnCount=m
THISFORM.LIST1.Rowsource=T
THISFORM.LIST1.RowsourceType=6
Endif
第五步:在表单DESTORY事件中编写代码释放公共变量MA数组
4)【提醒】 操作环节:
第一步:创立表单,添加所需控件,修改有关CAPTION值,将学生表添加到数据环境,然后分别将文本框
和复选框Controlsource属性改为和其相对应字段做为数据源
第二步:上一条按钮CLICK事件代码:
SKIP -1
THISFORM.REFRESH
第二步:下一条按钮CLICK事件代码:
SKIP
THISFORM.REFRESH
第三步:关闭按钮CLICK事件代码:
THISFORM.RELEASE
习题九
一、填空题 1)条形菜单 弹出式菜单 2)SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT
3)常规选项 ShowWindow Init 4)RightClick
二、上机题
1)【提醒】设计浏览选项时判断目前工作区与否有打开表用函数USED(工作区号),在提醒选项对话框跳过中输入体现式
USED()=.F.
其他选项请学员自己设计完毕
2)【提醒】
第一步:建立表单,添加组合框控件,修改表单LOAD事件代码如下:
public M(2)
M(1)="学生"
M(2)="选课"
表单DESTORY事件中释放公共变量M
第二步:组合框控件RightClick事件中调用快捷菜单MYM:DO MYM.MPR
第三步:保留表单文献名为MYF.SCX
第四步:建立快捷菜单
在"表文献名"选项中选用"过程",代码如下:myf bo1.rowsourcetype=0
myf bo1.rowsource='m(2)'
myf bo1.rowsourcetype=5
在"学生表字段"选项中选用"过程",代码如下:use 学生
myf bo1.rowsourcetype=0
myf bo1.rowsource='学生'
myf bo1.rowsourcetype=8
在"选课表字段"选项中选用"过程",代码如下:use 选课
myf bo1.rowsourcetype=0
myf bo1.rowsource='选课'
myf bo1.rowSourcetype=8
在"组合/列表框"选项中选用"过程",代码如下:if myf bo1.style=0
myf bo1.style=2
else
myf bo1.style=2
endif
3)【提醒】打开第1题菜单,在“常规选项”对话框中选用“顶层表单”复选框,注意要重新生成菜单程序;
将表单ShowWindow属性设为2,在表单Init事件中添加调用菜单程序命令
习题十
一、选用题 1)A 2)D 3)B 4)B
二、填空题 1)数据源 布局 2)文献 通用型字段 3)组标头 组注脚 4)“页面设置”对话框列数
习题十一
一、选用题 1)B 2)D 3)C 4)D 5)A
二、填空题
1)应用程序框架 2)可以在桌面上运行.EXE程序
3)在VF主窗口中运行.APP程序 4)清理 5)向导 所有 6)数
展开阅读全文