2013-3VFP题库-文字版.doc_第1页
2013-3VFP题库-文字版.doc_第2页
2013-3VFP题库-文字版.doc_第3页
2013-3VFP题库-文字版.doc_第4页
2013-3VFP题库-文字版.doc_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第01套 基本操作题在考生文件夹下完成如下操作:1、 新建一个名为“供应”的项目文件。2、 将数据库“供应零件”加入到新建的“供应”项目文件中。3、 通过“零件号”字段为“零件”表和“供应”表建立永久联系(“零件”是父表,“供应”是子表)。4、 为“供应”表的数量字段设置有效性规则:数量必须大于0并用小于9999。错误提示信息是“数量超范围”。(注意:公式必须为数量0.and.数量=3 ORDER BY 作者姓名 INTO TABLE NEW_VIEW4第02套 综合应用题在考生文件夹下完成如下综合应用(1) 首先将BOOKS.DBF中所有书名中含有“计算机”3个字的图书复制到表BOOKS_BAK中,以下操作均在BOOKS_BAK表中完成。* 在命令窗口中输入如下SQL语句 * SELECT * FROM BOOKS.DBF WHERE 书名 LIKE “%计算机%” INTO TABLE BOOKS_BAK(2) 复制后的图书价格在原价格基础上降价5%。* 在命令窗口中输入如下SQL语句 * UPDATE BOOKS_BAK SET 价格=价格*0.95(3) 从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表new_table4中(字段名为出版单位和均价)。* 在命令窗口中输入如下SQL语句 * SELECT 出版单位,AVG(价格) AS 均价 FROM BOOKS_BAK GROUP BY 出版单位 INTO TABLE TMP SELECT 出版单位,均价 FROM TMP WHERE 均价=25 INTO TABLE TMP2 SELECT 出版单位,均价 FROM TMP2 WHERE 均价=ALL(SELECT 均价 FROM TMP2) INTO TABLE new_table4第03套 基本操作题1在考生文件夹下新建一个名为库存管理的项目文件。2在新建的项目中建立一个名为使用零件情况的数据库,并将考生文件夹下的所有自由表添加到该数据库中。3修改零件信息表的结构,为其增加一个字段,字段名为规格,类型为字符型,长度为8。4打开并修改mymenu菜单文件,为菜单项查找设置快捷键CtrlT。步骤1:单击工具栏中的打开按钮,在打开对话框中双击考生文件夹下的mymenu.mnx文件。步骤2:在弹出的菜单设计器中,单击文件行中的编辑按钮,再单击查找行中的选项按钮,在弹出的提示选项对话框中的键标签处按下CTRL+T,最后单击确定按钮。步骤3:单击工具栏中的保存按钮,再单击主菜单栏中菜单下的生成命令,在生成菜单对话框中单击生成按钮。第03套 简单应用题1用SQL语句完成下列操作:查询项目的项目号、项目名和项目使用的零件号、零件名称,查询结果按项目号降序、零件号升序排序,并存放于表item_temp中,同时将使用的SQL语句存储于新建的文本文件item.txt中。*SELECT 项目信息.项目号, 项目信息.项目名, 零件信息.零件号,; 零件信息.零件名称; FROM 使用零件情况!零件信息 INNER JOIN 使用零件情况!使用零件; INNER JOIN 使用零件情况!项目信息 ; ON 使用零件.项目号 = 项目信息.项目号 ; ON 零件信息.零件号 = 使用零件.零件号; ORDER BY 项目信息.项目号 DESC, 零件信息.零件号; INTO TABLE item_temp.dbf*2根据零件信息、使用零件和项目信息3个表,利用视图设计器建立一个视图view_item,该视图的属性列由项目号、项目名、零件名称、单价和数量组成,记录按项目号升序排序,筛选条件是:项目号为s2。第03套 综合应用题设计一个表单名和文件名均为form_item的表单,其中,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为使用零件情况统计。表单中有一个组合框(Combo1)、一个文本框(Text1)和两个命令按钮统计(Command1)和退出(Command2)。运行表单时,组合框中有3个条目s1、s2和s3(只有3个,不能输入新的,RowSourceType的属性为数组,Style的属性为下拉列表框)可供选择,单击统计命令按钮后,则文本框显示出该项目所使用零件的金额合计(某种零件的金额单价*数量)。单击退出按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。*解题步骤提示*步骤2:从表单控件工具栏向表单添加一个组合框、一个文本框和两个命令按钮,设置组合框的RowSourceType属性为5-数组、Style属性为2-下拉列表框、RowSource属性为A,设置命令按钮Command1的Caption属性为统计,设置命令按钮Command2的Caption为退出。步骤3:双击表单空白处,在表单的Init事件中输入如下代码: Public a(3) A(1) = s1 A(2) = s2 A(3) = s3 步骤4:分别双击命令按钮统计和退出,为它们编写Click事件代码。其中,统计按钮的Click事件代码如下:x=allt(bo1.value)SELECT SUM(使用零件.数量*零件信息.单价) as je; FROM 使用零件情况!使用零件 INNER JOIN 使用零件情况!零件信息 ; ON 使用零件.零件号 = 零件信息.零件号; WHERE 使用零件.项目号 = x into array bthisform.text1.value=allt(str(b1) 退出按钮的Click事件代码如下:thisform.release步骤5:单击工具栏中的保存按钮,再单击运行按钮运行表单,并依次选择下拉列表框中的项运行表单的所有功能。第04套 基本操作题在考生文件夹下完成如下操作1、 打开“订单管理”数据库,然后从中删除customer表。2、 为employee表建立一个普通索引,索引名为xb,索引表达式为“性别”,升序索引。3、 为employee表建立一个普通索引,索引名为xyz,索引表达式为“str(组别,1)+职务”,升序索引。4、 为employee表建立主索引,为orders建立普通索引,索引名和索引表达式均为“职员号”。通过“职员号”在employee表和orders之间建立一个一对多的永久联系。第04套 简单应用题1、 在考生文件夹下已有表单文件formone.scx,如下图所示,其中包含两个标签、一个组合框和一个文本框。请按下面要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,而该职员所签订单的平均金额能自动显示在文本框里。(1) 将orders表和empoyee表依次添加到该表单的数据环境中(不要修改两个表对应对象的各属性值)。(2) 将组合框设置成下拉列表框,将employee表中的“姓名”字段作为下拉列表框条目的数据源(RowSourceType属性值应设置为:6-字段)。(3) 将文本框Text1设置为只读。(4) 修改组合框的InteractiveChange事件代码,使得当用户从组合框选择职员时,能够将该职员所签订单的平均金额自动显示在文本框里。* 下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在文本框内。* 修改所有* FOUND *下面的一条语句。* 不能修改其他语句。不能增加语句,也不能删除语句。dime a(1,1)a(1,1)=0m1=employee.职员号select avg(金额) from orders where 职员号=m1 into array am2=a(1,1)* FOUND *text1.value=m2 * 改为 ThisForm.text1.value=m2 *2、 利用查询设计器创建查询,从employee和orders表中查询“组别”为1的组各职员所签所有订单的信息。查询结果依次包含“订单号”、“金额”、“签订者”三项内容,其中“签订者”为签订订单的职员姓名。各记录按“金额”降序排序。查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。第04套 综合应用题在考生文件夹下完成如下操作在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymene.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的“帮助”子菜单之前插入一个“考试”子菜单,如下图所示。菜单命令“统计”和“返回”的功能都通过执行过程完成。菜单命令“统计的功能”是以组为单位求订单金额的和。统计结果包含“组别”、“负责人”和“合计”三项内容,其中“负责人”为该组组长(由employee中的“职务”一项指定)的姓名,“合计”为该组所有职员所签订单的金额总和。统计结果应按“合计”降序排序,并存放在tabletwo表中。菜单命令“返回”的功能是返回标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行“统计”和“返回”菜单命令。* 考生编写的统计过程代码 * SELECT 组别,姓名 AS 负责人,SUM(金额) AS 合计 FROM Orders , Employee WHERE Employee.职员号=Orders.职员号 GROUP BY 3 DESC INTO TABLE TableTwo GOTO 1 DO WHILE .NOT. EOF( ) SELECT 姓名 FROM Employee WHERE Employee.组别=TableTwo.组别 AND Employee.职务=”组长” INTO ARRAY A REPLACE 负责人 WITH A1 SKIP ENDDO* 考生编写的返回过程代码 * SET SYSMENU TO DEFAULT第05套 基本操作题在考生文件夹下完成如下操作1、 新建一个名为“图书管理”的项目。2、 在项目中建立一个名为“图书”的数据库。3、 将考生目录下的所有自由表添加到“图书”的数据库中。4、 在项目中建立查询book_qu,查询价格大于等于10的图书(book表)的所有信息,查询结构按价格降序排序。第05套 简单应用题在考生文件夹一完成如下简单应用。1、 用SQL语句完成下列操作:检索“田亮”所借图书的书名、作者和价格,结果按价格降序存入book_temp表中。* 在命令窗口输入如下SQL语句 * SELECT 书名,作者,价格 FROM book,borrows,loans WHERE borrows.姓名=”田亮” AND loans.借书证号=borrows.借书证号 AND book.图书登记号=loans.图书登记号 ORDER BY 价格 DESC INTO TABLE book_temp2、 在考生目录下有一个名为menu_lin的下拉式菜单,请设计顶层表单form_menu,将菜单menu_lin加入到该表单中,使得运行表单时菜单显示在本表单中,并在表单退出时释放菜单。* form1_Init * DO MENU LIN.MPR WITH THIS,myMenu* form1_Destroy * RELEASE MENU myMenu EXTENDED第05套 综合应用题设计名为form_book的表单(控件名为form1,文件名为form_book)。表单的标题设为“图书情况统计”。表单中有一个组合框(名称为Combo1)和“退出”(名称为Command2)。运行表单时,组合框中有三个条目“清华”、“北航”、“科学”(只有三个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击“统计”命令按钮,则文本框显示出“图书”表中该出版社图书的总数。单击“退出”按钮关闭表单。* form1_Init *PUBLIC Com(3)USE BOOKCom(1)=”清华”Com(2)=”北航”Com(3)=”科学”* Command1_Click *DIMENSION tmp(1)Tmp(1)=0SELECT COUNT(索书号) FROM book WHERE 出版社=ThisForm.Combo1.Value INTO ARRAY tmpThisForm.Text1.Value=tmp1* Command2_Click *CLOSE ALLThisForm.Release第06套 基本操作题在考生文件夹下完成如下操作:1、 用SQL INSERT语句插入元组(“p7”,“PN7”,1020)到“零件信息”表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。* 请考生编写程序 * Insert into 零件信息 Values(“p7” , “PN7” , 1020)2、 用SQL DELETE语句从“零件信息”表中删除单价小于600的所有记录,并将相应的SQL语句存储在文件two.prg中。* 请考生编写程序 * Delete from 零件信息 where 单价 =1第08套 简单应用题1修改并执行程序temp。该程序的功能是根据教师表和课程表计算讲授数据结构这门课程,并且工资大于等于4000的教师人数。注意,只能修改标有错误的语句行,不能修改其他语句。*程序提供的代码*&下句只有一处有错误SELECT 课程号 FROM 课程表 WHERE 课程名=数据结构 TO ARRAY a&下句有错误OPEN 教师表STORE 0 TO sum&下句两处有错误SCAN OF 课程号=a OR 工资=4000&下句有错误 sum+1ENDSCAN?sum*错误1:将 TO 改为 INTO。错误2:将 OPEN 改为 USE。错误3:将 SCAN OF 改为 SCAN FOR。错误4:将 OR 改为 AND。错误5:将 sum+1 改为 sum=sum+1。2在学校数据库中(在基本操作题中建立的),使用视图设计器建立视图teacher_v,该视图是根据教师表和学院表建立的,视图中的字段项包括姓名、工资和系名,并且视图中只包括工资大于等于4000的记录,视图中的记录先按工资降序排列,若工资相同再按系名升序排列。第08套 综合应用题(1)在考生文件夹下建立一个文件名和表单名均为oneform的表单,该表单中包括两个标签(Label1和Label2)、一个选项按钮组(OptionGroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为工资和实例,选项组中有两个选项按钮,标题分别为大于等于和小于,Command1和Command2的标题分别为生成和退出,如下图所示。(2)将组合框的RowSourceType和RowSource属性手工指定为5和a,然后在表单的Load事件代码中定义数组a并赋值,使得程序开始运行时,组合框中有可供选择的工资实例为3000、4000和5000。*表单的load事件代码*public a(3)a(1)=3000a(2)=4000a(3)=5000* (3)为生成命令按钮编写程序代码,其功能是:表单运行时,根据选项按钮组和组合框中选定的值,将教师表中满足工资条件的所有记录存入自由表salary.dbf中,表中的记录先按工资降序排列,若工资相同再按姓名升序排列。*生成按钮的Click事件代码*x=val(bo1.value)if thisform.optiongroup1.value = 1 sele * from 教师表 where 工资 = x order by 工资 desc,姓名 into table salaryelse sele * from 教师表 where 工资 0 if int(x/2)=x/2 s1=s1+1 else s2=s2+1 endif*found* if div(x,3)=0 * 修改为 if MOD(x,3)=0 * s3=s3+1 endif x=x-1enddothisform.text2.value=s1thisform.text3.value=s2thisform.text4.value=s3thisform.text5.value=s1+s2+s3第09套 综合应用题打开考生文件夹下的表单文件zonghe,并完成如下操作:1、 修改“添加”命令按钮Click事件下的语句,使得当单击该命令按钮时,将左边列表框所选项添加到右边的列表框。thisform.list2.add(thisform.list1.value) * 把add改为additem *2、 修改“=0,出错提供信息是:“成绩必须大于或等于零”。4、 将SCORE1表“成绩”字段默认值设置为空值(NULL)。第10套 简单应用题在考生文件夹下完成如下简单应用:1、 在SCORE_MANEGER数据库中查询学生的姓名和年龄(计算年龄的公式是:2003-Year(出生日期),年龄作为字段名),结果保存在一个新表NEW_TABLE中。使用报表向导建立报表NEW_REPORT1,用报表显示NEW_TABLE1的内容。报表中数据按年龄升序排列,报表标题是“姓名-年龄”,其余参数使用缺省参数。* 请考生在命令窗口输入并执行如下SQL语句 * SELECT 姓名,2003-YEAR(出生日期) AS 年龄 FROM student INTO TABLE new_table12、 在SCORE_MANAGER数据库中查询没有选修任何课程的学生信息,查询结果包括“学号”、“姓名”和“系部”字段,查询结果按学号升序保存在一个新表NEW_TABLE2中。* 请考生在命令窗口输入并执行如下SQL语句 * SELECT DISTINCT student.学号,姓名,系部 FROM student,score1 WHERE student.学号 NOT IN (SELECT DISTINCT 学号 FROM SCORE1) INTO TABLE NEW_TABLE2 ORDER BY student.学号 ASC第10套 综合应用题SCORE_MANEGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。为了对SCORE_MANEGER数据库数据进行查询,设计一个如图所示的表单myform1(控件名为form1,表单文件名myform1.scx)。表单的标题为“成绩查询”。表单左侧有文本“输入学号”(Label1的标签)“和用于输入学号的文本框(名称为Text1)以及“查询”(名称为Command1)和“退出”(名称为Command2)两个命令按钮以及时个表格控件”。表单运行时,用户首先在文本框中输入学号,然后单击“查询”按钮,如果输入学号正确,在表单右侧以表格(名称为Grid)形式显示该生所选课程名和成绩,否则显示“学号不存在,请重新输入学号”。单击“退出”按钮,关闭表单。* 请考生编写Command1的Click事件过程 *OPEN DATABASE SCORE_MANAGERThisForm.Grid1.RecordSource=”SELECT 课程名,成绩 FROM course,score1 ;WHERE 学号= “+ThisForm.Text1.Value+” and score1.课程号=course.课程号 ;INTO CURSOR mytemp”SELECT COUNT(课程名) AS 数量 FROM mytemp INTO CURSOR mytemp2IF 数量=0 DO FORM 错误.scxENDIFCLOSE DATABASE* 请考生编写Command2的Click事件过程 *第11套 基本操作题在考生文件夹下完成如下操作:1、 用SQL语句从rate_exchange.dbf表中提取外币名称、现钞买入价和卖出价三个字段的值并将结果存入rate_ex.dbf表(字段顺序为外币名称、现钞买入价、卖出价,字段类型和宽度与原表相同,记录顺序与原表相同),并将相应的SQL语句保存为文本文件one.txt。* 请考生编写程序 * Select 外币名称,现钞买入价,卖出价 from rate_exchange into table rate_ex2、 用SQL语句将rate_exchange.dbf表中外币名称为“美元”的卖出价修改为829.01,并将相应的SQL语句保存为文本文件two.txt。* 请考生编写程序 * Update rate_exchange set 卖出价=829.01 where 外币名称=”美元”3、 利用报表向导根据rate_exchange.dbf表生成一个外币汇率报表,报表按顺序包含外币名称、现钞买入价和卖出价三列数据,报表的标题为“外币汇率”(其他使用默认设置),生成的报表文件保存为rate_exchange。4、 打开生成的报表文件rate_exchange进行修改,使显示在标题区域的日期改在每页的注脚区显示。第11套 简单应用题1、 设计一个如下图所示的时钟应用程序,具体描述如下:表单名和表单文件名均为timer,表单标题为“时钟”,表单运行时自动显示系统的当时时间:(1) 显示时间的为标签控件Label1(要求在表单中居中,标签文本对齐方式为居中)。(2) 单击“暂停”命令按钮(Command1)时,时钟停止。 * ThisForm.Timer1.Interval=0 *(3) 单击“继续”命令按钮(Command2)时,时钟继续显示系统的当前时间。* ThisForm.Timer1.Interval=500 *(4) 单击“退出”命令按钮(Command3)时,关闭表单。 * ThisForm.Release *提示:使用计时器控件,将该控件的interval属性设置为500,即每500毫秒触发一次计时器控件的time事件(显示一次系统时间)。将计时器控件的interval属性设置为0将停止触发timer事件,在设计表单时将timer 控件的interval属性设置为500。* Timer1_Init * ThisForm.Label1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论