vfp错题

发布时间: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>

说明:(1ADD[COLUMN]子字的<字段名>用于指定要添加的字段;

2ALTER[COLUMN]子字的<字段名>指定要修改的已有字段;

3DROP[COLUMN]子字的<字段名1>指定要删除的字段;

4RENAME 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]

如果省略范围,表示对全部记录进行操作。要打括号!!!

5SQL SELECT语句中为了将查询结果存储到永久表应该使用______短语。

SQL SELECT语句中使用短语INTO DBF/TABLE TableName可以将查询存放到永久表中(dbf文件)。

6LOCATE命令和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),并将数据库表中姓名为"赵桂珍"的记录作物理删除。

10DO WHILEENDDO语句格式:

DO WHILE<条件>

<命令序列>

ENDDO

执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DO WHILEENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。

%为求余运算。int()为取整函数,返回指定数值表达式的整数部分。此题当x>0就执行循环:

1次:x=76543y=0,此时x>0,满足循环条件,执行循环体,y=76543%10+0*10=3x=int(76543/10)=7654

2次:x=7654y=3,此时x>0,满足循环条件,执行循环体,y=7654%10+3*10=34x=int(7654/10)=765

3次:x=765y=34,此时x>0,满足循环条件,执行循环体,y=765%10+34*10=345x=int(765/10)=76

4次:x=76y=345,此时x>0,满足循环条件,执行循环体,y=76%10+345*10=3456x=int(76/10)=7

5次:x=7y=3456,此时x>0,满足循环条件,执行循环体,y=7%10+3456*10=34567x=int(7/10)=0

此时x=0,不满足循环条件,循环结束。所以程序段执行后,内存变量y的值是34567

11、更新表中元组的值,使用UPDATE命令,一次可以更新表中的一个或多个属性值。UPDATE短语之后指定更新数据所属的表,将新的属性值或表达式赋值给对应的属性名(SET 单价=单价*1.08),并置于SET短语之后。用WHERE短语可以对元组进入限制,即对符合条件的元组进行更新。若无WHERE短语则是对表中的所有元组进行更新,%表示运算符。

12SQL从表中删除数据的命令格式如下:

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中将主关键字称作主索引。

14Visual FoxPro中,一个""就是一个关系,存储在一个.dbf文件中,多个表应该存储在多个.dbf文件中。数据库文件的扩展名为.dbc

15SELECT中用来对最终的查询结果进行排序使用的是ORDER BY短语,通常置于SELECT语句的最后。也可以对两个或多个列进行排序,这会创建嵌套排序。缺省值仍然是升序,在ORDER BY子句中最先列示的列优先,即按从左至右优先依次排序。

16根据题面要求,输入一个任意不为0的整数,例如:当x=45,根据要求可知:s的结果应为9。首先将选项A的内容代入到程序中运行,执行程序段部分。当x不为0,执行s=s+MOD(x,10)MOD()为求余函数,得出结果为s=5。接着执行选项Ax=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是谓词,EXISTSNOT 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')

本题建立的是SELECTSQL命令的嵌套查询语句。在这个命令中要用到两个SELECTFROMWHERE查询块,即内层查询块和外层查询块,通过查询块检索同时选修课程号为"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。接着执行选项Ax=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(学号,课程号,成绩)两个表,下面SQLSELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。

SELECT 学号,姓名,性别 FROM s

WHERE (SELECT * FROM sc WHERE sc.学号=s.学号 AND 成绩<85)

查询操作使用SELECT命令,本题是联接查询和嵌套查询的结合使用,内层查询是将s表和sc表通过学号联接起来,查询的结果是所有成绩都低于85分信息的集合,外层查询s表中不在内层查询结果中出现的学号、姓名和单位,在WHERE条件短语中要用NOT EXISTS谓词。

EXISTS是谓词,EXISTSNOT 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

vfp错题

相关推荐