《VFP解题捷径》PPT课件.ppt

上传人:牧羊曲112 文档编号:5454307 上传时间:2023-07-08 格式:PPT 页数:31 大小:400KB
返回 下载 相关 举报
《VFP解题捷径》PPT课件.ppt_第1页
第1页 / 共31页
《VFP解题捷径》PPT课件.ppt_第2页
第2页 / 共31页
《VFP解题捷径》PPT课件.ppt_第3页
第3页 / 共31页
《VFP解题捷径》PPT课件.ppt_第4页
第4页 / 共31页
《VFP解题捷径》PPT课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《《VFP解题捷径》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VFP解题捷径》PPT课件.ppt(31页珍藏版)》请在三一办公上搜索。

1、第3套一 3.,一、基本操作题 3.用SQL命令向SCORE1表插入一条记录:学号为993503433、课程号为0001、成绩是99。,【捷径】(用“数据工作期”)打开表,点“浏览”选菜单“显示”/“追加方式”直接输入记录,SQL命令保存在哪?,第4套三、,【捷径】(1)用查询设计器select*from BOOKS into table BOOKSBAK(2)(用“数据工作期”)打开BOOKSBAK表,点“浏览”。把书名不含“计算机”的记录加删除记号。点菜单“表”/“彻底删除”(3)选菜单“表”/“替换字段”(降价5%)(3)用查询设计器得到新表newtable,直接修改,(1)首先将BOO

2、KS.DBF中所有书名中含有计算机3个字的图书复制到表BOOKSBAK中,以下操作均在BOOKSBAK表中完成;复制后的图书价格在原价格基础上降价5%;从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表newtable中(字段名为出版单位和均价)。,第8套二、1,【捷径】用嵌套,较难。直接找出s1项目所用零件号p1、p2作为条件用查询设计器做。满分 WHERE 使用零件.零件号=p1 OR 使用零件.零件号=p2“,select 项目信息.项目号,项目信息.项目名,零件信息.零件号,零件信息.零件名称;from 零件信息 inner join

3、 使用零件 inner join 项目信息;on 使用零件.项目号=项目信息.项目号;on 零件信息.零件号=使用零件.零件号;where 使用零件.零件号 in(select 零件号 from 使用零件 where 项目号=s1);into table item_temp;order by 使用零件.项目号 desc,第8套二、1表,项目信息,使用零件,零件信息,第14套,【捷径】对照score1和course中的课程号,手工删除两个表有相同课程号的记录用查询设计器:SELECT 课程名,开课单位 FROM course;ORDER BY 课程名 INTO TABLE new_table2,

4、忽略最难步骤,二、2.在SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含课程名和开课单位字段,结果按课程名升序保存在一个新表NEW_TABLE2中(注意:字段名开课单位是在基本操作中根据开课系部修改后的字段名)。,避繁就简,score1,course,第14套表,42 表文件(不运行),第42套三、设置查询命令按钮的Click的事件代码,其功能是:根据文本框Text1中的输入日期,查询各会员在指定日期后(大于等于指定日期)签订的各商品总金额,查询结果的字段包括会员号(来自Customer表)、姓名和总金额三项,其中总金额为各商品的数量(来自Orderitem表)乘以单价(来

5、自Article表)的总和;查询结果的各记录按总金额升序排序;查询结果存放到表dbfa.dbf中。将文本框的Value属性值设置为=date()。设置查询按钮的Click事件代码:SELECT Customer.会员号,姓名,sum(数量*单价)as 总金额;FROM customer,orderitem,article;WHERE Article.商品号=Orderitem.商品号 AND;Customer.会员号=Orderitem.会员号 AND;日期=ctod(thisform.Text1.Text)ORDER BY 3;GROUP BY Customer.会员号 INTO TABLE

6、 dbfa.dbf,【捷径】题目没给具体日期,不需要得到表,可以任取一个日期作为条件,用查询设计器,50二 表文件(不运行),第50套二、2单击命令按钮可以查询在文本框中输入的指定客户的所有订单的信息,查询结果依次包含订单号、签订日期、商品名、单价和数量等五项内容。各记录按订单号升序排序;订单号相同按商品名升序排序,并将查询结果存放在表tabletwo中。【用设计器后修改】SELECT Order.订单号,签订日期,商品名,单价,数量;FROM order JOIN orderitem JOIN goods;ON Orderitem.商品号=Goods.商品号;ON Order.订单号=Ord

