vfp错题
发布时间:2011-10-31 19:07:42
发布时间:2011-10-31 19:07:42
Vfp错题笔记
1、用MODIFY STRUCTURE命令可以打开表设计器,对表结构进行修改,前提是该表须先打开。
用ALTER TABLE命令可以修改<表名>表示的表的结构。该命令格式为:
ALTER TABLE<表名>
ADD|ALTER[COLUMN]<字段名><字段类型>[(<字段宽度>[,<小数位数>])]
ALTER TABLE<表名>
DROP[COLUMN]<字段名1>|RENAME COLUMN<字段名2>TO<字段名3>
说明:(1)ADD[COLUMN]子字的<字段名>用于指定要添加的字段;
(2)ALTER[COLUMN]子字的<字段名>指定要修改的已有字段;
(3)DROP[COLUMN]子字的<字段名1>指定要删除的字段;
(4)RENAME COLUMN子字,将<字段名2>表示的字段名改为<字段名3>表示的字段名。
2、使用的数据表如下:
当前盘当前目录下有数据库:大奖赛.dbc,其中有数据库表"歌手.dbf"、"评分.dbf"。
"歌手"表:
"评分"表:
与"SELECT * FROM 歌手 WHERE NOT(最后得分>9.00 OR最后得分<8.00)"等价的语句是______。
SELECT * FROM 歌手 WHERE 最后得分>=8.00 AND 最后得分<=9.00
此题表示查询最后得分小于等于9.00或者大于等于8.00的歌手信息
3、设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS)
主关键字是NO
其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。
插入"95031"班学号为30,姓名为"郑和"的学生记录;_______。
VISUAL FOXPRO支持两种SQL插入命令的格式,第一种格式是标准格式,第二种格式是VISUAL FOXPRO的特殊格式。
第一种格式:
INSERT INTO dbf_mame[(fname1[,fname2,...])]
values(eExpression1[,eExpression2,...])
第二种格式:
INSERT INTO dbf_name FROM ARRAY Name|FROM MEMVAR
其中:
INSERT INTO dbf_name说明向由dbf_name指定的表中插入记录,当插入的不是完整的记录时,可以用fname1,fname2,...指定字段;
VALUES(eExpression1[,eExpression2,...])给出具体的记录值;
FROM ARRAY Name说明从指定的数组中插入记录;
FROM MEMVAR说明根据同名的内存变量来插入记录值,如果同名的变量不存在,那么相应的字段为默认值或空。
4、"职工"表有工资字段,计算工资合计的SQL语句是SELECT ______ FROM 职工。
SUM求和函数格式:
SUM [eExpressionList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[TO MemVarNameList | TO ARRAY Name]
[NOOPTIMIZE]
如果省略范围,表示对全部记录进行操作。要打括号!!!
5、在SQL SELECT语句中为了将查询结果存储到永久表应该使用______短语。
在SQL SELECT语句中使用短语INTO DBF/TABLE TableName可以将查询存放到永久表中(dbf文件)。
6、LOCATE命令和SEEK命令都需要事先对表进行索引。(错误!)
7、在考生文件夹下完成下列操作:
⑴利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf。
⑵利用SQL INSERT命令插入记录("600028",4.36, 4.60, 5500)到stock_bk.dbf表。
⑶利用SQL UPDATE命令将stock_bk.dbf表中"股票代码"为"600007"的股票"现价"改为8.88。
⑷利用SQL DELETE命令删除stock_bk.dbf表中"股票代码"为"600000"的股票。
本题的主要考核点:SQL语句的使用。
⑴SELE * FROM stock_sl INTO DBF stock_bk
⑵INSE INTO stock_bk (股票代码,买入价,现价,持有数量)VALU("600028", 4.36, 4.60, 5500)
⑶UPDA stock_bk SET 现价=8.88 WHER 股票代码="600007"
⑷DELE FROM stock_bk WHER 股票代码="600000"
8、在考生文件夹下完成如下操作:
在考生文件夹下有表order_list96.dbf。
列出总金额大于所有订购单总金额平均值的订购单(order_list96)清单(按客户号升序排列),并将结果存储到RESULT96表中(表结构与order_list96表结构相同)。
操作完成后将操作结果保存在考生文件夹下 ?
9、请打开考生文件夹下的数据库表d61.dbf,完成如下操作:
将所有学生的平均分添入平均分字段((英语成绩+数学成绩)/2),并将数据库表中姓名为"赵桂珍"的记录作物理删除。 ?
10、DO WHILE-ENDDO语句格式:
DO WHILE<条件>
<命令序列>
ENDDO
执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DO WHILE与ENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。
%为求余运算。int()为取整函数,返回指定数值表达式的整数部分。此题当x>0就执行循环:
第1次:x=76543,y=0,此时x>0,满足循环条件,执行循环体,y=76543%10+0*10=3,x=int(76543/10)=7654;
第2次:x=7654,y=3,此时x>0,满足循环条件,执行循环体,y=7654%10+3*10=34,x=int(7654/10)=765;
第3次:x=765,y=34,此时x>0,满足循环条件,执行循环体,y=765%10+34*10=345,x=int(765/10)=76;
第4次:x=76,y=345,此时x>0,满足循环条件,执行循环体,y=76%10+345*10=3456,x=int(76/10)=7;
第5次:x=7,y=3456,此时x>0,满足循环条件,执行循环体,y=7%10+3456*10=34567,x=int(7/10)=0。
此时x=0,不满足循环条件,循环结束。所以程序段执行后,内存变量y的值是34567。
11、更新表中元组的值,使用UPDATE命令,一次可以更新表中的一个或多个属性值。UPDATE短语之后指定更新数据所属的表,将新的属性值或表达式赋值给对应的属性名(SET 单价=单价*1.08),并置于SET短语之后。用WHERE短语可以对元组进入限制,即对符合条件的元组进行更新。若无WHERE短语则是对表中的所有元组进行更新,%表示运算符。
12、SQL从表中删除数据的命令格式如下:
DELETE FROM TableName [WHERE Condition]这里FROM指定从哪个表中删除数据,WHERE 指定被删除的条件。*可以与任何数目的字符相匹配。
VISUAL FOXPRO支持两种SQL插入命令的格式,第一种格式是标准格式,第二种格式是VISUAL FOXPRO的特殊格式。
第一种格式:
INSERT INTO dbf_mame[(fname1[,fname2,...])]
values(eExpression1[,eExpression2,...])
第二种格式:
INSERT INTO dbf_name FROM ARRAY Name|FROM MEMVAR
其中:
INSERT INTO dbf_name说明向由dbf_name指定的表中插入记录,当插入的不是完整的记录时,可以用fname1,fname2,...指定字段;
VALUES(eExpression1[,eExpression2,...])给出具体的记录值;
FROM ARRAY Name说明从指定的数组中插入记录;
FROM MEMVAR说明根据同名的内存变量来插入记录值,如果同名的变量不存在,那么相应的字段为默认值或空。
13、实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在Visual FoxPro中利用主关键字或候选关键字来保证表中的记录惟一,即保证实体惟一性。在Visual FoxPro中将主关键字称作主索引。
14、在Visual FoxPro中,一个"表"就是一个关系,存储在一个.dbf文件中,多个表应该存储在多个.dbf文件中。数据库文件的扩展名为.dbc。
15、SELECT中用来对最终的查询结果进行排序使用的是ORDER BY短语,通常置于SELECT语句的最后。也可以对两个或多个列进行排序,这会创建嵌套排序。缺省值仍然是升序,在ORDER BY子句中最先列示的列优先,即按从左至右优先依次排序。
16、根据题面要求,输入一个任意不为0的整数,例如:当x=45,根据要求可知:s的结果应为9。首先将选项A的内容代入到程序中运行,执行程序段部分。当x不为0,执行s=s+MOD(x,10),MOD()为求余函数,得出结果为s=5。接着执行选项A的x=int(x/10),int()为取整函数,得出x的值为4。此时x的值不为0,继续执行s=s+MOD(x,10),得出s的值为9;执行x=int(x/10),得出x的值为0,根据执行条件可知当x=0时,循环语句结束,得出最后s的值为9,符合题目要求的执行完程序后s的值为各位数相加的和的条件。
17、查询操作使用SELECT命令,本题是连接查询和嵌套查询的结合使用,内层查询是将SC表和S表通过学号连接起来,查询的结果是选修的每门课程的成绩都小于85分的学生信息,外层查询表中不在内层查询结果中出现的学生的学号、姓名和性别,在WHERE条件短语中要用NOT EXISTS谓词。EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
18、基于视图的查询,一般格式如下:
CREATE VIEW 视图名 AS
SELECT<目标列表达式>
FROM[[<表名1>]
[[INNE] JOIN<表名2>]…
[ON<联接条件>]…]
[WHERE<条件表达式>]
[GROUP BY<列名1>
[HAVING<内部函数表达式>]]
[ORDER BY<列名2>{ASC/DESC}]
19、下列程序段执行以后,内存变量y的值是______。
x=34567
y=0
DO WHILE x>0
y=x%10+y*10
x=int(x/10)
ENDDO
此题意当x>0就执行循环,%为取余函数,int()为取整函数,经过循环运行的结果是76543。
20、设有学生选课表SC(学号,课程号,成绩),用SQL检索同时选修课程号为"C1"和"C5"的学生的学号的正确命令是______。
SELECT 学号 FROM SC
WHERE 课程号='C1' AND 学号 IN(SELECT 学号 FROM SC WHERE 课程号='C5')
本题建立的是SELECT-SQL命令的嵌套查询语句。在这个命令中要用到两个SELECT-FROM-WHERE查询块,即内层查询块和外层查询块,通过查询块检索同时选修课程号为"C1"和"C5"的学生的学号。
21、下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是______。
SET TALK OFF
INPUT "x=" TO x
s=0
DO WHILE x!=0
s=s+MOD(x,10)
____________
ENDDO
?s
SET TALK ON
x=int(x/10)
根据题面要求,输入一个任意不为0的整数,例如:当x=45,根据要求可知:s的结果应为9。首先将选项A的内容代入到程序中运行,执行程序段部分。当x不为0,执行s=s+MOD(x,10),MOD()为求余函数,得出结果为s=5。接着执行选项A的x=int(x/10),int()为取整函数,得出x的值为4。此时x的值不为0,继续执行s=s+MOD(x,10),得出s的值为9;执行x=int(x/10),得出x的值为0,根据执行条件可知当x=0时,循环语句结束,得出最后s的值为9,符合题目要求的执行完程序后s的值为各位数相加的和的条件。用同样的方法计算其他选项不符合要求,所以选项A就是本题的正确答案。
22、设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。
SELECT 学号,姓名,性别 FROM s
WHERE (SELECT * FROM sc WHERE sc.学号=s.学号 AND 成绩<85)
查询操作使用SELECT命令,本题是联接查询和嵌套查询的结合使用,内层查询是将s表和sc表通过学号联接起来,查询的结果是所有成绩都低于85分信息的集合,外层查询s表中不在内层查询结果中出现的学号、姓名和单位,在WHERE条件短语中要用NOT EXISTS谓词。
EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
23、表达式{^2005-10-3 10:0:0}-{^2005-10-3 9:0:0}的数据类型是______。
日期时间表达式中可以使用的运算符有+和-两个。
格式 结果及类型
日期+天数 日期型。指定日期若干天后的日期
天数+日期 日期型。指定日期若干天后的日期
日期-天数 日期型。指定日期若干天后的日期
日期-日期 数值型。两个指定日期相差的天数
日期时间+秒数 日期时间型。指定日期时间若干秒后的日期时间
秒数+日期时间 日期时间型。指定日期时间若干秒后的日期时间
日期时间-秒数 日期时间型。指定日期时间若干秒前的日期时间
日期时间-日期时间 数值型。两个指定日期时间相差的秒数
24、在定义字段有效性规则时,在规则框中输入的表达式类型是__逻辑型_。
建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的"字段"选项卡中有一组定义字段有效性规则的项目,它们是"规则"、"信息"、"默认值"三项。其中"规则"是逻辑表达式,"信息"是字符串表达式,"默认值"的类型则以字段的类型确定。
25、执行GO TOP后,RECNO()的值一定等于1。(正确)
26、"照片"字段的类型可以修改为C型的。(错误)
27、不允许将用户画的一幅画放入到表文件的记录中。(错误)
28、建立关联的两个表都必须先建立索引。(错误)
29、在考生文件夹下完成如下操作:
在考生文件夹下有表商品表98.dbf和销售表98.dbf。
根据"销售表98"和"商品表98"查询每种商品的商品号、商品名、单价、销售数量和销售金额(商品号、商品名取自商品表98,单价和销售数量取自销售表98,销售金额=单价*销售数量),结果按销售金额降序排序,并将查询结果存储到SEE_A98表中。
操作完成后将操作结果保存在考生文件夹下 ?
———柴霄静 经管101班