VF上机题库110(3)

2019-08-03 10:50

\添加到表单的数据环境中。 保存并运行程序。 步骤4:编写两个命令按钮的Click(2)【操作步骤】 事件代码如下。 新建一个程序\,编写下列命***\查询\按扭的Click如下代码*** 令语句。 ThisForm.Grid1.RecordSourcetype****\中的程序代码****** =4 SELECT Course.课程名称; ThisForm.Grid1.RecordSource=; FROM course,score ; SELECT 学生.姓名, 课程.课程名WHERE Course.课程编号 = Score.课称, 选课.成绩; 程编号; FROM 学生,选课,课程 ; AND Score.成绩 < 60; WHERE 选课.课程号 = 课程.课程GROUP BY Course.课程名称; 号 ; TO FILE new.txt AND 学生.学号 = 选课.学号; ************************* AND 学生.系 = \; 保存并运行程序。 INTO CURSOR temp 在考生文件夹下完成如下综合应用: 表的结构。

(4)在数据库设计器中右键单击\表,选择\修改\命令,在打开的表设计器的\字段\选项卡中设置\客户号\为段为升序,在\索引\选项卡中为\表建立普通索引,索引名和索引表达式均为\客户号\。以同样的方式为\表建立主索引,索引名和索引表达式均为\客户号\,最后从主索引拖动鼠标至普通索引以建立两表之间的永久联系。

1.在考生文件夹下有一个名为formone.scx的表单文件,其中包含一个文本框、一个表格和两个命令按钮。 请按下列要求完成相应的操作: 录)。统计结果应按年份降序排列,若年份相同再月份升序排列,并存放在tabletwo表中。

\返回\菜单命令的功能是返回Visual FoxPro的系统菜单。

(2)创建一个项目myproject.pjx,并将已经创建的菜单mymenu.mnx设置成主文件。然后连编生成应用程序myproject.app。最后运行myproject.app,并依次执行\统计\和\返回\菜单命令。 【操作步骤】 步骤1:通过\新建\对话框新建一个菜单,然后选择\显示\菜单下的\常规选项\命令,在弹出的\常规选项\对话框ThisForm.refresh ************************* \退出\按扭的Click事件代码如下。 ThisForm.Release 步骤5:运行并保存并按题目要求运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下,完成如下操作: 1.建立一个\客户\表,表结构如下 客户编号(C,8) 客户名称(C,8) 联系地址(C,30) 联系电话(C,11) 电子邮件(C,20) 2.建立一个名为\客户\的数据库,并将自由表\客户\添加到该数据库中。 3.将如下记录插入\客户\表中。 43100112 沈红霞 浙江省杭州市83号信箱 13312347008 shenhx@sohu.com 44225601 唐毛毛 河北省唐山市100号信箱 13184995881 tangmm@bit.com.cn 50132900 刘云亭 北京市1010号信箱 13801238769 liuyt@ait.com.cn 30691008 吴敏霞 湖北省武汉市99号信箱 13002749810 wumx@sina.com 41229870 王衣夫 辽宁省鞍山市88号信箱 13302438008 wangyf@abbk.com.cn 4.利用报表向导生成一个名为\客户\报表文件名)的报表,报表中包含客户表的全部字段,报表的标题为\客户\,其他各项取默认值。 【操作步骤】 (1)通过\新建\对话框新建一个自由表,文件名为\客户\。在打开的表设计器中按照题目的要求\客户\表的结构。注意,保存设计结果时不要输入记录。 (2)通过\新建\对话框新建一个数据库,文件名为\客户\。在打开的数据库设计器的空白处单击鼠标右键,选择\添加\命令,将考生文件夹下的\客户\自由表添加到新建的数据库中。 (3)在名为\客户\的数据库设计器中,右键单击\客户\表,选择\浏览\命令,然后选择\显示\菜单下的\追加方式\命令,按照题目的要求将记录插入到\客户\表中。 (4)通过报表向导新建一个报表,在报表的\字段选取\对话框中将\客户\表中的全部字段添加到\选定字段\列表框中;在\完成\对话框中设置报表的标题为\客户\;其他各项均取默认值,直接单击\下一步\按钮。最后将报表以\客户\为文件名进行保存。 在考生文件夹下有student(学生)、course(课程)和score(选课成绩)3个表,利用SQL语句完成如下操作: 1.查询每门课程的最高分,要求得到的信息包括\课程名称\和\分数\,将查询结果存储到max表中(字段名是\课程名称\和\分数\,并将相应的SQL语句存储到命令文件one.prg中。 2.查询成绩不及格的课程,将查询的课程名称存入文本文件new.txt,并将相应的SQL语句存储到命令文件two.prg。 (1)【操作步骤】 新建一个程序one.prg,编写下列命令语句。 ****\中的程序代码**** SELECT Course.课程名称, max(score.成绩) as 分数; FROM course,score ; WHERE Course.课程编号 = Score.课程编号; GROUP BY Course.课程名称; INTO TABLE max.dbf *************************

(1)建立数据库\学生\。 (2)把自由表student(学生)、course(课程)和score(选课成绩)添加到新建立的数据库中。 (3)建立满足如下要求的、表单名和文件名均为formlist的表单。 ① 添加一个表格控件Grid1,要求按学号升序显示\学生选课\及\考试成绩\信息(包括字段学号、姓名、院系、课程名称和成绩); ② 添加两个命令按钮\保存\和\退出\和Command2),单击命令按钮\保存\时将表格控件Grid1中所显示的内容保存到表results中(方法不限),单击命令按钮\退出\则关闭并释放表单。 注意:程序完成后必须运行,并按要求保存表格控件Grid1中所显示的内容到表results。 【操作步骤】 步骤1:新建一个数据库\学生\,将自由表\学生\、\课程\和\选课成绩\添加到新建的数据库中。 步骤2:在命令窗口中输入:Crea form formlist,新建一个表单。按题目要求为表单添加一个表格控件和两个命令按钮控件,修改各控件的相关属性。 步骤3:在表单的Init事件中写入代码。 ****表单的\事件代码*** ThisForm.Grid1.RecordSourcetype=4 ThisForm.Grid1.RecordSource=; \学号, Student.姓名, Student.院系, Course.课程名称,Score.成绩; FROM student,score,course ; WHERE Score.课程编号 = Course.课程编号 ; AND Student.学号 = Score.学号; ORDER BY Student.学号; into cursor abc\************************* 步骤4:在\保存\命令按钮中写入\* from abc into table results\。 步骤5:在命令按钮退出中写入\。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下创建一个名为\订单管理\的数据库,并将已有的employee和orders两个表添加到该数据库中。 2.为orders表建立一个按降序排列的普通索引,索引名为je,索引表达式为\金额\。 3.在\订单管理\数据库中新建一个名为customer的表,表结构如下: 客户号 字符型(4) 客户名 字符型(36) 地址 字符型(36) 4.为customer表建立主索引,为orders建立普通索引,索引名和索引表达式均为\客户号\,通过\客户号\为customer表和orders表建立一个一对多的永久联系。 【操作步骤】 (1)通过\新建\对话框创建一个数据库,文件名为\订单管理\,在打开的数据库设计器中右键单击空白处,选择\添加表\命令,将考生文件夹下的\和\两个表添加到\订单管理\数据库中。 (2)在数据库设计器中右键单击\表,选择\修改\命令,在打开的表设计器中选择\索引\选项卡,输入索引名\,选择类型为\普通索引\,输入表达式\金额\,最后单击\确定\按钮,保存对表的修改。 (3)在打开的数据库设计器中右键单击空白处,选择\新建表\命令,保存表文件名为\,在打开的表设计器中,按题目要求设置customer

(1)通过\属性\窗口将文本框Text1的Value属性值设置为当前系统日期(日期型,不含时间)。

(2)通过\属性\窗口将表格Grid1的RecordResourceType属性值设置为\-SQL说明\。

(3)修改\确定\按钮的Click事件代码。使得单击该按钮时,表格Grid1内将显示指定日期以后(含)签订的订单信息,包括\订单号\、\签订日期\和\金额\个字段。

(4)设置\关闭\按钮的Click事件代码。使得单击该按钮时,将关闭并释放表单。

2.利用查询设计器创建查询,要求根据employee表和orders表对各组在2001年所签订单的金额进行统计。统计结果仅包含那些总金额大于等于500的组,各记录包括\组别\、\总金额\、\最高金额\和\平均金额\个字段;各记录按\总金额\降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。

(1)【操作步骤】