7、eritem.订单号;WHERE 客户名=thisform.Text1.Text;ORDER BY Order.订单号,商品名;INTO TABLE tabletwo.dbf,【捷径】题目没给具体客户名,不需要得到表,可以任取一个客户名作为条件,用查询设计器,73三 表文件(不运行),第73套三、单击列表框中的数据项时,统计选修了所选课程的学生人数(从考试成绩表),并将结果存储在以课程名命名的表中,表中只有一个字段人数;【答案】列表框List1的属性设置如下:对象 属性属性值List1 ROWSOURCE 课程.课程名List1ROWSOURCETYPE6-字段设置 list1列表框的Clic

8、k事件代码:select count(dist 学号)as 人数 from 课程 join 考试成绩;on 课程.课程编号=考试成绩.课程编号 where;课程名=thisform.list1.list(thisform.list1.listindex);into tabl thisform.list1.list(thisform.list1.listindex),【捷径】题目没给具体课程名,不需要得到表,可以任取一个课程名作为条件,用查询设计器,1三 表文件(要运行),第1套三运行表单时,在文本框中输入工程号,单击“查询”命令按钮后,表格控件(名称grid1)中显示相应工程所使用的零件的零件

9、名、颜色和重量(通过设置有关“数据”属性实现),并将结果按“零件名”升序排列存储到pp.dbf文件。单击“退出”按钮关闭表单。完成表单设计后运行表单,并查询工程号为“J4”的相应信息。表格Name属性grid1,RecordSourceType属性0表。3.在Command1按钮的Click事件中输入:select 零件名,颜色,重量 from 零件join 供应;on 零件.零件号=供应.零件号 where 工程号=;alltrim(thisform.text1.value)order by 零件.零件名;into table pp.dbfthisform.grid1.recordsourc

10、e=pp,【捷径】题目给出具体工程号,并要求运行得到表,以工程号“J4”作为条件,用查询设计器做好后运行。,5三表文件(要运行),第5套三、在文本框text1中输入某人的姓名,然后单击查询,则在表格控件Grid1中会显示出他所持有的全部外币名称及对应的人民币数量,并按人民币数量降序排序,同时将结果存储到自由表DBFA中。查询“林诗因”的外币市值情况。select 外币名称,现钞买入价*持有数量 as 人民币数量;from currency_sl join rate_exchange;on currency_sl.外币代码=rate_exchange.外币代码;where 姓名=alltrim(

11、thisform.text1.value);order by 人民币数量 desc into table DBFAthisform.grid1.recordsource=DBFA,【捷径】题目给出具体姓名,并要求运行得到表,以姓名“林诗因”作为条件,用查询设计器做好后运行。,45 表文件(要运行),第45套二1.设置查询按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录按出生日期降序排序,查询去向为表tableone。最后运行该表单,查询1980年1月1日以后出生的客户

12、。设置文本框的Value属性值为表达式Date()SELECT 姓名,性别,出生日期 FROM customers WHERE 出生日期=ctod(thisform.Text1.Text);ORDER BY 出生日期 DESC INTO TABLE tableone.dbf【用设计器后修改】,【捷径】题目给出具体日期,并要求运行得到表,以1980年1月1日作为条件,用查询设计器做好后运行。,37三 表文件(要运行)【捷径】同45,第37套三(1)查询(Command1)按钮:在该按钮的Click事件中使用SQL的SELECT命令查询结帐日期等于从文本框输入日期的顾客序号、顾客姓名、单位和消费金

13、额,查询结果按消费金额降序排序,并将查询结果存储到表TABC中。查询结帐日期等于2005-10-01的顾客信息。(2)显示(Command2)按钮:在该按钮的Click事件中使用命令将表TABC中记录在表格控件中显示将表格的RecordSourceType属性 4-SQL说明。设置查询按钮的Click事件代码:Select 顾客序号,顾客姓名,单位,消费金额 from结帐表;where 结帐日期=ctod(thisform.text1.text);order by 消费金额 desc INTO TABLE tabc.dbf 设置显示按钮的Click事件代码:thisform.grid1.rec

14、ordsource=;Select 顾客序号,顾客姓名,单位,消费金额 from结帐表;where 结帐日期=ctod(thisform.text1.text);order by 消费金额 desc INTO TABLE tabc.dbf。,完全相同的语句,49 表文件(要运行),第49套三、单击命令按钮可以查询指定商品(由用户在文本框给定商品号)的订购信息,查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量等六项内容。各记录按订单号升序排序。查询结果存放在表tablethree中。最后运行表单,然后在文本框中输入商品号a00002,并单击确定按钮完成查询。select Order.

15、*,商品名,单价,数量;from goods,orderitem,order;where Order.订单号=Orderitem.订单号 and;Goods.商品号=Orderitem.商品号 and;Goods.商品号=thisform.Text1.Text;order by Order.订单号 into table tablethree.dbf,【捷径】题目给出具体商品号,并要求运行得到表,以a00002 作为条件,用查询设计器做好后运行。,28三 表文件(要运行),第28套三 使用SQL语句根据学院表的系名字段的内容在列表框中显示系名(注意不要使用命令指定这两个属性)。程序的功能是根据表

