首先为order_detail表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:根据order_list表中的“订购日期”字段的值确定order_detail表的“新单价”字段的值,原则是:订购日期为2001年的“新单价”字段的值为原单价的90%,订购日期为2002年的“新单价”字段的值为原单价的110%(注意:在修改操作过程中不要改变order_detail表记录的顺序),将order_detail表中的记录存储到od_new表中(表结构与order_detail表完全相

题目

首先为order_detail表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:根据order_list表中的“订购日期”字段的值确定order_detail表的“新单价”字段的值,原则是:订购日期为2001年的“新单价”字段的值为原单价的90%,订购日期为2002年的“新单价”字段的值为原单价的110%(注意:在修改操作过程中不要改变order_detail表记录的顺序),将order_detail表中的记录存储到od_new表中(表结构与order_detail表完全相同)。最后将程序保存为prog1.prg,并执行该程序。

接着再利用Visual FoxPro的“快速报表”功能建立一个的简单报表,该报表内容按顺序含有order_detail表的订单号、器件号、器件名、新单价和数量字段的值,将报表文件保存为report1。


相似考题
更多“首先为order_detail表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的 ”相关问题
  • 第1题:

    用SQL语句查询课程成绩在60分以上的学生姓名,并将结果按姓名降序存入表文件res.dbf中。

    (2)编写my.prg程序,实现的功能:先为“学生成绩”表增加一个“学生平均成绩”字段,类型为 N(6,2),根据“学生选课”表统计每个学生的平均成绩,并写入“学生成绩”表新的字段中。


    正确答案:(1)在命令窗口中输入命令:MODIFY COMMAND query1在程序文件编辑器窗口输入如下程序段: *******文件query1.prg中的程序段****************** SELECT DISTINCT(姓名)AS姓名; FROM 课程学生选课学生成绩; WHERE 学生成绩.学号=学生选课.学号; AND 学生选课课程号=课程.课程号; AND 成绩>65; ORDER BY姓名DESC; INTO TABLE res *********************************************** 在命令窗口输入命令:DO query1运行程序通过BROWSE命令可查看结果如图3-41所示。 (2)在命令窗口中输入命令:MODIFY COMMAND my在程序文件编辑器窗口输入如下程序段: ******文件my.prg中的程序段******** ALTER TABLE学生成绩ADD平均成绩N(62) SELECT学号AVG(成绩)AS平均成绩; FROM学生选课; GROUP BY学号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE学生成绩SET平均成绩=atemp.平均成绩; WHERE学生成绩.学号=atemp.学号 SKIP ENDDO *********************************** 在命令窗口输入命令:DO my运行程序。执行程序后“学生成绩”中的记录如图3-42所示。
    (1)在命令窗口中输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口输入如下程序段: *******文件query1.prg中的程序段****************** SELECT DISTINCT(姓名)AS姓名; FROM 课程,学生选课,学生成绩; WHERE 学生成绩.学号=学生选课.学号; AND 学生选课,课程号=课程.课程号; AND 成绩>65; ORDER BY姓名DESC; INTO TABLE res *********************************************** 在命令窗口输入命令:DO query1,运行程序,通过BROWSE命令可查看结果,如图3-41所示。 (2)在命令窗口中输入命令:MODIFY COMMAND my,在程序文件编辑器窗口输入如下程序段: ******文件my.prg中的程序段******** ALTER TABLE学生成绩ADD平均成绩N(6,2) SELECT学号,AVG(成绩)AS平均成绩; FROM学生选课; GROUP BY学号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE学生成绩SET平均成绩=atemp.平均成绩; WHERE学生成绩.学号=atemp.学号 SKIP ENDDO *********************************** 在命令窗口输入命令:DO my,运行程序。执行程序后,“学生成绩”中的记录,如图3-42所示。 解析:本大题两个小题主要考查的是SQL语句的应用,设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。

  • 第2题:

    在考生文件夹中有“订货”表和“商品”表。商品表中的“单价”表与“订货”表的“数量”之积应等于订货表中的“金额”。

    现在有部分“订货”表记录的“金额”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为“修正订货”的表中(与订货表结构相同,自己建立),根据商品表中的“单价”字段和“订货”表的“数量”字段修改“修正订货”表的“金额”字段(注意:一个修正记录可能对应几条订货记录)。

    编写的程序最后保存为“CX.prg”。


    正确答案:
    【考点指引】本大题考查的是数据表数据的修改,注意要用到INTOTABLE和INTOCURSOR保存中间查询结果。
    【操作步骤】
    ①在命令窗口中输人命令:MODI COMM cx(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码:
    SELECT订货.*INTO TABLE修正订货FROM订货,商品WHERE订货.商品编码=商品.商品编码AND金额<>单价*数量
    USE修正订货
    GO TOP
    DO WHILE.NOT.EOF()
    a1=商品编码
    bl=订单编号
    SELECT*INTO CURSOR aa FROM商品WHERE商品编码=al
    SELECT修正订货
    REPLACE金额WITH aa.单价*数量
    SKIP
    ENDDO
    USE
    关闭程序文件编辑窗口并保存程序文件。
    ②在命令窗口中输入命令:DO cx(回车执行),执行程序文件。

  • 第3题:

    下列选项中,修改字段数据类型的的基本语法格式是

    A.ALTER TABLE 表名 MODIFY旧字段名 新字段名 新数据类型

    B.ALTER TABLE 表名 MODIFY 字段名 数据类型

    C.ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型

    D.ALTER TABLE 表名 MODIFY旧字段名 TO 新字段名 新数据类型


  • 第4题:

    在考生文件夹中有“销售管理”数据库,内有“定货信息”表和“货物信息”表。货物表中的“单价”与“数量”之积应等于定货表中的“总金额”。

    现在有部分“定货信息”表记录的“总金额”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为“修正”的表中(与定货表结构相同,自己建立),根据货物表的“单价”和“数量”字段修改“修正”表的“总金额”字段(注意一个修正记录可能对应几条定货记录)。

    编写的程序最后保存为myp. prg。


    正确答案:在命令窗口中输入命令:MODIFY COMMAND myp在程序文件编辑器窗口输入如下程序段: ********文件Myp. prg中的程序段******** &&查找错误记录 SELECT 订单号SUM(单价*数量)AS 总金额; FROM 货物信息; GROUP BY 订单号; DNTO CURSOR atemp SELECT 定货信息.*; FROM atemp定货信息; WHERE atemp.订单号;定货信息.订单号; AND atemp.总金额>定货信息.总金额; INTO TABLE 修正 &&修订“修正”表中的记录 SELECT 订单号SUM(单价*数量)AS 总金额; FROM 货物信息; GROUP BY 订单号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE 修正 SET 总金额=atemp.总金额; WHERE 修正.订单号=atemp.订单号 SKIP ENDDO *************************************** 在命令窗口执行命令:DO myf运行程序结果如图3-98所示。 图3-98
    在命令窗口中输入命令:MODIFY COMMAND myp,在程序文件编辑器窗口输入如下程序段: ********文件Myp. prg中的程序段******** &&查找错误记录 SELECT 订单号,SUM(单价*数量)AS 总金额; FROM 货物信息; GROUP BY 订单号; DNTO CURSOR atemp SELECT 定货信息.*; FROM atemp,定货信息; WHERE atemp.订单号;定货信息.订单号; AND atemp.总金额>定货信息.总金额; INTO TABLE 修正 &&修订“修正”表中的记录 SELECT 订单号,SUM(单价*数量)AS 总金额; FROM 货物信息; GROUP BY 订单号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE 修正 SET 总金额=atemp.总金额; WHERE 修正.订单号=atemp.订单号 SKIP ENDDO *************************************** 在命令窗口执行命令:DO myf,运行程序,结果如图3-98所示。 图3-98 解析:本大题主要考查的是SQL语句的应用,设计过程中可利用临时表来存放查询结果,通过“订单号”建立两个表之间的联系,再利用DO 循环语句对表中的记录逐条更新。

  • 第5题:

    23、下列选项中,修改字段数据类型的的基本语法格式是

    A.ALTER TABLE 表名 MODIFY旧字段名 新字段名 新数据类型

    B.ALTER TABLE 表名 MODIFY 字段名 数据类型

    C.ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型

    D.ALTER TABLE 表名 MODIFY旧字段名 TO 新字段名 新数据类型


    B