VF上机题归类新.docx

上传人:b****1 文档编号:23165132 上传时间:2023-05-15 格式:DOCX 页数:29 大小:30.06KB
下载 相关 举报
VF上机题归类新.docx_第1页
第1页 / 共29页
VF上机题归类新.docx_第2页
第2页 / 共29页
VF上机题归类新.docx_第3页
第3页 / 共29页
VF上机题归类新.docx_第4页
第4页 / 共29页
VF上机题归类新.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

VF上机题归类新.docx

《VF上机题归类新.docx》由会员分享,可在线阅读,更多相关《VF上机题归类新.docx(29页珍藏版)》请在冰豆网上搜索。

VF上机题归类新.docx

VF上机题归类新

上机题归类

基本操作(前四章)

1.建项目:

11A1、12A1、21A1、22A1、45A2

2.建数据库:

10A1、12A2、16A1、20A1、22A2、23A1、28A2、28C1、40A3、45A3、47A1、48A1

3.添加删除表(数据库)、数据库(项目):

1A1、9A12、10A2、11A2、12A3、14A3、15A2(到项目)、19A1、20A2、21A2A3(到项目)、21A3、22A3(到项目)、25A1、27A1、28C2、34A1、44A2、45C1、46A1

4.建表:

1A2(要关闭数据库)、28A1(与A9同做,设计完字段后单击确定,在弹出的对话框中选“是”,直接输入A9中的记录)、30C1、42C1、44A3、47A3、50A1

5.增加修改字段:

2A1、8A1(与A9同做,加字段后不击确定,直接在默认值处写:

部门号+雇员号+”@”)、13A2、14A1、18A3(限定位置)、22A3、29A2、43A1、49A1、50A3

6.增加修改记录:

8A3、28A3

7.建索引:

7A4、9A3、16A23、18A1、19A2、25A3、27A2、29A4、34A2、38A2、42A1、44A1、46A23、47A2、48A2、50A2

8.有效性规则:

2A2、8A2、9A4、11A4、13A3、18A2、19A3、37A4、38A1

9.默认值:

13A4(先允许为NULL,再设置默认值为NULL)、25A2(默认值:

date())

10.永久联系:

2A3、8A4、10A3、11A3、13A1、16A4、20A3、21A4、22A4、25A4、27A3、38A3、46A4、47A4、48A3、37A4

11.参照完整性:

2A4、10A4、27A4、48A4

讲解题目:

3AB、12、28、18、38、44、11、8、9、10、7A34、29(两步操作)、46、13、25、21、2A123、1A12

SQL命令归类(第五章)

1.SQL-SELECT:

17A1、49A3、24A1、4A4

17A1:

select*fromstock_slintotablestock_bk

49A3:

selectdistinct*fromtabaintotabletabc

2.SQL-INSERT:

15A3、17A2、21B1(不是SQL—SELECT语句考点,不能用查询设计器做)、26A1、35A4、39A4

15A3:

insertintoscore1values(“993503433”,”0001”,99)

17A2:

insertintostock_bkvalues(“600028”,4.36,4.60,5500)

21B1:

update教师set新工资=原工资*1.2where职称=”教授”

update教师set新工资=原工资where职称!

=”教授”

insertinto教师values(“林红”,”讲师”,10000,10200)

26A1:

insertinto零件信息values(“p7”,”PN7”,1020)

35A4:

insertintogoldenvalues(”011”,9,7,11)

39A4:

insertinto分组情况表values(“01”,”通俗唱法”)注:

先做A3

3.SQL-UPDATE:

16C2、17A3、18A4、21B1、24A2、26A3、34A4、36A4、49A2

16C2:

updatebooks_bakset价格=价格*0.95

17A3:

updatestock_bkset现价=8.88where股票代码=”600007”

18A4:

update学生set出生日期={^1983/05/01}where姓名=”王三风”注:

先做A3

21B1:

update教师set新工资=原工资*1.2where职称=”教授”

update教师set新工资=原工资where职称!

=”教授”

insertinto教师values(“林红”,”讲师”,10000,10200)

24A2:

updaterate_exchangeset卖出价=829.01where外币名称=”美元”

26A3:

update零件信息set单价=1090where零件号=”p4”

34A4:

update金牌榜set奖牌总数=金牌数+银牌数+铜牌数

36A4:

updateteacherset工资=8000where姓名=”Jack”

49A2:

updatetabbset日期={^2005-10-1}注:

先做A1

4.SQL-DELECT:

17A4、26A2

