9、有备注型字段的表文件,当删除所对应的表备注文件后,该表文件仍可打开。( x ) 10、表单的数据源可以是表,也可以是视图。( o )
三、填空题
1、用二维表表示实体及实体之间联系的数据模型的是__关系模型____。
2、字段变量可以与内存变量同名,若没有指明是哪种形式的变量,系统默认为是_字段变量_。 3、执行SET EXACT OFF命令后,命令\数据库\数据]的执行结果是_____ true __。 4、命令LEFT(\,LEN(\计算机\的结果是__”123456”__。 5、打开一个空表,函数EOF()的值为_.t.__。
6、在SELECT-SQL语句中,DISTINCT选项的功能是_去掉重复记录__。
7、在一个有10条记录的表中,执行LIST命令后,再执行SKIP -5,这时记录指针指向第__6___条记录。
8、图片声音动画数据一般以__通用型___类型的字段存储在数据库记录中。 9、SQL是一种___关系____数据库的语言
10、在SQL查询时,使用where子句指出的是:___查询条件____。
11、学生档案表中有性别(c,2)和民族(c,8),要求找出所有民族是回族的女同学纪录的查找条件是__性别=”女” and 民族=”回族”____。
12、可以接受数值型常量的输入命令是____ input __。
13、在SQL语句中要查询表s在AGE字段上取空值的记录,正确的SQL语句为: SELECT * FROM s WHERE __ input ___。
14、在Visual Foxpro中,可以使用___ exit ____语句跳出SCAN?ENDSCAN循环体执行ENDSCAN后面的语句。
15、与命令list的执行结果完全相同的另一个display命令应该是__ display all __。
16、在Visual Foxpro中,数据库表中不允许有重复记录是通过指定__ distinct ___来实现的。
17、在SQL的SELECT语句进行分组计算查询时,可以使用___ having ___子句来去掉不满足条件的分组。
18、要在\成绩\表中插入一条记录,应该使用的SQL语句是:
__ insert having __ 成绩 (学号,英语,数学,语文) values (“2001100111”,9l,78,86)
19、职工的部门、职工号在“职工”表中,津贴在“工资”表中,两个表的公共字段是职工号,列出职工的部门、职工号和津贴等信息的SQL语句是:SELECT 职工.部门,职工.职工号,工资.津贴 FROM 职工,工资___ where 职工.职工号=工资.职工号___。
20、在Visual Foxpro中,数据库表S中的通用型字段的内容将存储在__备注___文件中。
四、程序填空题
1、设供应商.DBF用于存放供应商信息,其字段有:姓名(字符型),电话(字符型),地址(字符型)。下面程序的功能是:查找电话号码中含有“123”的所有姓李的供应商的信息。请将程序填写完整。 SET TALK OFF CLEAR
_ use 供应商.db __
DO WHILE .NOT. EOF()
IF SUBSTR(姓名,1,2)=“李” AND ____”123”$电话______ ?姓名+电话+地址 _____ skip _____ ENDDO USE
SET TALK ON RETURN
2、有如下程序段,其功能是显示汉字“2008年北京申奥成功!”从屏幕的顶部移至底部,设屏幕共24行。请填空补充该程序。 CLEAR
CH=〝2008年北京申奥成功!〞 R=1
DO WHILE ____ R<=24________
@_____R _____ , 26 SAY CH T=INKEY(0.2)
______ R=R+1_________ ENDDO RETURN
3、表文件“xs.dbf”中记录如下 学号 姓名 性别 成绩 S101 张军 男 90 S102 林平 男 66 S103 任涛 男 50 S104 何晓红 女 76 S105 徐静 女 82 S106 刘维海 男 86 S107 李敏 女 92 S108 马华远 男 60 S109 李娜 女 76 S110 赵菲 女 78 阅读下列程序: CLEAR USE XS
INDEX ON –成绩 TO CJ1 GO TOP
DISP 姓名,成绩 N=0
LOCATE FOR 性别=女 AND 成绩>=80 DO WHILE .NOT. EOF() IF FOUND() N=N+1 CONTINUE ENDIF ENDDO ? N
CLOSE ALL RETURN
(1)程序第六行“DISP 姓名,成绩”执行结果显示是___D_____
(A) 张军 90 (B)赵菲 78 (C)任涛 50 (D)李敏 92
(2)程序运行完毕后,N的值为_____A _________
(A) 2 (B)3 (C)4 (D)5 (3)关于循环中的CONTINUE,说法正确的是______c___________ (A) 可以用SKIP语句代替,不影响程序执行结果 (B) 可以放到循环外,不影响程序执行结果 (C) 去掉CONTINUE,程序将进入死循环 (D) 去掉CONTINUE,不影响程序执行结果 4、数据库信息.DBC 中有数据库表职工.DBF,用SELECT 命令查询职工表中年龄不小于25岁、“职务”字段为“销售员”的职工的信息,结果按“部门号”字段值降序排列,请填空:
SELECT 部门号,职工号,姓名,职务,年龄; FROM 人事!职工
WHERE 年龄>=25 AND 职务=“销售员” ORDER BY 部门号 desc 5、有图书表TS.DBF,其内容如下
记录号 书名 出版单位 单价 1 VFP数据库 电子科大 20.00 2 计算机基础 四川大学 25.00 3 信号与系统 电子科大 28.00 4 计算机网络 电子科大 27.00 5 计算机原理 四川大学 21.00 6 现代汉语 四川师大 23.00 7 操作系统 西南交大 24.00 阅读下列程序:
UPDATE TS SET 单价=单价+8 WHERE 出版单位=’四川师大’
SELECT 出版单位,AVG(单价) AS 单价 FROM TS GROUP BY 出版单位;
INTO DBF ABC
SELECT * FROM ABC WHERE 单价<28 ORDER BY 单价 DESC; INTO DBF ABC1 USE ABC1 ? 出版单位
(1) 新表ABC的记录数有______C_____个
(A)7 (B) 5 (C)4 (D)3 (2) 最后显示的出版单位是___B_________ (A)电子科大 (B)四川大学 (C)西南交大 (D)四川师大 (4)新表ABC1的记录数有_____A________个
(A)3 (B)4 (C)5 (D)6
五、程序设计题
1、假设约定年龄不超过35岁的职工为青年职工;年龄在36岁至45岁的职工为中年职工;年龄超过45岁的职工为老年职工。从键盘输入任一职工姓名在STUD表中查找,显示其姓名、年龄以及所属的职工类型。
SET TALK OFF CLEAR USE STUD
ACCEPT '请输入所查的姓名: ' TO XM
LOCATE FOR 姓名=XM IF .NOT. FOUND()
?”查无此人” ELSE
NL=YEAR(DATE())-YEAR(出生日期) DO CASE
CASE NL<=35
?姓名,NL,”青年职工” CASE NL>35 .AND. NL<=45 ? 姓名,NL,”中年职工” OTHERWISE
? 姓名,NL,”老年职工”
ENDCASE
ENDIF USE
SET TALK ON RETURN
2、编程显示STUD表中所有男学员的姓名、工龄及工资。 SET TALK OFF USE STUD SCAN
IF 性别=”男”
? 姓名,YEAR(DATE())-YEAR(工作时间),工资 ENDIF ENDSCAN USE
SET TALK ON RETURN
3、从键盘输入N个数存入数组A中,找出其中的最大数。 SET TALK OFF CLEAR
INPUT “N=?” TO N DIMENSION A(N) FOR I=1 TO N
INPUT \输入一个数\ TO A(I) ENDFOR
MAX=A(1) &&给存放最大数的变量MAX赋初值 FOR I=2 TO N
IF A(I) >MAX MAX=A(I) ENDIF