步骤1:打开表单formone.scx,在属性窗口中修改,修改Text1的Value属性为\=date()\。 步骤2:修改表格的RecordSourcetype属性为\-SQL说明\。 步骤3:打开考生文件夹下的表单文件\,双击其中的\确定\按钮,修改其Click事件代码如下。 错误1:set century to 4 正确:set century on 4 错误2:va=text1.value

正确:va=thisform.text1.value 错误3:this.grid1.RowdSource=st 正确:thisform.grid1.RecordSource=st 步骤4:编写\关闭\按钮的Click事件代码为\。 (2)【操作步骤】

步骤1:通过\新建\对话框新建查询,将考生文件夹下的\和\两个表添加到查询设计器中。 步骤2:在查询设计器中的\字段\选项卡中,添加字段\组别\、表达式\金额) as 总金额\、表达式\金额) as 最高金额\和表达式\金额) as 平均金额\到\选定字段\列表框中。 步骤3:在查询设计器中的\筛选\选项卡中,通过\字段名\下拉列表中的\表达式\打开\表达式生成器\对话框,在其中设置表达式\签订日期)\,\条件\下拉列表框中选择\=\,\实例\文本框中输入\。 步骤4:在\排序依据\选项卡中,设置按\总金额\降序排序。

步骤5:在\分组依据\选项卡中,将\组别\字段添加到\分组字段\列表框中。单击\满足条件\按钮,在\满足条件\对话框中选择字段名为\总金额\,条件为\=\,实例中输入\.

步骤6:选择\查询\菜单下的\查询去向\命令,在弹出的\查询去向\对话框中选择表,输入表名为\,并关闭该对话框。

步骤7:保存查询文件名为\,并运行查询。 (1)在考生文件夹下创建一个名为mymenu.mnx的下拉式菜单,运行该菜单程序时会在当前Visual FoxPro系统菜单的末尾追加一个\考试\子菜单。 \统计\和\返回\菜单命令的功能都通过执行\过程\完成。

菜单命令\统计\的功能是以某年某月为单位求订单金额的和。统计结果包含\年份\、\月份\和\合计\项内容(若某年某月没有订单,则不应包含记

中单击\位置\中的\追加\单选按钮,单击\确定\按钮。 步骤2:按照题目的要求新两个菜单项\统计\和\退出\,结果均设置为\过程\。编写\统计\菜单项的过程代码如下。

****\统计\菜单项的过程代码***** SELECT year(orders.签订日期) as 年份, month(orders.签订日期) as 月份,;

sum(orders.金额) as 合计; FROM employee,orders ;

WHERE Employee.职员号 = Orders.职员号;

GROUP BY 2,1;

HAVING 合计 >= 0; ORDER BY 1 DESC, 2; INTO TABLE tabletwo.dbf *************************

编写\返回\菜单项的过程代码为\sysmenu to default\。

步骤3:保存菜单文件名为\,选择\菜单\菜单中的\生成\命令,生成该菜单的可执行文件,运行菜单查看设计结果。

步骤4:通过\新建\菜单新建一个项目,文件名为myproject。在项目管理器中单击\其他\选项卡,选中\菜单\项并单击右侧的\添加\按钮,将新建的菜单文件\添加到项目中。 步骤5:展开项目管理器\其他\选项卡中的\菜单\项,右键单击\,查看其中的\设置为主文件\是否被选中(前面有对号标记),如果没有就需要单击此项。

步骤6:在项目管理中单击\连编\按钮,选中\连编选项\对话框中的\连编应用程序\单选按钮,并单击\确定\按钮,保存程序名为\。 步骤7:单击\程序\菜单中的\运行\命令,打开其中的\,然后依次执行\统计\和\退出

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下完成如下操作: 1.创建一个表单,并将表单保存为myform。

2.将myform表单设置为模式表单,并将其标题设置为\表单操作\。

3.将考生文件夹下的xuesheng表和chengji表依次添加到myform表单的数据环境中。设置两个表对应的对象名称分别为cursor1和cursor2。 4.在数据环境中为xuesheng表和chengji表建立关联:当移动xuesheng表中的记录指针时,chengji表中的记录指针会自动移动到学号与xuesheng表相同的对应记录上。 【操作步骤】

(1)利用\文件\菜单下的\新建\命令可创建表单文件,将表单保存为myform.scx。

(2)通过属性窗口设置表单的属性。 (3)为表单添加数据环境,在\显示\菜单下打开\数据环境\或在表单空白处右键单击鼠标右键打开\数据环境\,将xuesheng表和chengji表依次添加到数据环境中,一定要按此顺序添加,以使两个表所对应的对象名称分别为cursor1和cursor2。

(4)在数据环境中,选中xuesheng表中的\学号\,按住鼠标拖动到chengji表的\学号\字段上并释放鼠标,以建立两个表之间的关联。

在考生文件夹下完成如下简单应用: 1.利用查询设计器创建查询,从xuesheng表和chengji表中查询数学、英语和信息技术3门课程都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以上(含)的学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段,各记录要按学号降序排列,查询去向为表table1。最后将查询保存在

query1.qpr文件中,并运行该查询。 2.首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:通过该视图只能查询20001001班(学号的前8位数字串为班号)的学生记录,查询结果包含学号、姓名、数学、英语和信息技术5个字段,各记录要按学号降序排列。最后再利用刚创建的视图view1查询视图中的全部信息,并将查询结果存储于表table2中。 (1)【操作步骤】

步骤1:通过\新建\对话框新建查询文件,将xuesheng和chengji表添加到查询中。

步骤2:从字段选项卡中添加学号、姓名、数学、英语和信息技术5个字段到选定字段中。

步骤3:切换到\筛选\选项卡,在其中进行如下设置。

姓名, Chengji.数学, Chengji.英语,;

Chengji.信息技术;

FROM chengji,xuesheng ;

WHERE Chengji.学号 = Xuesheng.学号;

ORDER BY Xuesheng.学号 DESC; INTO TABLE table3.dbf

ALTER TABLE table3 ADD COLUMN 等级 char(4)

UPDATE table3 SET 等级=′优′ WHERE table3.数学>=60 AND table3.英语>=60 AND table3.信息技术>=60 AND (table3.数学+table3.英语+table3.信息技术)>=270

UPDATE table3 SET 等级=′良′ WHERE table3.数学>=60 AND table3.英语>=60 AND table3.信息技术>=60 AND (table3.数学+table3.英语+table3.信息技术)>=240 AND (table3.数学+table3. 英语+

步骤4:切换到\排序依据\中选择字段table3.信息技术)<270 \学号\,在\排序选项\处选UPDATE table3 SET 等级=′中′ 顾客号\和\消费金额合计\。顾客某项

消费金额由数量*单价计算,而消费金额合计则为其各项消费金额之和(SUM(数量*单价))。查询结果按\消费金额合计\降序排序,并将查询结果输出到表TABB中。表TABB的两个字段名分别为顾客号和消费金额合计。设计完成后,运行该查询。

2.创建设计一个文件名为\的表单。表单的标题名为\选择磁盘文件\,表单名为\。该表单用于完成如下操作:

编写选项按钮组的Click事件代码,使每在选项按钮组中选择一个文件类型,列表框(List1)就列出该文件类型所对应的文件。列表框的列数为1。 \退出\按钮的功能是关闭并释放表单。

提示:(1)选择的3种文件类型分别为Word、Excel和TXT文本文件。

(2)列表框的RowSourceType应设置为\-文件\。

(3)若要让列表框显示Word文件,可将中的记录在表格控件中显示。

提示:设置表格控件的RecordSourceType和RecordSource属性,其中RecordSourceType属性应设置成\-SQL说明\。

(3)\退出\按钮的功能是关闭并释放表单。

表单设计完成后,需运行该表单,查询\结帐日期\等于2005-10-01的顾客信息。 【操作步骤】

步骤1:通过常用工具栏中的\打开\命令打开考生文件夹下的数据库\点菜\。

步骤2:通过\新建\对话框新建一个表单,文件名为\。

步骤3:按题目要求为表单添加一个标签控件、一个文本框控件、一个表格控件和3个命令按钮控件。设置各控件的属性值如下。

步骤4:双击\查询\按钮,写入Click事件代码如下。

******\查询\按钮的Click事件代码择\降序\。 步骤5:单击查询菜单下的查询去向,选择表,输入表名table1,最后将查询保存在query1.qpr文件中,并运行该查询。 (2)【操作步骤】 步骤1:通过\新建\对话框新建数据库,数据库文件名为cj m,在数据库设计器中依次添加xuesheng表和chengji表。 步骤2:通过\新建\对话框新建视图,在\添加表或视图\对话框中添加xuesheng表和chengji表到新视图设计器中。 步骤3:在\字段\选项卡中将学号、姓名、数学、英语和信息技术5个字段添加到\选定字段\框中。 步骤4:切换到\筛选\选项卡,在其中进行如下设置。 字段名 条件 实例 LEFT(Chengji.学号,8) = \步骤5:切换到\排序依据\选项卡,选择字段\学号\,在\排序选项\处选择\降序\;最后将视图保存在view1文件中。 步骤6:利用刚创建的视图view1创建查询,在\添加表或视图\对话框中选择view1视图,在字段中选择所有字段,设置查询去向为表table2。保存并运行查询,文件名默认。 在考生文件夹下新建一个名为mymenu.mnx的下拉式菜单,并生成菜单程序mymenu.mpr。运行该菜单程序则在当前Visual FoxPro系统菜单的末尾追加一个\考试\子菜单。 考试菜单下的\计算\和\返回\命令的功能都是通过执行\过程\完成的。 \计算\菜单命令的功能如下: (1)先用SQL的SELECT语句完成查询:按学号降序列出所有学生的学号、姓名,及其数学、英语和信息技术的分数,查询结果存储于表table3中。 (2)用ALTER TABLE语句在表table3中添加一个\等级\字段,字段类型为字符型,字段宽度为4。 (3)最后根据数学、英语和信息技术的成绩为所有学生计算等级:3门课程都及格(大于等于60分)且平均分大于等于90分的为\优\,3门课程都及格且平均分大于等于80分、小于90分的为\良\;3门课程都及格且平均分大于等于70分、小于80分的为\中\;3门课程都及格且平均分小于70分的为\及格\,其他的为\差\。 \返回\菜单命令的功能是恢复到Visual FoxPro的系统菜单。 菜单程序生成后,运行菜单程序并依次执行\计算\和\返回\菜单命令。 【操作步骤】 步骤1:通过\新建\对话框新建菜单,打开菜单设计器。打开\显示\菜单下的\常规选项\命令,在\常规选项\对话框的\位置\处选择追加,则新建立的子菜单会在当前vfp系统菜单后显示。 步骤2:在菜单名称中填入\考试\,结果为子菜单,单击创建;在子菜单的菜单名称中输入\计算\,结果为过程。在过程中输入下列命令(计算过程也可以用两个循环嵌套的方法来完成)。 ******\计算\菜单项的过程代码****** SELECT Xuesheng.学号, Xuesheng.

WHERE table3.数学>=60 AND table3.英语>=60 AND table3.信息技术>=60 AND (table3.数学+table3.英语+table3.信息技术)>=210 AND (table3.数学+table3.英语+table3.信息技术)<240 UPDATE table3 SET 等级=′及格′ WHERE table3.数学>=60 AND table3.英语>=60 AND table3.信息技术>=60 AND (table3.数学+table3.英语+table3.信息技术)>=180 AND (table3.数学+table3.英语+table3.信息技术)<210 UPDATE table3 SET 等级=′差′ WHERE 等级=\************************* 在菜单名称中填入\返回\,结果为过程,在过程中输入命令\TO DEFAULT\。 步骤 3:最后保存菜单mymenu.mnx,并生成菜单程序mymenu.mpr,运行菜单程序并依次执行 \计算\和\返回\菜单命令。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下,打开\点菜\数据库,完成如下操作: 1.修改\菜单表\,为其增加一个字段类型为字符型,宽度为8的\厨师姓名\字段。 2.使用报表向导建立一个简单报表,要求选择\菜单表\中所有字段(其他不做要求),并把报表保存为one.frx文件。 3.打开第2题建立的报表文件one,将报表标题修改为\菜单一览表\,最后保存所做的修改。 4.使用SQL的SELECT语句,根据顾客点菜表和菜单表查询点菜金额大于等于40元的顾客号、菜编号、菜名、单价和数量,结果按菜编号降序排列,并存储到名为TABA的表中,将SQL的SELECT语句存储到名为TWO.PRG的文件中。表TABA由SELECT语句自动建立。注意:在SQL语句中不要对表取别名。 【操作步骤】 (1)在命令窗口输入:ALTER TABLE 菜单表 ADD COLUMN 厨师姓名 C(8),或打开表设计器添加字段。 (2)通过报表向导新建一个报表,在报表的\字段选取\对话框中将\菜单表\中的全部字段添加到\选定字段\列表框中;其他各项均取默认值,直接单击\下一步\或\完成\按钮。最后将报表以\为文件名进行保存。 (3)打开报表,在\报表设计器\的\标题\处删除原标题\菜单表\,接着仍在\标题\区添加一个标签,在标签中输入\菜单一览表\,保存该报表。 (4)新建一个程序并写入下列代码。 ************************* SELECT 顾客号,顾客点菜表.菜编号,菜名,单价,数量; FROM 顾客点菜表 JOIN 菜单表; ON 顾客点菜表.菜编号 = 菜单表.菜编号; WHERE 单价 >= 40; ORDER BY 顾客点菜表.菜编号 DESC; INTO TABLE taba ************************* 保存程序名为two.prg,并运行。 在考生文件夹下,完成如下简单应用: 1.打开\点菜\数据库,通过查询设计器设计一个名为THREE的查询文件,根据顾客点菜表和菜单表查询顾客的\

其RowSource属性设置为\。 (1)【操作步骤】

步骤1:通过\打开\命令按钮打开考生文件夹下的\点菜\数据库。

步骤2:通过\新建\对话框新建一个查询,按要求将\顾客点菜表\和\菜单表\两个表添加到查询设计器中。

步骤3:在\字段\选项卡中将字段\顾客点菜表.顾客号\和表达式\数量*单价) AS消费金额合计\添加到\选定字段\列表框中。