16、单运行时列表框中选定的系名,将教师表表中相应系的所有记录存入以该系名命名的自由表中,自由表中包含职工号,姓名和工资三个字段,并按照职工号升序排列。运行表单,分别生成存有计算机、通信、信息管理系信息的3个表。为“生成表”命令按钮的单击事件编写程序如下:select 职工号,姓名,工资 from 教师表 join 学院表;on 学院表.系号=教师表.系号 order by 职工号;Where 系名=thisform.list1.list(thisform.list1.listindex);into tabl thisform.list1.list(thisform.list1.listindex)

17、,【捷径】题目给出具体系名,并要求运行得到表,以“计算机”、“通信”、“信息管理”作为条件及文件名,用查询设计器做3个表,要运行。(1)where 系名=计算机 into tabl 计算机(2)where 系名=通信 into tabl 通信(3)where 系名=信息管理 into tabl 信息管理,三、综合应用(1小题,计30分)在考生文件夹下完成下列操作:(1)创建自由表tablethree,其结构如下:姓名 C(6)最高金额 N(6,2)最低金额 N(6,2)平均金额 N(6,2)(2)设计一个进行查询统计的表单formtwo.scx,其界面如下图所示。其中表格的名称为Grid1,查

18、询统计按钮的名称为Command1,退出按钮的名称为Command2,文本框的名称为Text1。当在文本框输入某职员姓名并单击查询统计按钮时,会在左边的表格内显示该职员所签各订单的金额,并将其中的最高金额、最低金额和平均金额存入表tablethree中。单击退出按钮将关闭表单。(3)运行上面创建的表单formtwo,然后依次查询统计赵小青和吴伟军两位职员所签订单的有关金额。执行完后,表tablethree中应该包含两条相应的记录。,25三表文件,【捷径】题目给出具体职员姓名赵小青和吴伟军,用查询设计器做好后,直接向tablethree表加记录。,39三,1.建立一个文件名和表单名均为onefo

19、rm的表单,表单中包括两个标签(Label1和Label2)、一个选项组(Optiongroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为工资和实例,,2.将组合框(Combo1)的RowSourceType和RowSource属性手工指定为5和a,然后在表单的Load事件代码中定义数组a并赋值,使得程序开始运行时,组合框中有可供选择的工资实例3000、4000和5000。3.为生成命令按钮编写程序。程序的功能是:表单运行时,根据选项组和组合框中选定的值,将教师表中满足工资条件的所有记录存入自由表salary.d

20、bf中,表中的记录先按工资降序、再按姓名升序排列。4.为退出命令按钮设置Click事件代码,其功能是:释放表单。5.运行表单,在选项组中选择小于,在组合框中选择4000,单击生成命令按钮,最后,单击退出命令按钮。,选项组(Optiongroup1)中有两个选项按钮,标题分别为大于等于和小于,Command1和Command2的标题分别为生成和退出。如图所示。,39三捷径:,【捷径】用查询设计器:直接用工资“小于”“4000”的条件select*from 教师表 order by 工资 desc,姓名;where 工资4000 into table salary,81二1,1使用SQL语句查询每

21、个职工所经手的具有最高金额的订购单信息(orders表),并将结果按金额升序、金额相同按订购单号升序存储到表results中。,答案SQL语句为:SELECT*FROM orders ORDER BY 金额,订购单号;WHERE 职工号+str(金额,10,0)IN;(SELECT 职工号+str(MAX(orders.金额),10,0);FROM orders GROUP BY 职工号);INTO TABLE results,81二1捷径:,1用查询设计器:SELECT*FROM orders ORDER BY 金额,订购单号 INTO TABLE results 2加删除记号3选菜单“表”

22、/“删除记录”,81二1 orders,81二1 results,查询按钮:在该按钮的Click事件中使用SQL的SELECT命令查询顾客号等于输入的顾客号的顾客的顾客号、顾客名和地址,以及购买商品的商品号、商品名、单价、数量和金额(各商品记录按商品号升序排序)。将查询的顾客信息在表格控件Grid1中显示,同时将结果存储到表TABB中;将查询的顾客购买商品的结果在表格控件Grid2中显示,同时将结果存储到表TABC中。注意:每件商品的金额是由COMM表中该商品的单价*ORDER表中该商品的订购数量计算得到。表TABB和表TABC结构分别如下:TABB(顾客号,顾客名,地址)TABC(商品号,商

23、品名,单价,数量,金额)表单设计完成后,运行该表单,查询顾客号等于010003的顾客信息和购买的商品信息。,83三,83三CUST,83三ORDER COMM,答案:设置查询按钮的Click事件代码:GKh=ALLTRIM(ThisForm.Text1.Value)ThisForm.Grid1.RecordSource=SELECT 顾客号,顾客名,地址 FROM CUST WHERE 顾客号=+GKh+“INTO TABLE TABB ThisForm.Grid2.RecordSource=SELECT Comm.商品号,商品名,单价,数量,Comm.单价*Order.数量 as 金额 FR

24、OM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=+GKh+“INTO TABLE TABC,【捷径】用查询设计器做表,直接用条件顾客号010031SELECT 顾客号,顾客名,地址 FROM CUST WHERE 顾客号=01003 INTO TABLE TABB 2SELECT Comm.商品号,商品名,单价,数量,单价*数量 as 金额 FROM comm JOIN order ON Comm.商品号=Order.商品号 WHERE 顾客号=01003 INTO TABLE TABC,83 捷径,三、综合应用

25、(1)查询按钮(Command1)在该按钮的Click事件中编写程序,采用SQL语句根据第1个文本框输入的顾客号进行查询。在表格控件中显示该顾客的顾客号和购买的每件商品的商品号、商品名、单价、数量和金额,各记录按商品号升序排序。该查询结果应同时存储到表tjb.dbf中。另外需要统计该顾客的应付款,并显示在Text2文本框中。说明:金额=单价*数量,应付款=顾客购买的商品金额合计表单设计完成后,运行该表单,输入顾客号:010003,单击查询按钮进行查询。,【捷径】顾客号直接取 010003 1用查询设计器:SELECT 顾客号,Comm.商品号,商品名,单价,数量,单价*数量 as 金额;FRO

26、M comm JOIN order ON Comm.商品号=Order.商品号;WHERE 顾客号=010003 order by Comm.商品号 INTO TABLE tjb,ThisForm.Grid1.RecordSource=SELECT Order.顾客号,Comm.商品号,商品名,单价,数量,Comm.单价*Order.数量 as 金额 FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.Value)order by Comm.商品号 INTO TABL

