VFP平时上机练习题电子版参考答案.docx
- 文档编号:3461839
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:18.39KB
VFP平时上机练习题电子版参考答案.docx
《VFP平时上机练习题电子版参考答案.docx》由会员分享,可在线阅读,更多相关《VFP平时上机练习题电子版参考答案.docx(11页珍藏版)》请在冰豆网上搜索。
VFP平时上机练习题电子版参考答案
一、项目、数据库和表操作
(一)
1.
(2)表的有效性规则:
xsj<=1.2*cbj或xsj<=cbj*1.2
(3)设置BH字段的格式码:
T
(4)创建一个主索引,索引标识:
abcd索引类型:
主索引索引表达式:
bh
2.设置js表的插入触发器的表达式:
LEN(ALLTRIM(gh))=6
3.
REPLACEbzWITH"学科带头人"FORzc="教授"
UPDATEjsSETbz="学科带头人"WHEREzc="教授"
(二)
1.
(3)设置字段csrq的有效性规则:
csrq>={^1980-01-01}或csrq>{^1979-12-31}或Year(csrq)>=1980
(4)索引表达式:
STR(YEAR(DATE())–YEAR(csrq))+xm
2.设置js表的删除触发器的表达式:
.F.
3.
REPLACEALLbzWITH"一本招生";
FORLEFT(yxzydm,2)="11"
UPDATEyxzySETbz="一本招生";
WHERESUBSTR(yxzydm,1,2)="11"
注:
在SETEXACTOFF的设置下,条件表达式可以是:
yxzydm="11"
(三)
1.
(2)设置BH1的输入掩码为:
AXXX或A999
(3)设置字段BH1的有效性规则:
LEFT(BH1,1)=LEFT(BH2,1)
(4)索引表达式:
BH1+xh
2.设置jc表的删除触发器的表达式:
left(cbnf,4)<‘2000’
3.UPDATEcjSETbz="选修"WHEREkcdm="9501"
(四)
1.
(2)设置rq字段的默认值:
DATE()
(3)设置表的有效性规则:
kpsl<=xssl或xxsl>=kpsl
(4)索引表达式:
DTOC(rq,1)+bh或DTOS(rq)+bh
2.设置jc表的插入触发器的表达式:
SUBSTR(isbn,1,2)="IS"或isbn=“IS”或left(isbn,2)=“IS”
3.UPDATEcjSETpscj=85
二、设计查询
(一)
(1)添加表:
kcap,kc以kcdm作为联接条件
(2)输出字段:
Kcap.xqbmAS学期编码,COUNT(*)AS开课门数
SUM(Kc.kss)AS总课时数
(3)分组依据:
Kcap.xqbm
(4)排序依据:
Kcap.xqbm
(5)SELECT—SQL语句:
SELECTKcap.xqbmAS学期编码,COUNT(*)AS开课门数,;
SUM(Kc.kss)AS总课时数;
FROMjxsj!
kcapINNERJOINjxsj!
kc;
ONKcap.kcdm=Kc.kcdm;
WHEREKcap.bjbh="040202";
GROUPBYKcap.xqbm;
ORDERBYKcap.xqbm
(二)
(1)添加表:
kcap,kc以kcdm作为联接条件
(2)输出字段:
Kcap.bjbhAS班级编号,COUNT(*)AS开课门数
SUM(Kc.kss)AS总课时数
(3)分组依据:
Kcap.bjbh
(4)排序依据:
Kcap.bjbh
(5)SQL语句:
SELECTKcap.bjbhAS班级编号,COUNT(*)AS开课门数,;
SUM(Kc.kss)AS总课时数;
FROMjxsj!
kcapINNERJOINjxsj!
kc;
ONKcap.kcdm=Kc.kcdm;
WHEREKcap.xqbm="2004-2005学年第1学期";
GROUPBYKcap.bjbh;
ORDERBYKcap.bjbh
(三)
(1)添加表:
zzmm视图,js表以Zzmm.dm和Js.zzmm作为联接条件
(2)输出字段:
Js.zcAS职称,Zzmm.mcAS政治面貌名称
COUNT(*)AS人数,
AVG(YEAR(DATE())–YEAR(Js.csrq))AS平均年龄
(3)分组依据:
Js.zc,Zzmm.mc
(4)排序依据:
Js.zc,Zzmm.mc
(5)SQL语句:
SELECTJs.zcAS职称,Zzmm.mcAS政治面貌名称,;
COUNT(*)AS人数,;
AVG(YEAR(DATE())–YEAR(Js.csrq))AS平均年龄;
FROMjxsj!
zzmmINNERJOINjxsj!
js;
ONZzmm.dm=Js.zzmm;
GROUPBYJs.zc,Zzmm.mc;
ORDERBYJs.zc,Zzmm.mc
(四)
(1)添加表:
whcd视图,js表以Whcd.dm和Js.whcd作为联接条件
(2)输出字段:
Js.zcAS职称,Whcd.mcAS文化程度名称
COUNT(*)AS人数,
MIN(YEAR(DATE())-YEAR(Js.csrq))AS最小年龄
(3)分组依据:
Js.zc,Whcd.mc
(4)排序依据:
Js.zc,Whcd.mc
(5)SQL语句:
SELECTJs.zcAS职称,Whcd.mcAS文化程度名称,;
COUNT(*)AS人数,;
MIN(YEAR(DATE())-YEAR(Js.csrq))AS最小年龄;
FROMjxsj!
jsINNERJOINjxsj!
whcd;
ONJs.whcd=Whcd.dm;
GROUPBYJs.zc,Whcd.mc;
ORDERBYJs.zc,Whcd.mc
三、设计菜单
(一)
1.“文件”菜单项名称为:
文件(\ 2. 在“文件”菜单的子菜单中增加一个菜单项: 打开 设置“打开”菜单项的结果为: 子菜单 在“打开”菜单的子菜单中设置两个菜单项: 数据库、表 设置“数据库”菜单项的“结果”列为“命令”,在其右侧的文本框中输入命令: OPENDATABASE 3.在“文件”菜单的“打开”菜单项之后增加一个菜单项,在菜单名称中输入“\–” (二) 1.将“文件”菜单项改为: 自定义(\ 2.打开VFP主菜单显示/常规选项,在对话框中选择: 在“文件”之前 3.略 4.在“还原”菜单的“结果”列中选择“命令”,在其右侧的的文本框输入: _SCREEN.BackColor=RGB(255,255,255) (三) 2.打开VFP主菜单显示/常规选项,在对话框中选择: 追加 5.在“运行外部EXE程序”菜单项的“结果”列中选择: 过程。 再点击右侧的按钮,打开“过程”代码的编辑窗口,将题给代码输入并保存。 (四) 2.“PRG程序”菜单项设置为: \ 其余略 四、设计表单 (一) 1. 表单的Caption属性: 代码表 在数据环境中添加视图: zzmm和whcd 表格的DeleteMark属性: .F.ScrollBars属性: 2–垂直 2. 标签的Caption属性: 选择类型 组合框的Style属性: 2(下拉列表框) 3. 下拉列表框的RowSourceType属性: 1–值 下拉列表框的RowSource属性: 民族,政治面貌,文化程度 4. 下拉列表框的InterActiveChange事件代码: DOCASE CASEThis.Selected (1)=.T. ThisForm.Grdmz.RecordSource="mz" CASEThis.Selected (2)=.T. ThisForm.Grdmz.RecordSource="zzmm" CASEThis.Selected(3)=.T. ThisForm.Grdmz.RecordSource="whcd" ENDCASE 或 DOCASE CASEThis.value=“民族” ThisForm.Grdmz.RecordSource="mz" CASEThis.value=“政治面貌” ThisForm.Grdmz.RecordSource="zzmm" CASEThis.value=“文化程度” ThisForm.Grdmz.RecordSource="whcd" ENDCASE (二) 1. 表单的AutoCenter属性: .T. 2. 下拉列表框的RowSource属性: mz 3. 表格RecordSourceType属性: 4–SQL说明 表格RecordSource属性: SELECTgh,xmFromjsINTOCURSORtemp 4. 文本框的Name属性: Tmz 文本框的Value属性: 所有民族 文本框的Enabled属性: .F. 5. 下拉列表框的InterActiveChange事件代码: ThisForm.Tmz.Value=mz.mc ThisForm.Grid1.RecordSource="SELECTgh,xmFROMjs; WHEREmzdm=This.ValueINTOCURSORtemp" 6. 命令按钮的Caption属性: 退出(\ (三) 1. 表单的Caption属性: 代码表 表单的Icon属性: pc.ico 表单的AutoCenter属性: .T. 2. 在数据环境中添加视图: zzmm和whcd 3. 选项按钮组的Name属性: Mzw 利用选项按钮组的生成器设置: 按钮的数目: 3 按钮的标题分别为: 民族、政治面貌、文化程度 按钮布局: 水平 4. 选项按钮组的InterActiveChange事件代码: DOCASE CASEThis.Value=1 ThisForm.Grdmz.RecordSource="mz" CASEThis.Value=2 ThisForm.Grdmz.RecordSource="zzmm" CASEThis.Value=3 ThisForm.Grdmz.RecordSource="whcd" ENDCASE 5. 命令按钮的Caption属性: 关闭(\ 命令按钮的Click事件代码: ReleaseThisForm (四) 1. 表单的AutoCenter属性: .T. 表单的BorderStyle属性: 2–固定对话框 2. 下拉列表框的RowSource属性: mz 3. 标签的Name属性: Lmz 标签的Caption属性: 所有民族 4. 表格RecordSourceType属性: 1–别名 表格RecordSource属性: js 5. 表单的UserMethod方法程序代码: (完善一条命令、在空行中增加一条命令) PUBLICx SELECTjs X=ThisForm.Combo1.Value SETFILTERTOmzdm=x Thisform.Lmz.caption=mz.mc ThisForm.Refresh 下拉列表框的InterActiveChange事件代码: ThisForm.UserMethod 6. 命令按钮的Click事件代码: REPORTFORMrtestPREVIEW 五、程序改错 (一) m=SPACE(0) STORE".86*75*85*87*67*78.32.70*81*90.80*84*81"TOc,cc DOWHILELEN(c)>0 d=LEFT(c,1) c=SUBS(c,2) n=0 IFd="." m=m+CHR(VAL(LEFT(c,2))) ELSE m=m+CHR(VAL(LEFT(c,2))+30) ENDDO此处改为ENDIF c=SUBS(c,2)此处改为c=SUBS(c,3)c=SUBS(c,3) ENDDOENDIF WAITWINDOWScc+"解密后的代码为: "+m (二) CLEAR DIMENSIONc(30) FORi=1TO30&&第一个循环 n=CHR(64+MAX(1,MOD(INT(RAND()*100),27)))26 c(i)=n ENDFOR FORi=1TO30&&第二个循环 m=c(i) FORt=i+1TO30 IFm c(i)=c(t) c(t)=m m=c(i) ENDIF ENDDO此处改为ENDFORENDFOR ENDFOR DISPLAYMEMOLIKEc* (三) DIMESIONA(20) FORi=1TO20 A(i)=INT(RAND()*100) ENDFOR Mmax=A(i) Mmin=A(i) ? A(i) FORi=2TO20 ? STR(A (1),3)此处改为? ? STR(A(i),3)? ? STR(A (1),3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 平时 上机 练习题 电子版 参考答案