步骤4:在\排序依据\选项卡中将表达式\数量*单价) AS消费金额合计\添加到\排序条件\列表框中,并选择\降序\排序。

步骤5:在\分组依据\选项卡中将将\顾客点菜表.顾客号\添加到\分组条件\列表框中。

步骤6:选择\查询\菜单下的\查询去向\命令,在\查询去向\对话框中选择\表\,在\表名\处输入\,单击\确定\按钮。

步骤7:将查询保存为\,并运行查询。 (2)【操作步骤】

步骤1:通过\新建\对话框新建表单,文件名为\。

步骤2:在表单设计器的属性窗口中,设计表单的Caption属性为\选择磁盘文件\。

步骤3:在表单设计器中,通过表单控件工具栏向表单添加一个选项按钮组控件Optiongroup1,在属性窗口中设置其ButtonCount属性为3。

步骤4:选中选项按钮组控件并单击鼠标右键,在弹出的菜单中选择\编辑\命令,再单击选中其中的\,在属性窗口中设置其Caption属性为\;单击选中其中的\,在属性窗口中设置其Caption属性为\;单击选中其中的\,在属性窗口中设置其Caption属性为\。

步骤5:为表单添加一个列表框控件(List1),在属性窗口中设置其ColumnCount属性为1,RowSourceType属性为\-文件\,RowSource属性为\=Thisform.Optiongroup1.value\。 步骤6:为表单添加一个命令按钮控件(Command1),在属性窗口中设置其Caption属性为\退出\。 步骤7:双击\退出\按钮,编写其Click事件代码\,并关闭代码编写窗口。

步骤8:保存修改后的表单并运行。 先打开考生文件夹下的\点菜\数据库,然后创建设计一个标题名为\查询\、文件名为\的表单。 表单要求如下:

在该表单中设计一个标签(Label1)、一个文本框(Text1)、一个表格(Grid1)和三个命令按钮。

标签对象标题文本为\结帐日期\;文本框用于输入结帐日期(Text1);表格控件用于显示结果。 3个命令按钮的功能如下: (1)\查询\按钮:在该按钮的\事件中使用SQL的SELECT命令查询结帐日期等于在文本框输入日期的顾客序号、顾客姓名、单位和消费金额,查询结果按消费金额降序排列,最后将查询结果存储到表TABC中。 (2)\显示\按钮:在该按钮的\事件中使用命令将表TABC

******

SET CENTURY ON SET DATE TO YMD

dd = CTOD(ThisForm.Text1.Value) SELECT 顾客序号,顾客姓名,单位,消费金额 FROM 结账表; WHERE 结账日期 = dd; ORDER BY 消费金额 DESC; INTO TABLE tabc

*************************

步骤5:双击\显示\按钮,写入Click事件代码如下。

******\显示\按钮的Click事件代码******

ThisForm.Grid1.RecordSourceType = 0

ThisForm.Grid1.RecordSource = \

*************************

步骤6:双击\退出\按钮,写入Click事件代码\,保存并运行表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下有order、orderitem和goods三个表。其中,order表包含订单的基本信息,orderitem表包含订单的详细信息,goods表包含图书商品的相关信息。