27、E tjb,84 捷径,二、1编写程序文件prgone.prg,其功能是从人事管理数据库的相关表中查询销售部从1985年到1989年这5年出生的所有职工的信息,并存到表cyqk.dbf中。查询结果包含编号、姓名、出生日期和部门名称(部门表中的名称)4个字段;按职工的出生日期和编号升序排序。最后运行该程序。,【捷径】1用查询设计器:SELECT 编号,姓名,出生日期,名称 FROM 部门 JOIN 职工;ON 部门.部门编号=职工.部门编号 ORDER BY 出生日期,编号;INTO TABLE cyqk2.打开cyqk表,直接删除不满足条件的记录3.打开表设计器把字段“名称”改成“部门名称”,

28、SELECT 编号,姓名,出生日期,名称 AS 部门名称 FROM 部门,职工;WHERE 部门.部门编号=职工.部门编号 AND 部门.名称=销售部;AND YEAR(职工.出生日期)=1985 AND YEAR(职工.出生日期)=1989;ORDER BY 出生日期,编号 INTO TABLE cyqk.dbf,90二捷径,90三单击查询按钮,查询指定部门所有职工的信息,包括职工的姓名、性别、出生日期和编号,按编号升序排序。查询结果不仅显示在表单右侧的表格中,也保存在表文件tableone.dbf中。在文本框中输入部门名称开发部,,【捷径】用查询设计器:SELECT 姓名,性别,出生日期,

29、编号 FROM 部门 JOIN 职工;ON 部门.部门编号=职工.部门编号 WHERE 名称=开发部;ORDER BY 编号 INTO TABLE tableone.dbf,st=SELECT 姓名,性别,出生日期,编号 FROM 职工,部门 WHERE 职工.部门编号=部门.部门编号 AND;部门.名称=thisform.Textone.Text INTO TABLE tableone.dbf ORDER BY 职工.编号 thisform.Gridone.RecordSource=st,90三捷径,(建立表table3,)从xuesheng表和chengji表中找出所有成绩不及格(分数小于60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表table3中(若一个学生有多门课程不及格,在表table3中就会有多条记录)。表table3中的各记录应该按分数升序排序,分数相同则按学号降序排列。要求在程序中用SET RELATION命令建立chengji表和xuesheng表之间的关联(同时用INDEX命令建立相关的索引),并通过DO WHILE循环语句实现规定的功能。最后运行程序。,捷径(15分)本题程序过难,直接做table3表用查询设计器从chengji表中找出分数有小于60的记录。手工填入table3表,17三,table3,chengji,17三 表,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号