VF 习题Word文件下载.docx

上传人:b****6 文档编号:21397620 上传时间:2023-01-30 格式:DOCX 页数:16 大小:24.02KB
下载 相关 举报
VF 习题Word文件下载.docx_第1页
第1页 / 共16页
VF 习题Word文件下载.docx_第2页
第2页 / 共16页
VF 习题Word文件下载.docx_第3页
第3页 / 共16页
VF 习题Word文件下载.docx_第4页
第4页 / 共16页
VF 习题Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VF 习题Word文件下载.docx

《VF 习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《VF 习题Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

VF 习题Word文件下载.docx

DELETEFROM数据库名!

表名WHERE条件表达式

(5)更新记录

UPDATE数据库名!

表名

   SET字段名1=表达式1,字段名2=表达式2…

   WHERE条件表达式

说明:

如果不使用WHERE子句,则更新全部记录

二、数据库基本操作题

在VF集成环境下,按照以下要求操作。

1、请在考生文件夹下建立一个数据库KS1。

2、在新建的数据库KS1中建立一个名称为order.dbf的数据库表,表结构如下:

客户号字符型(6)

订单号字符型(5)

订购日期日期型

总金额数值型(10,2)

3、在新建的表中添加如下记录内容:

客户号订单号订购日期总金额

c10001tr01c2001-10-14000.00

d00001tr01a2002-2-104450.00

4、为表order.db按“客户号”的降序建立结构复合索引,索引类型为主索引,索引标识为khh。

5、按客户号升序排序生成新的排序文件:

Sname.dbf。

6、复制一个新的表文件,只要客户号和订单号两个字段,名称为:

new.dbf。

三、SQL命令题

1、已有表文件stock(股票代码C(6),买入价N(10.2),现价N(10.2),持有数量N(10)),

按照如下要求写出SQL语句。

(1)查询股票代码为“000625”的股票的持有数量,并将查询结果按“持有数量”的降序输出到表文件sl.dbf中。

Sele持有数量fromstockwhere股票代码=”000625”orderby持有数量descintotablesl

(2)查询“买入价”最高的股票代码和持有数量。

Sele股票代码,持有数量fromstockwhere买入价>

=all(sele买入价fromstock)

说明:

>

=all表示大于或等于子查询结果中的最大值

(3)利用SQL命令插入记录("

600028"

4.36,4.60,5500)到stock.dbf表。

Insertintostockvalue("

4.36,4.60,5500)

(4)利用SQL命令将stock.dbf表中股票代码为"

600007"

的股票现价改为8.88;

并将所有股票的持有数量都加20

Updatestockset现价=8.88where股票代码="

(5)利用SQL命令将stock.dbf表中股票代码为"

600000"

的股票加上删除标记。

deletefromstockwhere股票代码="

2、已有表文件:

成绩.dbf(学号(C),姓名(C),班级(C),英语(N),数据库(N),数学(N))

按照以下要求写出SQL语句。

(1)查询“会计091”班英语最高分是多少?

selemax(英语)as英语最高分from成绩

(2)查询“会计091”班英语最高分的学生的学号、姓名和英语成绩;

sele学号,姓名,英语from成绩;

where英语>

=all(select英语fromstuwhere班级=”会计091”)

=all大于或等于子查询结果中的最大值

=ANY大于或等于子查询结果中的最小值

(3)查询每个班级三门课程的总分,输出信息为:

班级,英语总分,数据库总分,数学总分;

Select班级,sum(英语)as英语总分,sum(数据库)as数据库总分,sum(数学)as数学总分from成绩groupby班级

(4)在成绩表中查询数学良好(75~85分)的学生的学号、姓名、数学、数据库、英语信息,并将查询结果输出到数组aa中;

Select学号,姓名,数学,数据库,英语from成绩where数学between75and85intoarrayaa

等价命令:

Select学号,姓名,数学,数据库,英语from成绩where数学>

=75and数学<

=85intoarrayaa

(5)在成绩表中求出所有学生的英语、数据库、数学的平均成绩,显示结果为英语平均分、数据库平均分、数学平均分。

Selectavg(英语)as英语平均分,avg(数据库)as数据库平均分,avg(数学)as数学平均分from成绩

四、填空题