1.创建一个名为\订单管理\的数据库,并将考生文件夹下的order、orderitem和goods三个表添加到该数据库中。

2.在表设计器中为order表建立一个普通索引,索引名为nf,索引表达式为\签订日期)\。

3.通过\订单号\为order表和orderitem表建立一个一对多的永久联系,它们的索引名均为\订单号\,其中order表为父表,orderitem表为子表。

4.为上述建立的联系设置参照完整性约束:更新规则为\限制\,删除规则为\级联\,插入规则为\限制\。 【操作步骤】

步骤1:通过\新建\对话框新建一个数据库,文件名为\订单管理\,在打开的数据库设计器中右键单击空白处,选择\添加表\命令,依次将考生文件夹下的order、orderitem和goods三个表添加到数据库中。

步骤2:在数据库设计器中,右键单击\表,选择\修改\命令,在表设计器对话框中单击\索引\选项卡,在\索引名\中输入\,在\类型中\选中\普通索引\,在\表达式\中输入\签订日期)\,为order表建立普通索引。

步骤3:按照上一小题的步骤为orderitem表建立普通索引,order表建立主索引,它们的索引名和索引表达式均为\订单号\。然后从order表的主索引处拖动鼠标至orderitem表的普通索引处,以建立两表之间的永久联系。

步骤4:首先执行\数据库\菜单下的\清理数据库\命令,然后选中并右击上一小题中建立的两表之间的关系线,选择\编辑参照完整性\命令,在\编辑参照完整性生成器\对话框中,依次选中\更新规则\选项卡下的\限制\单选按钮、\删除规则\选项卡下的\级联\单选按钮、\插入规则\选项卡下的\限制\单选按钮,最后单击\确定\按钮。 1.利用查询设计器创建查询,要求从order、orderitem和goods三个表中查

询2001年签订的所有订单信息,查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量6项内容。各记录按订单号降序排列,若订单号相同再按商品名降序排列。查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。 2.在考生文件夹下有表单文件myform.scx,其中包含一个标签、一个文本框和一个命令按钮(不要改变它们的名称)。

编写\确定\按钮的Click事件代码,当表单运行时,单击该命令按钮可以查询在文本框中输入的指定客户的所有订单信息,查询结果依次包含订单号、签订日期、商品名、单价和数量5项内容。各记录按订单号升序排列,若订单号相同按商品名升序排列,将查询结果存放在表tabletwo中。

设置完成后运行表单,在文本框中输入客户名lilan,单击\确定\按钮完成查询。

(1)【操作步骤】

步骤1:新建一个查询,依次把表order、orderitem和goods表添加到查询设计器中。

步骤2:在字段选项卡中,依次双击订单号、客户号、签订日期、商品名、单价和数量。

步骤3:在筛选选项卡中设置\签订日期)=2001\,在排序依据选项卡中,先按\订单号\降序,然后再按\商品名\降序。

步骤4:在查询菜单中选择\查询去向\,选择去向为表,输入表名:tableone。 步骤5:保存查询文件名为:queryone,并运行查询。 (2)【操作步骤】

步骤1:打开表单myform,双击\查询\按钮,在其Click事件里写入如下语句。

******\查询\按钮的Click事件代码******

x=allt(ThisForm.Text1.Value) sele a.订单号,签订日期,商品名,单价,数量; from order a,orderitem b,goods c; where a.订单号=b.订单号 and b.商品号=c.商品号 and 客户名=x; order by a.订单号,商品名 into table tabletwo

*************************

步骤2:保存并运行表单,在文本框里输入lilan 并单击\确定\按钮。 在考生文件夹下创建一个名为mymenu.mnx的下拉式菜单,生成菜单程序mymenu.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的末尾追加一个\考试\子菜单,如下图所示。

\计算\和\返回\菜单命令的功能都通过执行\过程\完成。

\计算\菜单命令的功能是计算各商品在2001年的订购总金额,若某商品没有被订购,则其总金额为零。将计算结果保存在tablethree表中,其中包含商品名和总金额两个字段,各记录按商品升序排列。

提示:可分两步完成,首先从表ordor和orderitem中获取2001年订单中有关商品数量的信息,并保存在临时表中,然后将表goods与临时表进行左联接,并完成总金额的计算。

\返回\菜单命令的功能是恢复到Visual FoxPro的系统菜单。

生成菜单程序后,运行菜单程序并依次执行\计算\和\返回\菜单命令。 【操作步骤】

步骤1:新建一个菜单,在菜单名称里输入\考试\,在结果里选择\子菜单\,单击创建。在子菜单里输入\计算\和\退出\。

步骤2:在\计算\右边选择\过程\,输入如下程序。

sele 商品名,sum(数量*单价) 总金额; from orderitem a,goods b,order c; where a.商品号=b.商品号 and c.订单号=a.订单号 and year(签订日期)=2001;

group by a.商品号 order by 商品名 into table tablethree

步骤3:在\退出\右边选择过程。输入如下命令语句\。 步骤4:在菜单的\常规选项\对话框里选择\追加\。

步骤5:然后保存菜单名为:mymenu,

最后生成可执行菜单文件。在命令窗口里输入:DO MYMENU.MPR并回车,在\考试\菜单里执行\计算\。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下,打开\数据库,完成如下操作:

1.为表SELL建立一个名为PK的主索引,索引表达式为:部门号+年度+月份。

2.将DataTest、MODEL、TABC和PASS四个自由表添加到当前打开的数据库中。

3.在当前数据库中创建表TEST,包括部门号、年份和销售额合计3个字段,其中:

部门号 C(2) 年份 C(4) 销售额 N(8,2)

4.使用报表向导建立一个简单报表,要求选择表SELL中的所有字段(其他不做要求),报表文件名为TWO。 【操作步骤】

(1)打开\数据库,选中表SELL,在表设计器中的索引页,输入索引名为PK,索引表达式为:部门号+年度+月份,索引类型为主索引。 (2)在数据库设计器中按题目要求单击右键添加表。

(3)在数据库中新建一个表TEST,按题目要求输入字段。

(4)通过报表向导新建一个报表,在报表的\字段选取\对话框中将\表中的全部字段添加到\选定字段\列表框中;其他各项均取默认值,直接单击\下一步\或\完成\按钮。最后将报表以\为文件名进行保存。

在考生文件夹下,完成如下简单应用: 1.打开\数据库,根据表DEPT和表SELL,使用查询设计器设计一个名为THREE的查询,按年度、分部门(按年度和部门分组)统计月平均销售(通过销售额计算)、月平均工资(通过工资额计算)和月平均利润(通过\月平均销售-月平均工资\计算)。查询结果按部门号和年度升序排列,并将查询结果输出到表TABB中。表TABB的字段名依次为:部门号、部门名、年度、月平均销售、月平均工资、月平均利润。设计完成后,运行该查询。 2.打开名为\的表单。该表单完成如下功能:

每当用户输入用户名和口令并按\确认\按钮后,利用表PASS中的记录检查其输入是否正确,若正确,就显示\欢迎使用本系统!\字样,并关闭表单;若不正确,则显示\用户名或口令不对,请重输入!\字样;如果3次输入不正确,就显示\用户名或口令不对,登录失败!\字样,并关闭表单。 (1)修改口令输入文本框,使输入的口令显示为\。

(2)修改\确认\按钮的Click事件中的程序。请将第3、4和12行语句修改正确。修改时不能增加或删除行,只能在错误行上进行修改。 (1)【操作步骤】

步骤1:打开\数据库,使用查询设计器建立查询。

步骤2:将\和\表添加到查询设计器中。

步骤3:在查询设计器下方的\字段\选项卡中选中并添加字段\部门号\、\部门名\和\年度\,在\函数和表达式\的\表达式\中输入\销售额) AS 月平均销售\、 \工资额) AS 月平均工资\和\销售额-Sell.工资额) AS 月平均利润\并添加这些表达式。

步骤4:在\排序依据\选项卡中选择\部门号\和\年度\字段升序排列,在\分组依据\选项卡中选择\部门号\和\年度\字段分组。

步骤5:单击菜单栏上的\查询\→\查询去向\命令,在弹出的\查询去向\对话框中选择表,并在表名处输入表名TABB。

步骤6:单击工具栏上的保存按钮,输入查询文件名THREE.qpr,保存查询后运行该查询。 (2)【操作步骤】

步骤1:打开表单,修改其PasswordChar属性赋值为\,使用户在输入口令时显示\。

步骤2:修改该表单\确认\按钮的Click事件中的程序如下。