17A4:

deletefromstock_bkwhere股票代码=”600000”

26A2:

deletefrom零件信息where单价<600

5.SQL-CREATE:

35A3、39A3

35A3:

createtablegoldenfree(国家代码c(3),金牌数I,银牌数I,铜牌数I)

39A3:

createtable分组情况表free(组号c

(2),组名c(10))

6.SQL-ALTER:

1A4、29A3、34A3、36A3、40A4

29A3:

altertablestudentaddunique学号

34A3:

altertable金牌榜add奖牌总数Icheck奖牌总数>=0

36A3:

altertable学院表add教师人数Icheck教师人数>=0

40A4:

altertable评委表alter评委编号setcheckleft(评委编号,2)=”11”先做A3

查询归类(第六章)

注:

查询设计器的“筛选“选项卡,即WHERE短语之后不能用的函数为:

COUNT、SUM、AVG、MAX、MIN。

1.查询向导:

15A1

2.只保存查询文件(只要.qpr文件):

1A3、12A4、17B1、26C1(一升一降)

3.只需设置查询去向(只要.dbf文件):

7B1、13B1、14A4、14B1、16C13

14A4:

select*fromscore1orderby学号,成绩descintotablenew_order

16C1:

select*frombookswhere书名like“%计算机%”intotablebooks_bak

4.既需保存查询文件,又需设置查询去向(同时需要.qpr文件和.dbf文件):

21B2、24B2、30B1、31B1(分组:

性别)、32B1、34B1、38B1、41B1、42B1、43B1、44B1(两个分组条件)、47B2、46B2、48B2

5.要求用SQL建立查询,但无需保留语句:

9B1、10B1(分组时满足条件)、11B1、12B1、23B2、40B2、45B2

6.要求用SQL建立查询,且要求把语句保存到txt文件中:

2B1、18AB1(筛选、分组时满足条件)、19B1、22B1、24A1、4A4

7.要求用SQL建立查询,且要求把语句保存到prg文件中:

25B2、28AB、35B1、38A4、43A4、50B2

8.建立视图(一定要先打开数据库设计器):

2B2、8C1、15B1、18C1、22B2、23B12、34B2、36B2、39B2、45C2

9.用SQL语句建立视图:

37B1、2B2

10.先建立视图再据视图建立查询:

30B1(year(出生日期)=1982)B2、32B12、33B12、42B12、27B2

程序归类(第七章)

1.程序改错:

7A12、17B2、18B2、20B1、25B1、26B1、29B2、36B1、38B2、39B1、50B1

7A1:

select*from销售表todbf销售表2001where日期<={^2000-12-31}into

7A2

closeall

delete销售表where日期<={^2000-12-31}from

pack

17B2:

modi.prg

SELECTCOUNT((现价-买入价)*持有数量);sum

FROMstock_sl;

WHERE股票代码;

=;in

(SELECT股票代码FROMstock_name;

WHERE"银行"LIKE股票简称)$

 

18B2:

modi.prg

***********Error***********

MODIFYTABLE学生ADD平均成绩N(6,2)alter

SELECT学生

***********Error***********

DOWHILEEOF()not

SELECTAVG(成绩)FROM选课WHERE学号=学生.学号INTOARRAYcj

***********Error***********

REPLACE平均成绩=cj[1]with

20B1:

rate_pro.prg

&&****ERROR****

FINDFOR姓名=”林诗因”locate

summ=0

&&****ERROR****

WHILENOTEOF()do

&&****ERROR****

summ=summ+a[1]*rate_exchange.持有数量去掉

25B1:

modi1.prg

***在下一行添加一条打开customer表的语句,然后把"(此处空行)"删除

(此处空行)usecustomer

***表没有索引,修改如下语句使之能显示所有“北京”客户的信息

SCANWHILE所在地='北京'for

?

客户编号,公司名称,联系人姓名

ENDSCAN

26B1:

modi1.prg

SELECT零件名称FROM零件信息WHERE零件号=;in

(SELECT零件号FROM使用零件;

GROUPBY项目号HAVINGCOUNT(项目号)=3);零件号

ORDERBY零件名称;

INTOFILEresultsto

29B2:

modi2.scx

“计算”按钮:

*******************found********************

x,s1,s2,s3=0store0tox,s1,s2,s3

*******************found********************

x=thisform.text1x=val(thisform.text1.value)

dowhilex>0

ifint(x/2)=x/2

s1=s1+1

else

s2=s2+1

endif

*******************found********************

