改错全版二级.docx
- 文档编号:24371977
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:17
- 大小:250.46KB
改错全版二级.docx
《改错全版二级.docx》由会员分享,可在线阅读,更多相关《改错全版二级.docx(17页珍藏版)》请在冰豆网上搜索。
改错全版二级
1.(8)程序改错
&&所有器件的单价增加5元
UPDATEorder_detail1SET单价WITH单价+5
&&计算每种器件的平均单价
SELECT器件号,AVG(单价)AS平均价FROMorder_detail1ORDERBY器件号INTOCURSORlsb
&&查询平均价小于500的记录
SELECT*FROMlsbFOR平均价<500
第1处所有器件的单价增加5元,所以应改为:
UPDATEorder_detail1SET单价=单价+5
第2处计算每种器件的平均单价,所以应改为:
SELECT器件号,AVG(单价)AS平均价FROMorder_detail1groupBY器件号INTOCURSORlsb
第3处查询平均价小于500的记录,所以应改为:
SELECT*FROMlsbwhere平均价<500
2.(25)
统计查询名称中含“银行”的收益情况
SELECTCOUNT((现价-买入价)*持有数量);
FROMstock_sl;
WHERE股票代码;
=;
(SELECT股票代码FROMstock_name;
WHERE"银行"LIKE股票简称)
第1处统计总盈余,所以应改为:
SELECTSUM((现价-买入价)*持有数量);
第2处应改为:
IN;
第3处条件是股票简称中有"银行"两字,所以应改为:
WHERE"银行"$股票简称)
3.(34)
SELECT零件名称FROM零件信息WHERE零件号=;
(SELECT零件号FROM使用零件;
GROUPBY项目号HAVINGCOUNT(项目号)=3);
ORDERBY零件名称;
INTOFILEresults
修改为:
SELECT零件名称FROM零件信息WHERE零件号in;
(SELECT零件号FROM使用零件;
GROUPBY零件号HAVINGCOUNT(项目号)=3);
ORDERBY零件名称;
INTOdbfresults
4.(46)
*该命令文件用来查询与"姚小敏"同一天入住宾馆的每个客户的客户号、身份证、姓名、
*工作单位。
查询结果输出到表TABC中。
*该命令文件在第3行、第5行、第7行和第8行有错误,打开该命令文件,直接在错误处修改,不可
*改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。
OPENDATABASE宾馆
SELECT客户.客户号,身份证,姓名,工作单位;
FROM客户JOIN入住;
WHERE入住日期IN;
(SELECT;
FROM客户,入住;
WHERE姓名="姚小敏");
TOTABLETABC
第3行:
FROM客户JOIN入住ON客户.客户号=入住.客户号;
第5行:
(SELECT入住日期;
第7行:
WHERE客户.客户号=入住.客户号and姓名="姚小敏");
第8行:
INTOTABLETABC
5.(58)
*请改正以下语句代码中的错误,然后运行程序。
SELECT部门表.部门号,部门名,销售表.商品号,商品名,一季度利润+二季度利润+三季度利润+四季度利润as年销售利润;
FROM部门表,销售表,商品代码表;
ON销售表.商品号=商品代码表.商品号;
ON部门表.部门号=销售表.部门号;
WHERE销售表.年度="2006";
ORDER1,5;
TOTABLETABA
修改为:
SELECT部门表.部门号,部门名,销售表.商品号,商品名,一季度利润+二季度利润+三季度利润+四季度利润as年销售利润;
FROM部门表join销售表join商品代码表;
ON销售表.商品号=商品代码表.商品号;
ON部门表.部门号=销售表.部门号;
WHERE销售表.年度="2006";
ORDERby1,5desc;
inTOTABLETABA
6.(64)
*在第2行有一处错误,第3行有两处错误,请改正
selectp.组别,c.姓名组长,p.姓名组员;
fromemployeep,employeec;
onp.组别=c.组别wherep.职务="组长"andc.姓名=p.姓名;
orderbyp.组别
组别组长组员
1张三赵海
1张三王庆
第2行:
fromemployeepjoinemployeec;
第3行:
onp.组别=c.组别wherec.职务="组长"andc.姓名<>p.姓名;
7.(75)
create职称系数表(职称名c(6),职称系数f(10,2))&&有错误
insertinto职称系数表value("教授",1.4)
insertinto职称系数表value("教授",1.3)&&有错误
insertinto职称系数表value("讲师",1.2)
insertinto职称系数表value("助教",1.0)
SELECT姓名,系号,课时*80*职称系数+基本工资as应发工资;
FROM职称系数表,教师表;&&有错误
WHERE职称表.职称级别=教师表.职称级别;
OR职称表.职称名=职称系数表.职称名;&&有错误
intodbfsalary.dbf;
orderby系号desc,应发工资
修改为:
createtable职称系数表(职称名c(6),职称系数f(10,2))&&有错误
insertinto职称系数表value("副教授",1.3)&&有错误
FROM职称系数表,教师表,职称表;&&有错误
and职称表.职称名=职称系数表.职称名;&&有错误
8.(77)
select部门.部门号,sum(*)as人数;
from职工,部门where部门.部门号=职工.部门号oryear(出生日期)>=1980andyear(出生日期)<=1990;
orderby人数;
groupby部门.部门号todbfnew
修改为:
select部门.部门号,count(*)as人数;
from职工,部门where部门.部门号=职工.部门号andyear(出生日期)>=1980andyear(出生日期)<=1990;
orderby人数desc;
groupby部门.部门号intodbfnew
9.(68)
SELECT系名,avge(工资)as平均工资,max(工资)as最高工资;
FROM教师表WHERE教师表.系号=学院表.系号;
ORDERBY学院表.系号;
GROUPBY3DESC,2DESC;
INTOthree
修改为:
SELECT系名,avg(工资)as平均工资,max(工资)as最高工资;
FROM教师表,学院表WHERE教师表.系号=学院表.系号;
GROUPBY学院表.系号;
ORDERBY3DESC,2DESC;
INTOtablethree
10.(63)
&&下句有错误
CREATETABLE工资表(职工号C(8)KEY,姓名C(6),工资N(10,2))
&&下句有错误
INSERTTO工资表VALUES("11020034","宣喧",4500)
USE工资表
APPENDFROM教师表
&&下句有错误
UPDATE工资表BY工资=工资*1.1WHERE工资<3000
&&&&下句有错误
DELETEFROM工资表WHILE姓名="Thomas"
PACK
第1处:
CREATETABLE工资表(职工号C(8)PRIMARYKEY,姓名C(6),工资N(10.2))
第2处:
INSERTINTO工资表VALUES("11020034","宣喧",4500)
第3处:
UPDATE工资表SET工资=工资*1.1WHERE工资<3000
第4处:
DELETEFROM工资表WHERE姓名="Thomas"
11.(15)
1.select*from销售表todbf销售表2001where日期<={^2000-12-31}
修改为:
select*from销售表intodbf销售表2001where日期<={^2000-12-31}
2.closeall
delete销售表where日期<={^2000-12-31}
pack
修改为:
deletefrom销售表where日期<={^2000-12-31}
12.(16)
UPDATEALL日期WITHDATE()
修改为:
UPDATE雇员set日期WITH=DATE()
13.
(2)
原one.prg语句:
deleteratefor币种1代码="14"AND币种2代码="27"
修改为:
4.1在文件one.prg中存放:
deletefromratewhere币种1代码="14"AND币种2代码="27"
14.(54)
*下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在文本框内。
*修改所有***FOUND***下面的一条语句。
*不能修改其他语句。
不能增加语句,也不能删除语句。
dimea(1,1)
a(1,1)=0
m1=employee.职员号
selectavg(金额)fromorderswhere职员号=m1intoarraya
m2=a(1,1)
***FOUND***
text1.value=m2
修改为:
Thisform.text1.value=m2
15.(55)
*下面代码的功能首先将年份设置为用4位数字表示,然后根据文本框Text1的值构建SQL语句,并设置表格Grid1的相关属性。
*修改所有***FOUND***下面的一条语句。
*不能修改其他语句。
不能增加语句,也不能删除语句。
***FOUND***
setcenturyto4
***FOUND***
va=text1.value
st="select订单号,签订日期,金额fromorderswhere签订日期>=vaorderby签订日期intocursortmp"
***FOUND***
this.grid1.RowdSource=st
修改为:
setcenturyon
va=thisform.text1.value
thisform.grid1.RowSource=st
16.(44)
&&根据"教师表"计算每个系的教师人数并将数据填入"学院表"
CLOSEDATA
USE学院表
GOTOP
DO.NOT.EOF()&&错误
xihao=系号
SELECTCOUNT(*)FROM教师表WHERE教师表.系号=xihaoINTOA&&错误
REPLACE教师人数WITHA[1]
NEXT&&错误
ENDDO
第4行:
DOWHILENOTEOF()
第6行:
SELECTCOUNT(*)FROM教师表WHERE教师表.系号=xihaoINTOARRAYA
第8行:
SKIP
17.(47)
&&根据"歌手表"计算每个组的歌手人数
CLOSEDATA
USEone
GOTOP
WHILE.NOT.EOF()&&错误
zuhao=组号
SELECTCOUNT(*)FROM歌手表WHERE歌手表.歌手编号=zuhaoINTOARRAYA&&错误
REPLACE歌手人数INTOA&&错误
SKIP
ENDDO
第1处:
DOWHILENOTEOF()
第2处:
SELECTCOUNT(*)FROM歌手表WHERELEFT(歌手表.歌手编号,2)=zuhaoINTOARRAYA
第3处:
REPLACE歌手人数WITHA[1]
18.(62)
统计讲授数据结构并且工资大于等于4000元的人数
&&下句只有一处有错误
SELECT课程号FROM课程表WHERE课程名="数据结构"TOARRAYa
&&下句有错误
OPEN教师表
STORE0TOsum
&&下句两处有错误
SCANOF课程号=aOR工资>=4000
&&下句有错误
sum+1
ENDSCAN
?
sum
1.SELECT课程号FROM课程表WHERE课程名="数据结构"INTOARRAYa
2.USE教师表
3.SCANFOR课程号=aAND工资>=4000
4.sum=sum+1
19.(28)
opendatabase外汇数据
usecurrency_sl
&&***********Error*****************
findfor姓名="林诗因"
summ=0
&&***********Error*****************
whilenoteof()
select现钞买入价fromrate_exchange;
whererate_exchange.外币代码=currency_sl.外币代码intoarraya
&&***********Error*****************
summ=summ+a[1]*rate_exchange.持有数量
continue
enddo
?
summ
第1处查找姓名,所以应改为:
locatefor姓名="林诗因"
第2处判断记录是否到底,应改为:
DOWHILENOTEOF()
第3处累计人民币价值数量,所以应改为:
summ=summ+a[1]*持有数量
20.(65)
1.4waitstr(thisform.text1.value,8,2)window
21.(62)
i=10
DOi>=1
?
I
i=i-1
ENDDO
修改为:
DOwhilei>=1
22.(63)
i=5
DOWHILEi<=1
?
?
i
i=i-1
ENDDO
修改为:
DOWHILEi>=1
23.(68)
i=2
DOWHILEi<=10
?
?
i
i=i+1
ENDDO
修改为:
i=i+2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 改错 二级
![提示](https://static.bdocx.com/images/bang_tan.gif)