第3行处的错误修改为:Key2 = ALLTRIM(ThisForm.text2.value)。 第4行处的错误修改为:LOCATE ALL

FOR USER = Key1

第12行处的错误修改为:THISFORM.RELEASE

建立一个文件名和表单名均为myform的表单文件,向表单中添加以下控件: (1)表格控件grid1,并将其RecordSourseType属性手工设置为\别名\。

(2)文本框控件Text1。

(3)命令按钮控件Command1,名称为\确定\。

程序运行时,在文本框中输入部门名,然后单击\确定\命令按钮,计算该部门各年度的销售额(合计)和利润(合计)(利润为\销售额-工资额\,按年度升序将结果(含年度、销售额和利润3个字段)保存在以部门名命名的表文件中,同时在Grid1控件中显示计算的结果。

要求:程序完成后必须运行,并分别计算\笔记本产品部\和\计算机产品部\按年度统计的销售额和利润情况。 【操作步骤】

步骤1:通过\新建\对话框新建一个表单,文件名为myform。

步骤2:按题目的要求为表单添加一个表格控件、一个文本框控件和一个命令按钮控件,并修改控件的相关属性值如下。

步骤3:在\确定\按钮的Click事件代码中输入下列代码。

******\确定\按钮的Click事件代码******

x=allt(ThisForm.Text1.Value) myform.Grid1.RecordSource=; \年度, Sell.销售额; FROM sell,dept ;

WHERE Sell.部门号 = Dept.部门号;

ORDER BY Sell.年度; INTO TABLE &x\ThisForm.refresh

*************************

步骤4:保存后,按题目要求输入相应各部门名运行此表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下完成下列操作(在\成绩管理\数据库中完成):

1.为\学生\表的\学号\字段建立升序主索引,索引名为学号。

2.为\学生\表的\性别\字段定义有效性规则,规则表达式为性别$\男女\出错提示信息是:\性别必须是男或女\。 3.在\学生\表的\性别\和\年龄\字段之间插入一个名为\出生日期\的字段,数据类型为\日期型\修改表结构)。

4.用SQL的UPDATE命令将学生\王三风\的出生日期修改为1983年5月1日,并将该语句粘贴在SQL.TXT文件中(第一行、只占一行)。 【操作步骤】

(1)在命令窗口中依次执行下列命令。 OPEN DATABASE 成绩管理 USE 学生

MODIFY STRUCTURE

单击\索引\选项卡,在索引名下输入\学号\,在类型中选择\主索引\,在表达式中输入\学号\。最后单击\确定\命令按钮,保存所做的修改。

(2)按第1题打开表设计器的方法再次打开学生表设计器,然后单击\性别\字段,在字段有效性组框中的规则文本框中输入:性别﹩\男女\,信息文本框中输入:\性别必须是男或女\。单击\确定\按钮并保存所做的修改。 (3)打开学生表设计器,然后单击\年龄\字段,单击\插入\命令按钮,光标定位到新字段上,输入字段名:出生日期,类型改为:日期型,单击\确定\按钮并保存所做的修改。

(4)在命令窗口中输入命令: UPDATE 学生 SET 出生日期={^1983/05/01} WHERE 姓名=′王三风′,回车执行,然后将此命令复制到新建的文本文件中,输入文件名SQL.TXT。

1.用SQL语句查询至少有3门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入results表中,然后将该SQL语句粘贴在SQL.TXT文件的第二行(只占一行)。

2.modi.prg程序的功能是:先为\学生\表增加一个名为\平均成绩\的字段,数据类型为N(6,2);然后根据\选课\表统计每个学生的平均成绩,并写入新添加的字段。

该程序有3处错误,请一一改正,使程序能正确运行(在指定处修改,不能增

加或删除程序行)。 (1)【操作步骤】

步骤1:在命令窗口输入如下命令并执行。 SELE 姓名 FROM 学生 WHERE 学号 IN;

(SELE 学号 FROM 选课 WHERE 成绩>=70;

GROUP BY 学号;

HAVING COUNT(*)>=3); ORDER BY 1; INTO DBF RESULTS

步骤2:选中并复制命令窗口中的命令语句,打开考生文件夹下的SQL.TXT文件,将光标定位在文件中的第2行,将复制的语句粘贴进去。注意:需删除每一行语句后面的分号,并在原分号的位置空一英文状态下的空格。 (2)【操作步骤】

第一处错误:MODIFY TABLE 学生 ADD 平均成绩 N(6,2)

改为:ALTER TABLE 学生 ADD 平均成绩 N(6,2)

第二处错误:DO WHILE EOF() 改为: DO WHILE NOT EOF()

第三处错误:REPLACE 平均成绩 = cj[1]

改为:REPLACE 平均成绩 WITH cj[1] 在考生文件夹下,完成如下综合应用: (1)根据\成绩管理\数据库中的\学生\、\课程\和\选课\个表建立一个名为view_grade的视图,视图中包含学号、姓名、课程名称和成绩4个字段,并要求先按学号升序排序,在学号相同的情况下再按课程名称降序排序。 (2)建立一个表单grade_list(控件名为form1,文件名为grade_list),在表单中添加一个表格(名称为grdView_grade)控件,该表格控件的数据源是前面建立的视图view_grade(直接使用拖拽的方法);然后在表格控件下面添加一个命令按钮(名称为Command1),该命令按钮的标题为\退出\,要求单击按钮时关闭表单。

注意:完成表单设计后要运行表单的所有功能。

(1)【操作步骤】

通过常用工具栏中的\打开\命令打开考生文件夹下的数据库\成绩管理\。 单击常用工具栏\新建\按钮,文件类型选择\视图\,打开视图设计器,将学生、选课和课程表依次添加到视图设计器中,按照系统默认的联系建立3个表之间的联系,然后完成如下操作。 ① 字段选项卡:双击字段学生.学号,学生.姓名,课程.课程名称和选课.成绩,它们添加到\选定字段\中。 ② 排序依据选项卡:双击字段学生.学号,选中升序;双击课程.课程名称,选中降序。

③ 保存视图名称为view grade并运行该视图。

(2)【操作步骤】

步骤1:单击常用工具栏中的\新建\按钮,文件类型选择\表单\,打开表单设计器。

步骤2:在表单设计器中单击右键,选择快捷菜单中的\数据环境\命令。将视图view grade添加到数据环境中。 步骤3:从表单数据环境中拖动视图view grade到表单中,在表单中自动生成表格对象。

步骤4:在表单上创建命令按钮Command1,设置其Caption属性为退出.在其Click事件中写入如下命令代码。

ThisForm.Release 步骤5:保存表单,文件名为grade list并运行表单的所有功能。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下打开customer数据库,并将自由表customer和order添加到数据库中。

2.为order表的\订单日期\字段定义默认值为系统的当前日期。

3.为customer表建立主索引,索引名和索引表达式均为\客户编号\。 4.为order表建立普通索引,索引名和索引表达式均为\客户编号\,然后通过\客户编号\字段建立表customer和表order之间的永久联系。 【操作步骤】

(1)通过常用工具栏中的\打开\按钮打开考生文件夹下的\数据库,在数据库设计器的空白处单击鼠标右键,选择\添加表\命令,将考生文件夹下的自由表\和

\添加到数据库中。

空白处,编写表单的load事件代码\\。

计算1次),将统计结果保存在新表(2)在数据库设计器中右键单击的\表,选择\修改\命令,在打开的表设计器中选中\订单日期\字段,在\字段有效性\框的\默认值\文本框中输入\。

(3)在数据库设计器中右键单击其中的\表,选择\修改\命令,在打开的表设计器的字段选项卡中为其\客户编号\字段设置升序排序,单击\确定\按钮并保存对表的修改。 (4)同上,为表\添加普通索引,然后在数据库设计器中从主索引拖拽到普通索引建立两表间的联系。

在考生文件夹下完成如下简单应用: 1.请按要求修改modi1程序文件中的错误并使之能够正确运行(具体修改要求在程序文件中)。注意:不可以增加或删除程序行。

2.在考生文件夹下有表customer(客户)和order(订单),用SQL SELECT语句查询所有客户的订单信息,要求在结果中包括公司名称、订单编号、金额和送货方式4个字段的信息,并先按公司名称升序排列,公司名称相同的再按订单编号升序排列,查询结果存放在results表中,并要求将完整的SQL SELECT语句保存在SQL.PRG文件中。

(1)【操作步骤】

打开modi1.prg,修改其中的错误如下。

① 删除\此处空行)\,然后填写%use customer\。

② 把 \改为\。 (2)【操作步骤】

新建一个程序sql.prg,写入如下SQL语句。