(1)用严格的日期格式,将日期型数据2008年7月1日赋值给变量A2的语句。

A={^2008/07/01}

(2)在VFP中要将系统默认磁盘设置为F:

\data盘,可执行命令是什么?

setdefaulttof:

\data

(3)顺序执行如下两条命令后,显示的结果是________。

s="

ABC"

s=s-"

DEF"

?

s

结果:

ABCDEF

(4)用命令方式,在D盘根目录下建立一个名为“学生信息管理”的数据库,写出命令。

Creatdatabased:

\学生信息管理

(5)写出打开数据库“学生信息管理.dbc”的设计器的命令。

Modifydatabase学生信息管理

(6)修改数据库中表结构的命令是________?

Modifystructure

(7)写出创建项目文件“学生信息管理.pjx”的命令。

Creatproject学生信息管理

(8)项目管理器的功能是什么?

参看教材32页

(9)在项目管理器的右侧有6个命令按钮,这6个命令按钮会随着所选文件类型的不同而动态改变,6个命令按钮分别是:

新建、添加、修改、运行、移去、连编

(10)已知学生基本情况表,下面的操作是对其增加6号和7号记录,请填空。

  USE 学生基本情况表

  ____________go6

  INSERTBEFORE

INSERT

(11)恢复所有做删除标记的记录的命令是:

__________recallall

(12)假设表文件student.dbf已经打开,将student.dbf的结构原样复制到表文件"

xsb3.dbf"

中的命令是________。

copystructuretoxsb3

(13)有自由表文件:

xs.dbf(xh(c7),xm(c8),xb(L),

csrq(D8),jxj(N7.2),bz(M4))

写出以独占方式打开表文件“xs.dbf”的命令:

usexsEXCLUSIVE

(14)有自由表文件:

写出连续显示表的全部记录的命令:

list

(15)有自由表文件:

写出:

显示1985年1月1日至2002年12月31日之间出生的学生记录:

listforcsrq>

={^1985/01/01}andcsrq<

={^2002/12/31}

(16)有自由表文件:

将记录指针从首记录向下移3条记录,显示当前记录号,并显示当前记录内容,请填空:

gotop

skip3

?

________recno()

display

(17)有自由表文件:

xs.dbf(xh(c7),xm(c8),xb(C2),

写出如下list或display或browse命令:

显示所有女生的姓名、出生日期、奖学金的记录。

Listfieldxm,csrq,jxjforxb=”女”

或Displayfieldxm,csrq,jxjforxb=”女”

或browsefieldxm,csrq,jxjforxb=”女”

(18)将记录指针从末记录向上移2条记录,显示记录号,并显示该记录内容,请填空。

usexs.dbf

gobottom

skip-2

recno()

_______display

(19)已知表:

stu.dbf(姓名(c6),性别(c2),班级(c5),籍贯(c6),数学(N3),英语(N3),物理(N3),平均成绩(N3),总分(N5))。

假设stu.dbf已经打开,下列两条命令是在表的第3条记录前增加一条新的空白记录的命令,请填空。

go3

insert____________beforeblank

(20)已知表:

stu.dbf(姓名(c6),性别(c2),班级(c5),籍贯(c6),数学(N3),英语(N3),物理(N3),平均成绩(N3),总分(N5));

下列命令序列是在"

stu.dbf"

表的第4条记录后增加一条新的空白记录的,再用Replace替换命令修改新添加的空白记录。

记录的内容为:

”刘小开”,”男”,”旅游1”,”广州”,95,88,86,请完善程序。

usestu

go4

insertblan

replace姓名with’刘小开’,性别with’男’,班级with’旅游1’,籍贯with’广州’,_________

数学with95,英语with88,物理with86

(21)已知表:

设stu.dbf已经打开,用Replace命令计算表中所有记录的平均成绩和总分字段的值。

Replaceall总分with数学+英语+物理,平均成绩with总分/3

(22)已知表:

设stu.dbf已经打开,将stu.dbf原样复制为stud.dbf。

Copytostud

(23)已知表:

假设与"

stu.db"

f结构相同的表文件"

stud.dbf"

已经打开,写出将stu.dbf中的男生记录添加到stud.dbf尾部的命令。

Appendfromstufor性别=”男”

(24)已知表:

下列命令序列是彻底删除7~9号记录的命令,请填空:

go7

deletenext3

____________pack

(25)已知表:

下列命令是用Sum命令分别求出数学、英语、物理三门课程的所有学生的总分,分别存入内存变量sx,yy,wl中,并在屏幕上显示,请填空:

sum数学,英语,物理to____________sx,yy,wl

sx,yy,wl

(26)已知表:

在表的尾部添加2条新的空白记录,空白记录的姓名字段用“最高分”替换;

数学、英语、物理、平均成绩、总分字段分别用它们的最高分替换,如下

图所示,请完善程序:

appendblan

appendblan

selectmax(数学),max(英语),max(物理),max(平均成绩),max(总分)intoarray________a

*该命令执行后记录指针移动到表的末尾

skip-2

Replace姓名with“最高分”,数学witha

(1),英语witha

(2),物理witha(3),平均成绩witha(4),总分witha(5)

(27)已知表:

按班级进行汇总:

求出数学,英语,物理三门课程的班级总分,并汇总到表文件hz.bdf中,表文件hz.dbf的记录是:

一个班一条记录。

请完善程序:

Usestu

Indexon班级tagbj&

&

必须按班级建索引

________on班级tohzfield数学,英语,物理

Total

(28)主索引和______索引不允许记录中出现重复值。

侯选

(29)在VF中利用菜单方式建立的索引都是______索引。

结构复合

(30)根据表:

xs.dbf(学号(c7),姓名(c8),性别(L),出生日期(D8),奖学金(N7.2),备注(4)),写出实现下列的操作命令。

假设表“xs.dbf”已经打开:

按学生的学号建立单索引文件“sy.idx”

Indexon学号tosy

五、程序设计

1、下载文件student6.dbf到考生文件夹,编写程序文件prog6.prg,prog6程序的功能是:

①统计student6.dbf数据表中考生的成绩,统计办法为:

笔试和上机成绩都为90分(含90)以上(优秀)的人数,笔试和上机成绩都为60分(含60)以上(合格)的人数,如单项60分(含60)以上(补考)的人数,其他(不及格)的人数。

②新建一个表newtable6.dbf,有两个字段:

结论C(10),人数N(3),将统计结果存入newtable6.dbf表中,并将prog6.prg和newtable6.dbf文件上传。

③,请完善程序,并运行、存盘提交。

(2)

ETTALKOFF

store0ton1,n2,n3,n4

USEstudent6.dbf

dowhilenot(eof())

docase

case笔试>

=90.AND.上机>

=90

n1=n1+1

=60.and.上机>

=60

n2=n2+1

case(笔试<

60.and.上机>

60)(or)(笔试>

60.and.上机<

60)

n3=n3+1

otherwise

n4=n4+1

endcase

(skip)

enddo

(use)newtable6.dbf

INSERTintonewtable6value("

优秀"

n1)

合格"

n2)

补考"

n3)

不合格"

n4)

USE

SETTALKON

2、下载程序文件prog6.prg到考生文件夹,并在考生文件夹新建一个表newtable6.dbf,该表只有一个字段:

结论N(10.2);

①、prog6程序的功能是:

求T=1!

+2!

+3!

+4!

+…20!

的值。

要求(分别用do-while,循环和for循环实现,)。

②、程序编写运行完后请按要求提交。

(5)

settalkoff

s=(0)

t=

(1)

i=1

DOwhilei<

=10

t=t*i

s=s+t

(i=i+1)

ENDDO

USEnewtable6

appendblank

(replace)结论WITHS

use

settalkon

3、下载table6.dbf,prog6.prg文件到考生文件夹,并将table6.dbf文件另复制成tableout6.dbf文件;

prog6程序的功能是:

①对tableout6.dbf中的每条记录的工资字段作如下变化:

若工资>

=5000,则下降6%;

若工资<

5000,则下降3%。

要求用dowhile.not.eof()控制每条记录。

②完善程序后运行程序,完成后保存程序并按要求提交。

(7)

USEtableout6

DOwhile(noteof())

IF基本工资>

=()

REPLACE基本工资with基本工资*0.94

ELSE

REPLACE基本工资with基本工资*0.97

ENDIF

六、其它

1、求10—300之间能同时被3和5整除的数的和;

2、记录的替换(replace命令)

3、记录的排序(sort)

