VF题库3740.docx
《VF题库3740.docx》由会员分享,可在线阅读,更多相关《VF题库3740.docx(21页珍藏版)》请在冰豆网上搜索。
VF题库3740
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)为数据库mydb中的表"积分"增加字段"电话",类型和宽度为"字符型(50)"。
(2)为表"积分"的字段"积分"设置完整性约束,要求积分值大于"400(含400)",否则提示信息"输入的积分值太少"。
(3)设置表"积分"的字段"地址"的默认值为"1234567"。
(4)为表"积分"插入一条记录(张良,1800,服装公司,北京中关村),并用Select语句查询表积分中的"积分"在"1500以上(含1500)"的记录,将SQL语句存入my.txt中。
【解析】本大题考查的是有关修改数据库表结构的基本操作,包括添加字段、设置字段的完整性约束。
同时需要掌握在已有的表中插入记录的方法,以及使用select语句查询满足条件的记录。
【答案】
(1)从菜单栏里单击"文件"并选择"打开",或直接单击工具栏上的"打开"图标,在弹出的对话框中选择要打开的数据库文件mydb。
在数据库设计器中,右键单击数据库表"积分",在弹出的快捷菜单中选择"修改"菜单命令,进入"积分"的数据表设计器界面,在"字段"选项卡中,单击表设计器右边的"插入"按钮,输入新的字段名"地址",根据题意,依次输入类型、宽度。
(2)在数据库设计器中,右键单击数据库表"积分",在弹出的快捷菜单中选择"修改"菜单命令,进入"积分"的数据表设计器界面,在"字段"选项卡中,首先选中"积分"字段,然后在规则文本框中输入"积分>=1000",在信息文本框中输入""输入的积分值太少"",单击"确定"按钮保存表设计结果。
(3)在数据库设计器中,右键单击"积分"数据表选择"修改"快捷菜单命令,打开表设计器,在"字段"选项卡中选中"地址"字段,然后在"字段有效性"的"默认值"文本框中输入""北京市中关村""。
(4)在命令窗口输入:
MODIFYFILEmytxt,在弹出的文本编辑器中输入命令:
INSERTINTO积分VALUES("张良",1800,"服装公司","北京市中关村")
SELECT*FROM积分WHERE积分>=1500
保存文件。
在命令窗口输入:
DOmytxt.txt命令可查看运行结果。
二、简单应用题(共2小题,每题20分,计40分)
(1)使用表单向导制作一个表单,要求选择sc表中的全部字段。
表单样式为"阴影式",按钮类型为"图片按钮",排序字段选择"学号"(升序),表单标题为"成绩查看",最后将表单保存为form1。
(2)在考生文件夹的下对数据库rate中的表hl的结构做如下修改:
指定"外币代码"为主索引,索引名和索引表达式均为"外币代码"。
指定"外币名称"为普通索引,索引名和索引表达式均为"外币名称"。
【解析】本大题1小题主要是考查表单向导的使用,本题利用已经存在的表来快速生成表单,同时掌握表单的外观设置;2小题主要是考查表中各种索引的使用,需要注意的是一个表中只能有一个主索引,而普通索引、惟一索引和候选索引可以有多个。
同时,在指定字段或表达式中不允许出现重复值的索引,否则VisualFoxPro将产生错误信息,一定要引起注意。
【答案】
(1)启动VisualFoxPro,在"工具"菜单选择"向导"-"表单"菜单命令,出现"向导选取"对话框,根据题意数据源是一个表,因此选定"表单向导",单击"确定"。
步骤一:
在弹出的对话框中"数据库和表"选项选择sc数据表,并把全部的"可用字段"选为"选定字段"。
步骤二:
表单样式选择为"阴影式",按钮类型选择"图片按钮"。
步骤三:
在"排序次序"中选择"学号",并选择升序排序。
步骤四:
把表单标题改为"成绩查看",可以在单击"完成"之前单击"预览"按钮来预览生成的表单,最后单击"完成"按钮。
将表单以文件名为form1保存在考生文件夹里。
表单结果如图37-1所示。
图37-1
(2)从菜单栏里单击"文件"并选择"打开",或直接单击工具栏上的"打开"图标,在弹出的对话框中选择要打开的数据库文件rate。
在数据库设计器中,右键单击数据库表hl,在弹出的快捷菜单中选择"修改"菜单命令,进入hl的数据表设计器界面,单击"索引"选项卡,把此选项卡中的"索引名"和"索引表达式"都改为"外币代码",在"索引类型"的下拉框中,选择"主索引"。
继续插入一个普通索引,在索引名中输入字段"外币名称",类型为普通索引,表达式为"外币名称"。
单击"确定"完成索引设置。
三、综合应用题(1小题,计30分)
建立满足如下要求的应用并运行,所有控件的属性必须在表单设计器的属性窗口中设置:
建立一个表单myform(文件名和表单名均为myform),其中包含两个表格控件,第一个表格控件名称是grd1,用于显示表customer中的记录,第二个表格控件名称是grd2,用于显示与表customer中当前记录对应的order表中的记录。
要求两个表格尺寸相同、水平对齐。
建立一个菜单mymenu,该菜单只有一个菜单项"退出",该菜单项对应于一个过程,并且含有两条语句,第一条语句是关闭表单myform,第二条语句是将菜单恢复为默认的系统菜单。
在myform的Load事件中执行生成的菜单程序mymenu.mpr。
【解析】本大题考查的主要是通过表格控件,实现父子表记录的联动显示,首先需要添加用于显示的数据表到表单的数据环境中,然后在两个表格的"生成器"对话框中,进行相应的设置,实现表格中记录联动的功能,调用菜单文件,一般是在表单的Load事件中完成。
【答案】
在命令窗口输入命令:
CREATEFORMmyform,打开表单设计器窗口。
从常用工具栏中单击表格控件,添加两个表格到新建的表单中,右击表单,选择"数据环境"快捷菜单命令,在数据环境中添加customer和order,系统自动建立好两表的关联。
返回表单设计器中,右键单击表格grd1,在弹出的快捷菜单中选择"生成器",弹出表格生成器对话框,在"1.表格项"中选择customer,将表中所有字段添加到选定字段中,如图37-2所示。
以同样的方法设置第二个表格的生成器,选择"4.关系"选项卡,把"父表中的关键字段"设置为customer.客户编号,把"子表中的相关索引"设置为"客户编号",如图37-3所示。
双击表单,编写表单的Load事件代码:
DOmymenu.mpr,保存表单,关闭表单设计器窗口。
图37-2
图37-3
在命令窗口输入命令:
CREATEMENUmymenu,在弹出的"菜单设计器"中的"菜单名称"列处输入"退出",结果为"过程",相关代码如下所示:
myform.Release
SETSYSMENUTODEFAULT
选择菜单命令"菜单"-"生成",生成可执行菜单文件,保存菜单,关闭菜单设计器。
在命令窗口执行命令:
DOmymenu.mpr,程序运行结果如图37-4所示。
图37-4
第38套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)建立项目my。
(2)将数据库"客商"添加到项目中。
(3)将数据库"客商"中的数据库表"价格"从数据库中移去(注意:
不是删除)。
(4)将考生文件夹中的表单my的背景色改为蓝色。
【解析】本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理,数据库表的移去,应在数据库设计器中完成。
此外,还考查了表单的属性的更改。
【答案】
(1)启动VisualFoxPro后,在命令窗口输入命令:
CREATEPROJECTmy,新建一个项目管理器。
(2)在项目管理器my中,首先在"数据"选项卡中选择"数据库",然后单击选项卡右边的"添加"命令按钮,在系统弹出的"打开"对话框中,将考生文件夹中的数据库"客商"添加到项目管理器中,单击"确定"按钮。
(3)选择"客商"数据库,单击项目管理器中的"修改"命令按钮,打开数据库设计器。
在数据库设计器中,右击"价格"数据表文件,选择"删除"快捷菜单命令,系统弹出一个对话框,在对话框中单击"移去"命令按钮,将"价格"表从数据库中移出。
(4)从菜单栏里单击"文件"并选择"打开",或直接单击工具栏上的"打开"图标,在弹出的对话框中选择要打开的表单文件"my.scx"。
在表单的属性栏里找到BackColor属性,将其属性值设置为"0,0,255",系统自动将表单的背景颜色设置为蓝色。
二、简单应用题(共2小题,每题20分,计40分)
(1)my.prg中的SQL语句用于查询"成绩"数据库中参加了课程编号为"C1"的学生的"学号"、"姓名"、"课程编号"和"成绩",现在该语句中有3处错误,分别出现在第l行、第2行和第3行,请更正之。
要求保持原有语句的结构,不增加行不删除行。
(2)在成绩数据库中统计每门课程考试的平均成绩,并将结果放在表myt中。
【解析】本大题两个小题主要考查的是SQL语句的应用,1小题主要考查的是SQL超联结查询语句,2小体题考查的是SQL分组计算查询,注意GROUPBY短语的使用。
【答案】
(1)在命令窗口中输入命令:
MODIFYCOMMANDmypro.prg,打开程序文件编辑窗口,文件中程序段如下:
******mypro.prg中的源程序段***********
selectsc.all,student.姓名;
fromscinnerjoinstudentinsc.学号=student.学号;
forsc.课程号="c1"
*******************************************
根据题意提供的3处错误,修改后的程序段如下所示:
********修改后的程序段********************
selectsc.*,student.姓名;
fromscinnerjoinstudentonsc.学号=student.学号;
wheresc.课程编号="c1"
*******************************************
保存文件修改,在命令窗口中输入命令:
DOmypro,查看运行结果。
(2)在命令窗口中输入命令:
MODIFYCOMMAND平均成绩.prg,打开程序文件编辑窗口,文件中程序段如下:
********"平均成绩.prg"中的程序代码*********
select课程编号,avg(成绩)as平均成绩;
fromsc;
groupby课程编号;
intotablemyt
*******************************************
保存文件,在命令窗口输入命令:
DO平均成绩,运行程序,查询结果如图38-1所示。
图38-1
三、综合应用题(1小题,计30分)
对考生文件夹中的"学生信息"表,"课程信息"表和"选课信息"表新建一个表单myf。
在表单上有1页框,页框内有3个选项卡,标题分别为"学生","课程"和"选课"。
表单运行时对应的3个页面上分别显示"学生信息"表,"课程信息"表和"选课信息"表。
表单上还有1选项按钮组,共有3个待选项,标题分别为"学生","课程","选课"。
当单击该选项按钮组选择某一选项时,页框将在对应页面上显示对应表,如单击"课程"选项时,页框将在课程页面上显示课程表。
表单上有1个命令按钮,标题为"关闭",单击此按钮,表单将退出。
【解析】本大题考查的是表单设计,在本题中需要注意的地方是选项按钮组控件中改变单选按钮的属性是ButtonCount,页框控件中改变页面的属性是Pagecount,对页框中单个页面进行编辑设计时,应使页框处于"编辑"状态下,才可以对页框中所包含的控件进行编辑,利用表格显示数据表中的内容,主要是通过RecordSourceType和RecordSource两个属性来实现,需要注意的是在为表格选择数据表时,首先应该将该表添加到表单的数据环境中。
【答案】
在命令窗口中输入命令:
CREATEFORMmyf,打开表单设计器,通过"常用工具栏"向表单添加1个页框控件、1个选项按钮组和1个命令按钮。
在常用工具栏中打开表单数据环境,将数据表文件"课程信息","选课信息"和"学生信息"添加到数据环境中。
选定页框,修改PageCount属性值为3,增加1个页面,右击页框控件,选择"编辑"菜单命令,可以看到页框四周出现蓝色边框,表示处于编辑状态下,选定页面(Page1),修改页面标题Caption属性值为"学生",添加一个表格控件,设置表格控件Grid1的RecordSourceType属性值为"0-表"(用来指定显示表中的数据),RecordSource属性值为"学生信息",然后在页框编辑状态下,以同样的方法设置第二个页面,RecordSource属性值为"课程信息",设置第三个页面,RecordSource属性值为"选课信息"。
在属性面板顶端的下拉框中选择Optiongroup1,将其ButtonCount属性值改为3,右击选项按钮组,选择"编辑"快捷菜单命令,在此状态下(编辑状态下,控件四周出现蓝色框线),分别修改3个单选项的Caption属性值为"学生"、"课程"和"选课"。
在属性面板顶端的下拉框中选择Command1,将其Caption属性值改为"关闭"。
右击选项按钮组,选择"编辑"快捷菜单命令,在此状态下(编辑状态下,控件四周出现蓝色框线),双击"学生"选项,如图83-2所示。
图38-2
编写该控件的Valid事件,程序代码如下。
Thisform.Pageframe1.ActivePage=1
然后在选项按钮级编辑状态下,以同样的方法编写第二个程序如下:
Thisform.Pageframe1.ActivePage=2
以同样的方法编写第三个程序如下:
Thisform.Pageframe1.ActivePage=3
最后双击"关闭"按钮,在Click事件中编写程序命令:
Thisform.Release,保存并运行表单。
第39套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)在考生文件夹下建立数据库"学生"。
(2)把自由表stu、chenji加入到"学生"数据库中。
(3)在"学生"数据库中建立视图my,要求显示表chenji中的全部字段(按表chenji中的顺序)和所有记录。
(4)为stu表建立主索引,索引名和索引表达式均为"学号"。
【解析】本大题主要考查的是数据库和数据表之间的联系,视图的建立,以及字段索引的建立。
新建数据库可以通过菜单命令、工具栏按钮或直接输入命令来建立,添加和修改数据库中的数据表可以通过数据库设计器来完成,建立表索引可以在数据表设计器中完成。
需要注意的是新建视图文件时,首先应该打开相应的数据库,且视图文件在磁盘中是找不到的,直接保存在数据库中。
【答案】
(1)在命令窗口中输入命令:
CREATEDATABASE学生,新建一个数据库。
(2)在命令窗口中输入命令:
MODIFYDATABASE学生,打开新建的数据库。
右键单击数据库设计器,选择"添加表"快捷菜单命令,系统弹出"打开"对话框,将考生文件夹下的stu和chenji两个自由表分别添加到数据库"学生"中。
(3)右键单击数据库设计器,选择"新建本地视图"快捷菜单命令,在弹出的"新建本地视图"对话框中,单击"新建视图"图标按钮,打开视图设计器,将chenji数据表添加到视图设计器中。
根据题意,在视图设计器的"字段"选项卡中,将"可用字段"列表框中的字段全部添加到右边的"选定字段"列表框里中,完成视图设计,将视图以my文件名保存在考生文件夹下。
(4)在数据库设计器中,右键单击数据库表stu,在弹出的快捷菜单中选择"修改"菜单命令,进入stu的数据表设计器界面,在"索引"选项卡中的"索引名"和"索引表达式"输入"学号",在"类型"的下拉框中,选择"主索引"。
二、简单应用题(共2小题,每题20分,计40分)
(1)"考试成绩信息"数据库下有一个表"成绩.dbf",使用菜单设计器制作一个名为my的菜单,菜单只有1个"考试统计"子菜单。
"考试统计"菜单中有"学生平均成绩"、"课程平均成绩"和"关闭"3个子菜单:
"学生平均成绩"子菜单统计每位考生的平均成绩;"课程平均成绩"子菜单统计每门课程的平均成绩;"关闭"子菜单使用SETSYSMENUTODEFAULT来返回系统菜单。
(2)有如下命令序列,其功能是根据输入的考试成绩显示相应的成绩等级。
Settalkoff
Clear
Input"请输入考试成绩:
"tochj
Dj=iif(chj<60,"不及格",iif(chj>=90,"优秀","通过"))
?
?
"成绩等级"+dj
Settalkon
请编写程序,用DOCASE型分支结构实现该命令程序的功能。
【解析】本大题1小题主要考查的是菜单设计器的"结果"下拉框中各项的使用功能,例如要建立下级菜单,在"结果"下拉框中就必须选择"子菜单",而要执行某条菜单命令,就应该选择"命令"或"过程"。
2小题考查的是程序基本结构中的选择结构中的分支语句,CASE语句中,只执行满足条件的第一个语句,后面的CASE语句不再执行,如果不满足,则继续执行后面CASE语句。
【答案】
(1)在命令窗口中输入命令:
CREATEMENUmy,系统弹出一个"新建"对话框,在对话框中单击"菜单"图形按钮,进入菜单设计器环境。
输入主菜单名称"考试统计",在"结果"下拉框中选择子菜单,接着单击"考试统计"菜单项同一行中的"创建"按钮进入下级菜单的设计界面,此设计窗口与主窗口大致相同,然后编写每个子菜单项的名称"学生平均成绩"、"课程平均成绩"和"关闭",在前两个子菜单的"结果"下拉框中选择"过程"选项,"关闭"的"结果"下拉框中选择"命令"选项。
如图39-1所示。
图39-1
单击"学生平均成绩"菜单行中的"创建"按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段:
****子菜单"学生平均成绩"的过程程序*****
SELECT学号,AVG(成绩)AS学生平均成绩FROM成绩GROUPBY学号
*****************************************
单击"课程平均成绩"菜单行中的"创建"按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段:
****子菜单"课程平均成绩"的过程程序*****
SELECT课程号,AVG(成绩)AS课程平均成绩FROM成绩GROUPBY课程号
*****************************************
在"关闭"菜单项的命令文本框中编写程序代码:
SETSYSMENUTODEFAULT。
选择菜单命令"菜单"-"生成",生成一个菜单文件my.mpr。
运行菜单,结果如图39-2所示。
图39-2
(2)在命令窗口中输入命令:
MODIFYCOMMAND成绩等级,在程序文件编辑器窗口输入如下程序段:
****文件"成绩等级.prg"中的程序段*****
Settalkoff
Clear
Input"请输入考试成绩:
"tochj
DoCase
Casechj>=90
dj='优秀'
Casechj>=60
dj='通过'
Casechj>0
dj='不及格'
EndCase
?
"成绩等级:
",dj
Settalkon
******************************
保存文件,在命令窗口输入命令:
DO成绩等级,运行程序,通过BROWSE命令可查看结果。
三、综合应用题(1小题,计30分)
对考生文件夹下的"书籍"表新建一个表单,完成以下要求:
表单标题为"图书信息浏览",文件名保存为myf,Name属性为form1。
表单内有1个组合框,1个命令按钮和4对标签与文本框的组合。
表单运行时组合框内是"书籍"表中所有书名(表内书名不重复)供选择。
当选择书名后,4对标签和文本框将分别显示表中除"书名"字段外的其他4个字段的字段名和字段值。
单击"关闭"按钮退出表单。
【解析】本大题主要考查的是表单中组合框的设置,该控件用来显示数据的重要属性是RowsourceType和RowSource,程序部分属于SQL的简单查询,在显示查询结果时,首先可用一个数组保存查询结果,然后然后通过文本框的Value属性值来显示查询结果。
【答案】
单击"文件"菜单中的"新建",在类型选择框中选择"表单",单击"新建文件"按钮,打开表单设计器。
在属性窗口中设置表单的Caption属性为"图书信息浏览",Name属性值为"form1"从表单控件工具栏中选择1个组合框,4个文本框、4个标签和1个命令按钮放置在表单上。
在属性面板中分别设置四个标签的Caption属性分别为"作者"、"索书号"、"出版社"和"价格"。
设置命令按钮的Caption属性值为"关闭"。
设置组合框的RowSourceType属性为"3-SQL语句",RowSource属性为"select书名from书籍",Style属性为"2-下拉列表框"。
结果如图39-3所示。
图39-3
双击组合框,编写该控件的Valid事件,程序代码如下:
*************组合框Combo1的Valid事件代码*************
SELECT作者,索书号,出版社,价格;
FROM书籍;
WHERE书名=Thisform.Combo1.Value;
INTOARRAYtemp
Thisform.Text1.Value=temp
(1)
Thisform.Text2.Value=temp
(2)
Thisform.Text3.Value=temp(3)
Thisform.Text4.Value=temp(4)
*********************************************************
双击"关闭"命令按钮编写Click事件代码:
Thisform.Release。
保存表单文件为myf.scx到考生文件夹下,运行表单,结果如图39-4所示。
图39-4
第40套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)建立项目文件,名为my。
(2)将数据库nba添加到新建立的项目当中。
(3)修改表单my,将其中的命令按钮删除。
(4)把表单my添加到项目my中。
【解析】本大题主要考查的是通过项目管理器来完成一些数据库的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理,此外,还考查了表单的属性的更改以及表单的添加。
【答案】
(1)启动VisualFoxPro后,在命令窗口输入命令:
CREATEPROJECTmy,新建一个项目管理器。
(2)在项目管理器my中,首先在"数据"选项卡中选择"数据库",然后单击选项卡右边的"添加"命令按钮,在系统弹出的"打开"对话框中,将考生文件夹中的数据库nba添加到项目管理器中,单击"确定"按钮。
(3)从菜单栏里单击"文件"并选择"打开",或直接单击工具栏上的"打开"图标,在弹出的对话框中选择要打开的表单文件my.scx。
选中表单上的命令按钮,按下键盘上的DELETE键,把命令按钮删除。
单击工具栏上的