****\中的命令语句****** SELECT Customer.公司名称, Order.订单编号, Order.金额, Order.送货方式;

FROM customer,order;

WHERE Customer.客户编号 = Order.客户编号; ORDER BY Customer.公司名称, Order.订单编号;

INTO TABLE results

************************* 保存并运行程序。

建立满足如下要求的应用并运行,所有控件的属性必须在表单设计器的属性窗口中设置。

(1)建立一个文件名和表单名均为myform的表单文件,其中包含两个表格控件,第一个表格控件名称是grd1,用于显示表customer中的记录,第二个表格控件名称是grd2,用于显示与表customer中当前记录对应的order表中的记录 。要求两个表格尺寸相同、左右布局、顶边对齐。 (2)建立一个菜单mymenu,该菜单只有一个\退出\菜单项,该菜单项对应于一个过程,其中含有两条语句,第一条语句是关闭表单myform,第二条语句是将菜单恢复为默认的系统菜单。 (3)在表单myform的Load事件中执行生成的菜单程序mymenu.mpr。

注意:程序完成后要运行所有功能。 【操作步骤】

步骤1:通过\新建\对话框新建一个表单,然后设置表单的Name属性为\。

步骤2:右键表单空白处,选择\数据环境\命令,将考生文件夹下的\和\两个表依次添加到表单的数据环境中。

步骤3:为表单添加两个表格控件,分别修改它们的Name属性为grd1和grd2,RecordSource属性为\和\。

步骤4:适当调整每个表格的宽度和位置。按住SHIFT键的同时选中两个表格,在\布局\工具栏中分别单击\相同大小\和\顶边对齐\命令按钮。

步骤5:以\为文件对表单进行保存,并运行保存后的表单。

步骤6:通过\新建\对话框新建一个菜单,输入菜单名称为\退出\,选择结果为\过程\,然后单击后面的\创建\按钮,在其中编写如下的命令语句。 MYFORM.RELEASE

SET SYSMENU TO DEFAULT

步骤7:保存菜单名称为\,选择\菜单\菜单下的\生成\命令,生成可执行菜单文件,关闭菜单设计器。

步骤8:回到表单设计器中,双击表单

mymenu.mpr\。

步骤9:运行表单,依次单击customer表对应表格中的所有记录,查看运行情况,最后单击\退出\菜单命令。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下有表单文件myform.scx,其中包含\请输入(s)\标签、Text1文本框,以及\确定\命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:

1.将表单的名称修改为myform,标题修改为\表单操作\。

2.按标签、文本框和命令按钮的先后顺序设置表单内3个控件的Tab键次序。

3.为表单新建一个名为mymethod的方法,方法代码为:wait \文本框的值是\+this.text1.value window 4.将\请输入(s)\标签中的字母s设置成\访问键\方法是在该字符前插入\<\;设置\确定\按钮的Click事件代码,其功能是调用表单的mymethod方法。

【操作步骤】

(1)打开考生文件夹下的\表单,修改其Name属性为\,Caption属性为\表单操作\。

(2)在表单设计器中,依次设置标签、文本框和命令按钮3个控件的TabIndex属性值为1、2和3.。

(3)选择\表单\菜单中的\新建方法程序\命令项,在\新建方法程序\对话框的\名称\框中输入\,单击\添加\命令按钮,再单击\确定\命令按钮。在表单的属性窗口的最下端双击新建的\方法,在其中输入\\文本框的值是\+this.text1.value.window\。

(4)选中标签控件,修改其Caption属性为\请输入(\\

在考生文件夹下存在order、orderitem和goods三个表。其中,order表包含订单的基本信息,orderitem表包含订单的详细信息,goods表包含图书商品的相关信息。 1.利用查询设计器创建查询,从order、orderitem和goods三个表中查询所有订单的信息,查询结果依次包含订单号、客户名、签订日期、商品名、单价、数量和金额7项内容,其中\金额\等于\单价*数量\。各记录按订单号降序排列,若订单号相同按商品名降序排列。查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。

2.首先创建一个名为order_m的数据库,并向其中添加order、orderitem和goods表。然后在数据库中创建视图viewone:利用该视图只能查询客户名为lilan的所有订单的信息,查询结果依次包含订单号、签订日期、商品名、单价和数量5项内容。各记录按订单号升序排列,若订单号相同再按商品名升序排列。最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 (1)【操作步骤】

步骤1:通过\新建\对话框新建查询,并依次把order、orderitem和goods3个表添加到查询设计器中。 步骤2:在字段选项卡中选择:订单号、客户号、签订日期、商品名、单价和数量添加到选定字段中。

步骤3:在字段选项卡的\函数和表达式\文本框中输入\单价*数量\,单击\添加\按钮将该表达式添加到\选定字段\列表框中。

步骤4:在排序依据选项卡中,设置按订单号降序排序,商品号降序排序。 步骤5:在\查询去向\对话框中设计查询去向为表\。

步骤6:保存查询文件名为\,并运行查询。 (2)【操作步骤】

步骤1:创建一个数据库order m ,然后在数据库空白处单击右键,建立本地视图,依次把\、\、\添加到视图设计器中。 步骤2:在字段选项卡中,将\订单号\、\签订日期\、\商品名\、\单价\和\数量\字段添加到\选定字段\列表框中。 步骤3:在筛选条件选项卡,设置字段名为\客户名\,条件为\=\,实例为

步骤4:在排序依据选项卡中,设置按订单号升序排序,商品号升序排序。 步骤5:保存视图文件名为\。 步骤6:新建一个查询,将新建的视图文件\添加到查询设计中,并将视图的全部字段添加到\选定字段\中。

步骤7:在\查询去向\对话框中设计查询去向为表\。

步骤8:保存并运行查询,查询文件名默认。 在考生文件夹下建立一个名为formone.scx的表单文件,要求其中包含一个标签、一个文本框和一个命令按钮(名称依次为Label1、Text1和Command1),表单的标题为\综合应用\。

编写\确定\按钮的Click事件代码,当表单运行时,单击命令按钮可以查询指定商品的订购信息,该商品由用户在文本框给定的商品号指定,查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量6项内容。各记录按订单号升序排列。查询结果存放在表tablethree中。

最后运行表单,然后在文本框中输入商品号a00002,单击\确定\按钮完成查询。

【操作步骤】 步骤1:新建一个表单,保存文件名为:formone ,在属性框中修改其Caption属性为\综合应用\。

步骤2:依次向表单添加一个标签,修改标签的Caption值为\商品号\一个文本框,一个命令按钮,把命令按钮的Caption属性修改为\确定\。

步骤3:双击确定按钮为在单击事件写入如下代码。

*****\确定\按钮的Click事件代码*****

x=allt(ThisForm.Text1.Value) SELECT Orderitem.订单号, Order.客户名,Order.签订日期, Goods.商品名, Goods.单价,; Orderitem.数量;

FROM goods,orderitem,order ; WHERE Orderitem.订单号 = Order.订单号 ;

AND Goods.商品号 = Orderitem.商品号;

AND Goods.商品号=x ; ORDER BY Orderitem.订单号 into dbf tablethree

*************************

步骤4:保存并运行表单,根据题目要求在文本框里输入\,单击确定。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立一个名为QUERY_MENU的菜单。该菜单只有\查询\和\退出\两个主菜单项(条形菜单),其中,单击\退出\菜单项时,返回到Visual FoxPro系统菜单(相应命令写在命令框中,不要写在过程中)。 2.将COURSE表中的\开课系部\字段名改为\开课单位\。

3.从数据库SCORE_MANAGER中移去表TEMP2.DBF(不是删除)。

4.将SCORE1表中的记录按学号从低到高的顺序进行排序,在学号相同的情况下再按成绩从高到低的顺序进行排序,排序结果存入表NEW_ORDER中。 【操作步骤】

(1)通过\新建\对话框新建一个菜单,在菜单设计器对话框中依次输入\查询\和\退出\作为菜单名称,其中\查询\的结果中选择\子菜单\,\退出\的结果中选择\命令\,单击\退出\菜单项后面的文本框中输入\TO DEFAULT\。

(2)在命令窗口中输入\,并按回车,然后再输入\,并按回车,在打开的表设计器中选择\开课系部\字段,将其改为\开课单位\。

(3)打开考生文件夹下的\manager\数据库,在数据库设计器中右键单击\表,选择\删除\命令,在弹出的对话框中选择\移去\按钮,继续单击对话框中的\是\。

(4)在命令窗口输入命令\FROM SCORE1 ORDER BY 学号,成绩 DESC INTO TABLE NEW ORDER\,并按回车以执行。

在考生文件夹下完成如下简单应用: 1.在SCORE_MANAGER数据库中统计选修了课程的学生人数(选修多门时,只

NEW_TABLE中,表中只有一个字段,字段名为\学生人数\。

2.使用一对多报表向导建立报表。要求:父表为\学生\,子表为\课程\,从父表中选择\姓名\字段,从子表中选择全部字段,通过\学号\为两个表建立联系;按\学号\降序排序;生成的报表名为student_report。 (1)【操作步骤】

在命令窗口输入命令\count(dist 学号) as 学生人数 from score1 into table new table\,然后按回车键,执行命令窗口中的命令。 (2)【操作步骤】

步骤1:通过\新建\对话框新建一个报表,选择\向导\→\一对多报表向导\。 步骤2:在父表中选择\学生\表,并将其中的\姓名\字段添加到\选定字段\列表框中。

步骤3:在子表中选择\课程\表,并将全部字段添加到\选定字段\列表框中。并通过\学号\建立两个表之间的联系。

步骤4:在\排序记录\对话框中,选择按\学号\降序排序。其他步骤按默认值进行设置。

步骤5:最后将报表保存为\report\并预览。

SCORE_MANAGER数据库中有3个数据库表,它们分别是STUDENT、SCORE1和COURSE。

为了对SCORE_MANAGER数据库中的数据进行查询,设计一个表单Myform3(表单文件名为Myform3,控件名为form1)。表单标题为\成绩查询\;表单中有\查询\和\退出\名称为Command1和Command2)两个命令按钮。表单运行时,单击\查询\按钮,查询每门课程的最高分,查询结果中含\课程名\和\最高分\字段,结果按课程名升序保存在表NEW_TABLE3中。 单击\退出\按钮,关闭表单。

注意:完成表单设计后要运行表单的所有功能。 【操作步骤】

步骤1:打开考生文件夹下的\manage\数据库。

步骤2:在命令窗口输入命令\FORM Myform3\,新建一个名为\的表单文件。

步骤3:为表单添加两个命令按钮控件,按照题目的要求设置各控件的相关属性如下。

步骤4:双击\查询\命令按钮,编写其Click事件代码如下。

******\查询\按钮的Click事件代码****** SELECT Course.课程名, MAX(score1.成绩) AS 最高分;

FROM course,score1,student ; WHERE Student.学号 = Score1.学号 ;

AND Course.课程号 = Score1.课程号;

GROUP BY Course.课程名; INTO TABLE NEW TABLE3 *************************

步骤5:双击\退出\命令按钮,编写其Click事件代码\。 步骤6:保存并运行表单,查看表单的运行结果。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下有一个名为myform.scx的表单文件,其中包含Text1和Text2两个文本框,以及Ok和Cancel两个命令按钮。打开该表单,然后通过属性窗口设置表单的相关属性完成如下操作:

1.将文本框Text1的宽度设置为50。 2.将文本框Text2的宽度设置为默认值。

3.将Ok按钮设置为默认按钮,即当按一下Enter键则选择该按钮。

4.将Cancel按钮的第1个字母C设置成\访问键\,即通过按Alt+C组合键就可以选择该按钮(在相应字母前插入一个反斜线和小于号)。 【操作步骤】

(1)打开表单,将文本框Text1的Width属性修改为50。

(2)选中文本框Text2Y,在属性框中找到宽度属性(Width),单右键选\重置为默认值\。

(3)将Ok按钮的Default属性值设为.T.。

(4)将Cancel按钮的Caption属性设置为:\\

考生文件夹下有xuesheng和chengji两个表,请在考生文件夹下完成以下简单应用:

1.利用查询设计器创建查询,查询的功能是:根据xuesheng表和chengji表统计出男、女生在英语课程上各自的最高分、最低分和平均分。查询结果包含性别、最高分、最低分和平均分4个字段,并将查询结果按性别升序排列,查询去向为表table1。最后将查询保存为query1.qpr,并运行该查询。 2.利用报表向导创建一个名为report1简单报表。要求选择xuesheng表中的所有字段,记录不分组,报表样式为帐务式,列数为2,字段布局为行,方向为纵向,按学号升序排序,报表标题为\。 (1)【操作步骤】

步骤1:通过\新建\对话框新建一个查询,将xuesheng和chengji表添加到查询中。

步骤2:在\字段\选项卡中添加字段\性别\并利用\函数和表达式\创建\英语) AS 最高分\、\英语) AS 最低分\、\英语) AS 平均分\字段并添加到选定字段中。