4、表的复制命令(copy)

5、记录追加命令(appendfrom)

程序分析题:

参见VF程序分析.ppt

实验报告5索引练习

1、主索引和______索引不允许记录中出现重复值。

(候选索引)

2、在VF中利用菜单方式建立的索引都是______索引文件。

(结构复合索引)

3、根据表:

(4-5题)

4、假设表“xs.dbf”已经打开:

按学生的学号建立单索引文件“sy.idx”(注意:

单索引只能按升序,单索引不能建立侯选索引Candidate)

Indexon学号tosy

5、按学生的性别、降序建立结构复合索引,索引类型为唯一索引,索引标识为:

sy1Indexon性别tagsy1desc

6、按学生的出生日期降序建立结构复合索引,索引标识为sy3

Indexon出生日期tagsy3desc

实验报告6多区操作

1、在VF中选择一个没有使用的、编号最小的工作区的命令是________。

Select0

2、使用数据库设计器为两个表建立永久关系,首先应在父表中建立主索引,在子表中建立________索引。

普通

3、有3个数据表,其结构如下,程序的功能是以“学生成绩”表为主表,分别以学号和课程号与“学生档案”和“课程表”建立临时关联关系,请完善下列命令序列,使之能够显示学生所选课程的成绩及相应课程的学分。

学生档案.dbf,有字段:

学号、姓名、性别……

学生成绩.dbf,有字段:

学号、课程号、成绩

课程表.dbf,有字段:

课程号、课程名、学分

SELECT1

USE学生档案

INDEXON学号tagXH

SELECT3

USE课程表

INDEXON课程号tagKH

SELECT2

USE学生成绩

___________________SETRELATIONTO学号INTOa

SETRELATIONTO课程号INTOCADDITIVE

LIST学号,A->

姓名,C->

课程名,成绩,c->

学分

4、设有两个表:

学生档案(学号、姓名、民族)

学生成绩(学号、成绩)

若要在它们之间建立关联,然后为每个少数民族(即汉族以外的民族)考生的成绩增加5分,最后显示全体考生的学号、姓名和成绩。

请对如下命令序列填空:

__________indexon学号tagxh

SETRELATIONTO学号INTOA

REPLACE成绩WITH成绩+5forA->

民族<

"

汉"

LIST学号,A.姓名,成绩

SETRELATIONTO

CLOSEALL

实验报告7SQL命令练习

1、利用SQL命令建立学生管理数据库,其中包含3个表:

学生表、选课表和课程表。

其结构为:

学生(学号,姓名,性别,出生年月,籍贯,所在系,入学成绩)

课程(课程号,课程名,先行课,学分)

选课(学号,课程号,成绩),请填空:

CREATE【database】学生管理

CREATETABLE学生(学号C(8)PRIMARYKEY,姓名C(8),性别C

(2),;

出生年月DNULL,籍贯C(10),入学成绩N(5,1)CHECK(入学成绩>

0)ERROR"

成绩应该大于0!

)default550

CREATE【table】课程(课程号C(3)PRIMARYKEY,课程名C(20),学时N(3),

学分N

(2),必修L)

CREATETABLE选课(学号C(8),课程号C(3),成绩ICHECK(成绩>

=0AND成绩<

=100)ERROR"

成绩值的范围0~100"

DEFAULT60,;

FOREIGNKEY学号TAG学号REFERENCES学生,;

FOREIGNKEY课程号TAG课程号REFERENCES课程)

2、为课程表增加一个整数类型的学时字段的命令如下,请填空:

ALTERTABLE课程【add】学时ICHECK(学时>

16);

ERROR“学时应该大于16!

“default20

3、修改“学生”表中的性别字段类型为逻辑型,默认值为.t.。

并将该表中的“出生年月”字段名改为“出生日期”,命令如下,请填空:

ALTERTABLE学生【alter】性别Ldefa.t.

ALTERTABLE学生【rename】出生年月to出生日期

4、列出“学生.dbf”中的全部学生信息的命令,请填空:

SELECT【*】FROM学生

5、列出“学生.dbf”中全部学生的姓名和年龄,去掉姓名重名记录,命令如下,请填空

SELECT【distinct】姓名AS学生名单,YEAR(DATE())-YEAR(出生年月)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1