当order detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: ①根据order detail表中的记录重新计算order。list表的总金额字段

admin2013-05-21  36

问题 当order detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:
  ①根据order detail表中的记录重新计算order。list表的总金额字段的值。
  ②一条order list记录可以对应几条order detail记录。
  ③在编程前应保证在基础操作中正确地建立了orde list表,在简单应用中为该表追加了记录(注意:只能追加一次)。
  ④最后将order list表中的记录按总金额降序排序存储到0d new表中。(表结构与order list表完全相同)
  ⑤将程序保存为progl.prg文件。

选项

答案本题主要考查的是程序文件的建立、DOWHILE循环结构和SQL分组计算查询。 本题的基本解题思路是: 以order list表为当前表,通过SQL分组与计算查询从order detail表中按订单号分组计算每组订单的总金额,并按订单号排序,将结果保存到临时表中。 接着通过do while循环逐条处理0rder list中订单号与临时表中订单号相同的记录,利用replace命令修改。rder list的总金额字段值等于临时表中对应的总金额字段值。 最后用SQL简单查询将。rder list表中的记录保存到表OD NEW中。 【操作步骤】 步骤1:在命令窗口执行命令:MODIFY COMMANDprog 1,新建程序并打开程序编辑器。 步骤2:在程序编辑器中输入如下程序代码: 1 CLOSE DATABASE 2 USE ORDER—LIST 3 SELECT订单号,sUM(单价*数量)As AA; 4 FROM ORDER—DETAIL; 5 GROUP BY订单号ORDER BY订单号; 6 INTO CURSOR FF 7 SELECT ORDER—LIST 8 DO WHILE!EOF() 9 SELE FF 10 LocATE FOR订单号=ORDER—LIsT.订单号 1 1 SELE ORDER—LIST 12 REPLACE总金额wITH FF.AA 13 SKIp 14 ENDDO 15 SELEcT*FROM ORDER—LIsT ORDER BY总 金额DESC工NTO DBF OD—NEW 步骤3:“常用”工具栏中的“运行”按钮运行程序。

解析
转载请注明原文地址:https://kaotiyun.com/show/vUop777K
0

最新回复(0)