步骤3:切换到\排序依据\中选择\性别\字段,在\排序选项\处选择\升序\;在\分组依据\中选择字段\性别\。

步骤4:单击查询菜单下的查询去向,选择表,输入表名table1,最后将查询保存在query1.qpr文件中,并运行该查询。

(2)【操作步骤】

步骤1:通过报表向导新建一个报表,在\字段选取\对话框中将\表中的全部字段添加到\选定字段\列表框中。分组依据选择默认。

步骤2:在\选择报表样式\对话框中选择\账务式\。

步骤3:在\定义报表布局\对话框中选择\列数\为2,\字段布局\为行,\方向\为纵向。

步骤4:在\排序记录\对话框中,将\学号\字段添加到\选定字段\对话框中,并选择\升序\单选按钮。

步骤5:在\完成\对话框中设置报表标题为\默认即可),最后保存报表为\。

在考生文件夹下新建一个名为mymenu.mnx的下拉式菜单,并生成菜单程序mymenu.mpr。运行该菜单程序则在当前Visual FoxPro系统菜单的末尾追加一个\考试\子菜单,如下图所示。

考试菜单下的\计算\和\返回\菜单命令的功能都是通过执行\过程\完成的。

\计算\菜单命令的功能是从xuesheng表和chengji表中找出所有满足以下条件的学生:每门课程的成绩都大于等于所有同学在该门课程上的平均分。并把这些学生的学号和姓名保存在表table2中(表中只包含学号和姓名两个字段)。表table2中各记录应该按学号降序排列。

提示:各门课程的平均分可用下面SQL语句得到。 select avg(数学),avg(英语),avg(信息技术)from chengji into array tmp \返回\菜单命令的功能是恢复到Visual FoxPro的系统菜单。

菜单程序生成后,运行菜单程序并依次执行\计算\和\返回\菜单命令。 【操作步骤】

步骤1:通过\新建\对话框新建一个菜单文件,并打开菜单设计器。打开\显示\菜单下的\常规选项\对话框,在\位置\处选择追加,则新建立的子菜单会在当前vfp系统菜单后显示。

步骤2:在菜单名称中填入\考试\,结果为子菜单,单击创建按钮,在子菜单的菜单名称中输入\计算\,结果为过程,在过程中输入下列代码。 ******\计算\菜单项的过程代码******

select xuesheng.学号,xuesheng.姓名 from xuesheng;

inner join chengji on xuesheng.学号=chengji.学号;

where 数学>(select avg(数学) from chengji);

and 英语>(select avg(英语) from chengji);

and 信息技术>(select avg(信息技术) from chengji);

order by xuesheng.学号 desc; into table table2.dbf *************************

步骤3:在菜单名称中填入\返回\,结果为过程,在过程中输入命令\SYSMENU TO DEFAULT\。

步骤4:最后保存菜单mymenu.mnx,并生成可执行菜单程序mymenu.mpr,运行菜单程序并依次执行\计算\和\返回\菜单命令。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 基本操作题为4道SQL题,请将每道题的SQL命令粘贴到sql.txt文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做相应行为空。注意:必须使用SQL语句操作且SQL语句必须按次序保存sql.txt文件中,其他方法不得分。

在考生文件夹下完成下列操作: 1.利用SQL SELECT语句将表stock_sl.dbf复制到表stock_bk.dbf中;

2.利用SQL INSERT语句插入记录(\,4.36,4.60,5500)到stock_bk表中。

3.利用SQL UPDATE语句将stock_bk.dbf表中\股票代码\为\的股票\现价\改为8.88。 4.利用SQL DELETE语句删除stock_bk.dbf表中\股票代码\为\的股票。 【操作步骤】

本题应分为两个步骤完成:

(1)在命令窗口中分别输入相应命令,并按回车以执行。

① SELECT * FROM stock sl INTO DBF stock bk

或 SELECT * FROM stock sl INTO TABLE stock bk

② INSERT INTO stock bk VALUES(\,4.36,4.60,5500) ③ UPDATE stock bk SET 现价=8.88 WHERE 股票代码=\

④ DELETE FROM stock bk WHERE 股票代码=\

(2)将命令按题目要求复制到sql.txt文件中。