ifdiv(x,3)=0ifmod(x,3)=0

s3=s3+1

endif

x=x-1

enddo

thisform.text2.value=s1

thisform.text3.value=s2

thisform.text4.value=s3

thisform.text5.value=s1+s2+s3

“退出”按钮:

closethisform.release

36B1:

FIVE.PRG

&&根据"教师表"计算每个系的教师人数并将数据填入"学院表"

CLOSEDATA

USE学院表

GOTOP

DO.NOT.EOF()&&错误WHILE

xihao=系号

SELECTCOUNT(*)FROM教师表WHERE教师表.系号=xihaoINTOA

&&错误ARRAY

REPLACE教师人数WITHA[1]

NEXT&&错误SKIP

ENDDO

38B2:

THREE.PRG

该命令文件用来查询与"姚小敏"同一天入住宾馆的每个客户的客户号、身份证、姓名、

*工作单位。

查询结果输出到表TABC中。

*该命令文件在第3行、第5行、第7行和第8行有错误,打开该命令文件,直接在错误处修改,不可*改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。

OPENDATABASE宾馆

SELECT客户.客户号,身份证,姓名,工作单位;

FROM客户JOIN入住;ON客户.客户号=入住.客户号

WHERE入住日期IN;

(SELECT;入住日期

FROM客户,入住;

WHERE姓名="姚小敏");AND客户.客户号=入住.客户号

TOTABLEBIAO3INTO

39B1:

FIVE.PRG

&&根据"歌手表"计算每个组的歌手人数

CLOSEDATA

USEone

GOTOP

WHILE.NOT.EOF()&&错误DO

zuhao=组号

SELECTCOUNT(*)FROM歌手表WHERE歌手表.歌手编号=zuhaoINTOARRAYA

&&错误LEFT(歌手表.歌手编号,2)

REPLACE歌手人数INTOA&&错误WITH

SKIP

ENDDO

50B1:

THREE.PRG

*请改正以下语句代码中的错误,然后运行程序。

SELECT部门表.部门号,部门名,销售表.商品号,商品名,一季度利润+二季度利润+三季度利润+四季度利润as年销售利润;

FROM部门表,销售表,商品代码表;joinjoin

ON销售表.商品号=商品代码表.商品号;

ON部门表.部门号=销售表.部门号;

WHERE销售表.年度="2006";

ORDER1,5;bydesc

TOTABLETABAinto

2.程序编写:

3C、7C1、33C、35C1、41C1、49B1、45A4

3C:

Select订单号,sunm(单价*数量)as总金额fromorder_detailgroupby订单号intotabletemp

Updateorder_listset总金额=temp.总金额whereorder_list.订单号=temp.订单号

Select*fromorder_listorderby总金额descintotableod_new

7C1SELECT*from商品表intotable商品表备份

UPDATE商品表set单价=出厂单价*0.1where商品号='10'

33C

opendatabasecj

select1

usechengji

indexon学号tagxh

select2

usexuesheng

setrelationto学号intoa

go1

dowhilenoteof()

ifa.数学<60

insertintotable3values(b.学号,b.姓名,"数学",a.数学)

endif

ifa.英语<60

insertintotable3values(b.学号,b.姓名,"英语",a.英语)

endif

ifa.信息技术<60

insertintotable3values(b.学号,b.姓名,"信息技术",a.信息技术)

endif

skip

enddo

select*fromtable3orderby分数,学号descintoarraya

deletefromtable3

pack

insertintotable3fromarraya

35C1:

SELECT国家名称,COUNT(名次)AS奖牌总数;

FROM国家,获奖牌情况;

WHERE国家.国家代码=获奖牌情况.国家代码;

GROUPBY国家.国家代码;

ORDERBY奖牌总数DESC,国家名称;

INTOTABLE假奖牌数

41C1:

SELECT歌手姓名,AVG(分数)AS得分;

FROM歌手表,评分表;

WHERE歌手表.歌手编号=评分表.歌手编号;

ANDLEFT(歌手表.歌手编号,2)="01"

GROUPBY歌手表.歌手编号;

ORDERBY2DESC,1DESC;

INTOTABLEFINAL

49B1:

updatetabasetx1=(-b+sqrt(b*b-4*a*c))/(2*a),x2=(-b-sqrt(b*b-4*a*c))/(2*a)whereb*b-4*a*c>=0

updatetabasetnote="无实数解"whereb*b-4*a*c<0

表单归类(第八章)

注:

要是把表直接拖放到表单里面,有时候还要重新设置其recordsource:

表名。

要是把字段添加到列表框,如果是用SQL语句,一定要在最后写intocursor表名。

一、基本操作

1.向导:

34B1(一对多)

2.表单基本属性修改:

3B2、19A4、20A4、30A(movable,建方法)、31A、32A(模式)、33A(布局)、36A12(THISFORM.COMMAND2.ENABLED=.T.)、37A12、39A12(Tab键次序)、41A、42A234(load代码:

useemployee/setordertotagxm;列表框属性设置:

MultiSelect:

.T.;rowsourcetype:

6字段;rowsource:

employee.姓名)、45A1

19A4:

test_form.scx将command2的enabled属性设为.T.

20A4:

test_form.scx将label2的fontname属性设为黑体

37A1:

one.scx

command1的click事件代码如下:

thisform.text1.value=year(date())

二、简单应用

1.建立简单表单:

15B2(可以不用设置数据环境)、16B2、29B1、35B2、40B1、43B2(列表框list1的rowsourcetype:

7文件,选项按钮组optiongroup1的value:

无;click(或者interactivechange)事件代码如下:

thisform.list1.rowsource=thisform.optiongroup1.value)、45B1

2.表单修改:

7B2、8B1、15A4、16B1、29C、37B2、44B2、45C4、46B1、47B1、48B1、49B2

7B2:

form1.scx

双击表单中“刷新标题”命令按钮,修改该控件的CLICK事件代码

Thisform.标题=”商品销售数量输入”caption

双击表单中“商品销售输入”命令按钮,修改该控件的CLICK事件代码

DOsellcommform

双击表单中“输出销售报表”命令按钮,修改该控件的CLICK事件代码

DOprint1TOPREVIEWreportform去掉TO

8B1:

form1.scx

双击表单中“刷新日期”命令按钮,修改该控件的CLICK事件代码

UPDATEALL日期WITHDATE()雇员SET=

29C3:

zonghe.scx修改命令按钮写代码

确定:

cn=""

****得到右边列表框中列表项的数目

cc=thisform.list2.ListCount

FORi=1TOcc

x=allt(thisform.list2.listitem(i))

cn=cn+"课程名称='"+x+"'"+"or"

ENDFOR

cn=substr(cn,1,len(cn)-4)&&去掉最后连接时的or

****以下是完成查询和存储的语句或程序,请考生完成

用查询设计器建好查询复制SQL语句,只需修改下划线部分

select姓名,课程名称,考试成绩fromstudentjoincoursejoinscore;

oncourse.课程编号=score.课程编号onstudent.学号=score.学号;

orderby课程名称,考试成绩desc;

where&cnintotablezonghe

37B2SIX.SCX

USE用户表

GOTOP

flag=0

&&添加一条语句DOWHILENOTEOF()

IFAlltrim(用户名)==Alltrim(Thisform.Text1.Value)

IFAlltrim(口令)==Alltrim(Thisform.Text2.Value)

WAIT"欢迎使用"WINDOWTIMEOUT2

ELSE

WAIT"口令错误"WINDOWTIMEOUT2

ENDIF

flag=1

EXIT

ENDIF

&&添加一条语句SKIP

ENDDO

&&添加一条语句IFflag=0

WAIT"用户名错误"WINDOWTIMEOUT2

ENDIF

 

44B2:

TESTA.SCX

*在下面的程序中,第3、4、12行语句不正确,请修改!

*注意:

修改时不允许增加或删除行,只能在错误行上进行修改!

USEpass

Key1=ALLTRIM(ThisForm.text1.value)

Key2=ALLTRIM(ThisForm2)ThisForm.text2.value

LISTALLWHILEUSER=Key1locatefor

IFFOUND()ANDPASS=Key2

WAIT"欢迎使用本系统!

"WINDOWTIMEOUT1

thisform.release

ELSE

num=num+1

IFnum=3

WAIT"用户名或口令不对,登录失败!

"WINDOWTIMEOUT1

LOOPthisform.release

ELSE

WAIT"用户名或口令不对,请重输入!

"WINDOWTIMEOUT1

ENDIF

ENDIF

45C4:

three.scx

Command1.click:

Selcet*fromviewscorderby学号,成绩descintotableresult

Command2.click:

Reportformthreepreview

Command3.click:

Thisform.release

46B1:

FORMONE.SCX

*下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在文本框内。

*修改所有***FOUND***下面的一条语句。

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

当前位置:首页 > 高等教育 > 历史学

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

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