在考生文件夹下完成如下简单应用: 1.根据表stock_name和stock_sl建立一个查询,该查询包含字段:股票代码、股票简称、买入价、现价和持有数量,要求按股票代码升序排序,并将查询保存为query_stock.qpr。注:股票代码来源于表stock_name中的股票代码。 2.modi.prg中的SQL语句用于计算\银行\的股票(股票简称中有\银行\两字)的总盈余,现在该语句中的3处错误分别出现在第1行、第4行和第6行,请改正。

(注意:不要改变语句的结构、分行,直接在相应处修改。) (1)【操作步骤】

步骤1:通过\新建\对话框新建一个查询,打开查询设计器。

步骤2:在\添加表或视图\对话框中选择stock Name和stock sl表,这样两个表就被添加到查询设计器中,同时为它们设定联接条件为:stock Name.股票代码=stock sl.股票代码。 步骤3:在\字段\选项卡中,将字段stock Name.股票代码、stock Name.股票简称、stock sl.买入价、stock sl.现价和stock sl.持有数量添加到选定字段中。

步骤4:在\排序依据\选项卡中,选择stock Name.股票代码字段,单击\升序\单选按钮。

步骤5:保存并运行查询,查询文件名为query stock。 (2)【操作步骤】

步骤1:通过常用工具栏中的\打开\对话框打开考生文件夹下的\文件。

步骤2:修改程序中的错误如下。 错误1:SELECT COUNT((现价-买入价)*持有数量) ; 修改为:SELECT SUM((现价-买入价)*持有数量) ; 错误2:= ; 修改为:IN ; 错误3:WHERE \银行\LIKE 股票简称) 修改为:WHERE股票简称LIKE \银行%\

步骤3:保存并运行修改后的程序文件,查看程序运行结果。

(1)在考生文件夹下建立一个名为

stock_form的表单,其中包含两个表格控件,第一个表格控件名称是grdStock_name,用于显示表stock_name中的记录;第二个表格控件名称是grdStock_sl,用于显示与表stock_name中当前记录对应的stock_sl表中的记录。

(2)在表单中添加一个\关闭\命令按钮(名称为Command1),要求单击按钮时关闭表单。

注意:完成表单设计后要运行表单的所有功能。 【操作步骤】

步骤1:通过\新建\对话框新建一个表单,文件名为\,打开表单设计器。

步骤2:为表单添加两个表格控件和一个命令按钮控件,并按题目要求设置各控件的属性如下。

步骤3:在表单的Init事件中输入以下代码。 ************************* SET SAFETY OFF CLOSE DATABASE ALL SELECT 1

USE stock Name

INDEX ON 股票代码 TAG dm SELECT 2 USE stock sl

INDEX ON 股票代码 TAG dm SELECT 1

SET RELATION TO 股票代码 INTO stock sl

ThisForm.grdStock

Name.RECORDSOURCE=\ThisForm.grdStock Name.REFRESH ThisForm.grdStock sl.RECORDSOURCE=\

ThisForm.grdStock sl.REFRESH SET SAFETY ON

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下,完成如下操作: 1.打开考生文件夹下的表单one,在\打开\命令按钮的Click事件中增加一条语句,使表单运行时单击该命令按钮,则\关闭\按钮变为可用。

2.打开考生文件夹下的表单two,在选项组中增加一个单选钮。注意:不能改变原先的名称、位置及属性值。 3.使用SQL语句为考生文件夹下的\学院表\增加一个\教师人数\整数型)字段,并为该字段设置有效性规则:教师人数>=0。将该SQL语句存储在three.prg文件中。

4.使用SQL语句将考生文件夹下的自由表teacher中教师姓名为Jack的工资调整为8000元。将该SQL语句存储在four.prg文件中。 【操作步骤】

(1)打开表单\,在\打开\命令按钮的Click事件中增加如下语句。 ThisForm.Command2.Enabled=.T. (2)打开表单\,设置表单及相关各控件的属性值如下。

(3)在命令窗口输入语句\学院表 ADD 教师人数 INT CHECK 教师人数>=0\,然后通过\新建\对话框新建一个名为\的程序文件,将上述语句复制并粘贴到新建的程序文件中。

(4)在命令窗口输入语句\teacher.dbf SET 工资=8000 WHERE 姓名=\,然后通过\新建\对话框新建一个名为\的程序文件,将上述语句复制并粘贴到新建的程序文件中。

在考生文件夹下完成如下简单应用: 1.考生文件夹下程序文件five.prg的功能是:根据\教师表\计算各系的教师人数,并将结果填入表\学院表\中,程序中有3处错误,请修改并运行程序。只能修改标有错误的语句行,不能修改其他语句。

2.在数据库\课程管理\中通过视图设计器建立视图teacher_view,该视图根据\教师表\和\课程表\建立,视图包括姓名、工资、课程名和学时4个字段,视图中的记录按\工资\升序排列。 (1)【操作步骤】

步骤1:打开考生文件夹下的five.prg文件。 步骤2:修改其中的命令语句如下。 错误1:DO .NOT. EOF() 修改为:DO WHILE .NOT. EOF() 错误2:SELECT COUNT(*) FROM 教师表 WHERE 教师表.系号=xihao INTO A

修改为:SELECT COUNT(*) FROM 教师

表 WHERE 教师表.系号=xihao INTO ARRAY A 错误3:NEXT 修改为:SKIP

步骤3:保存修改后的程序并运行。 (2)【操作步骤】

步骤1:打开考生文件夹下的\课程管理\数据库,在数据库设计器中右键单击数据库空白处,选择\新建本地视图\命令,打开视图设计器。

步骤2:新建一个视图文件,将\教师表\和\课程表\添加到视图设计器中;在视图设计器的字段选项卡中,将字段\姓名\、\工资\、\课程名\和\学时\个字段添加到\选定字段\列表框中;在排序依据选项卡中,选择按\工资\升序排序记录。

步骤3:将视图保存为\并运行。 (1)在考生文件夹下新建一个名为myform的表单文件,表单中包括一个列表框(List1)和两个标题分别为\生成表\和\退出\名称为Command1和Command2)的命令按钮。

(2)设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性,使用SQL语句根据\学院表\的\系名\字段的内容在列表框中显示\系名\注意不要使用命令指定这两个属性)。

(3)为\生成表\命令按钮的单击事件编写程序。程序的功能是根据表单运行时列表框中选定的\系名\,将\教师表\表中相应系的所有记录存入以该系名命名的自由表中,自由表中包含\职工号\,\姓名\和\工资\个字段,结果按\职工号\升序排列。

(4)运行表单,单击\生成表\命令按钮分别生成存有\计算机\、\通信\和\信息管理\系信息的3个表。 【操作步骤】

步骤1:建立一个名为myform的表单,按题目要求添加一个列表框和两个命令按钮。

步骤2:设置表单中各控件的相关属性如下。 步骤3:为\生成表\命令按钮的Click事件编写如下程序代码。 ************************* SELECT 职工号,姓名,工资; FROM 教师表,学院表;

WHERE 学院表.系号=教师表.系号;AND 系名=ThisForm.List1.list(ThisForm.List1.listindex) ; ORDER BY 职工号 INTO TABLE ThisForm.List1.list(ThisForm.List1.listindex

*************************

步骤4:保存并运行表单,在运行的表单中,先选中列表框中的\计算机\项并单击\生成表\命令,然后选中列表框中的\通信\项并单击\生成表\命令,接下来选中列表框中的\信息管理\项并单击\生成表\命令,最后单击\退出\按钮退出表单的运行。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 打开考生文件夹下的SELLDB数据库,完成如下基本操作:

1.创建一个名为\客户表\的表,表结构如下:

客户号 C(4)

客户名 C(20) 销售金额 N(9,2)

2.为第1小题创建的\客户表\建立一个主索引,索引名和索引表达式均为\客户号\。

3.为\部门成本表\增加一个字段,字段名为\备注\,数据类型为字符型,宽度为20。

4.先选择\客户表\为当前表,然后使用设计器中的快速报表功能为\客户表\创建一个文件名为P_S的报表。快速报表建立操作过程均为默认。最后,给快速报表增加一个标题,标题为\客户表一览表\。 【操作步骤】

(1)打开SELLDB数据库,右键单击数据库设计器空白处并选择\新建表\命令,在弹出的\创建\对话框中,选定考生文件夹,在\输入表名\中填入\客户表\,再单击保存,在弹出的\表设计器\中,按题目要求建立表结构。 (2)打开\客户表\的表设计器选择\索引\标签,在索引名列中填入\客户号\,在索引类型列中选择\主索引\,在索引表达式列中填入\客户号\,单击\


VF上机题库110(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:随州施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: