(1)编写程序three.prg完成下列操作:根据“外汇汇率”表中的数据产生rate表中的数据。 要求:将所有“外汇汇率”表中的数据捅入rate表中并且顺序不变,由于“外汇汇率”中的“币种1”和“币种2”存放的是外币名称,而rate表中的“币种1代

admin2013-10-22  21

问题 (1)编写程序three.prg完成下列操作:根据“外汇汇率”表中的数据产生rate表中的数据。
    要求:将所有“外汇汇率”表中的数据捅入rate表中并且顺序不变,由于“外汇汇率”中的“币种1”和“币种2”存放的是外币名称,而rate表中的“币种1代码”和“币种2代码”应该存放外币代码,所以插入时要做相应的改动,“外币名称”与“外币代码”的对应关系存储在“外汇代码”表中。
    注意:程序必须执行一次,保证rate表中有正确的结果。
    (2)使用查询设计器建立一一个查询文件four.qpr。查询要求:从外汇账户中查询“日元”和“欧元"的记录。查询结果包括了外币名称、钞汇标志、金额,结果按“外币名称”升序排序,在“外币名称”相同的情况下按“金额”降序排序,并将查询结果存储于表five.dbf中。

选项

答案(1)步骤1:在命令窗口执行命令:MODIFY COMMAND three,打开程序文件编辑器。 步骤2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): 1 SELECT外汇代码.外币代码.AS币种1代码; 2 外汇代码a.外币代码AS币种2代码,外汇汇率.买入价,外汇汇率.卖出价; 3 FROM外汇 外汇代码INNER.JOIN外汇!外汇汇率: 4 INNER JOIN外汇!外汇代码外汇代码a; 5 ON外汇汇率.币种2=外汇代码a.外币名称; 6 ON外汇代码.外币名称=外汇汇率.币种1; 7 INTO ARRAYarrl 8 INSEKT INTO.RATE.DBF FROM ARRAY artl 步骤3:在命令窗口执行命令:DO three.prg,执行程序文件。 (2)步骤1:在命令窗口执行命令:OPEN DATABASE外汇,打开数据库环境。 步骤2:在命令窗口执行命令:CREATE QUERY four,打开查询设计器,在“添加表或视图”对话框中,分别双击“外汇代码”表和“外汇账户”表,将表添加到查询设计器中。 步骤3:添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。 步骤4:依次双击“外汇代码”表中的“外币名称”和“外汇账户”表中的“钞汇标志”、“金额”字段,添加到“字段”选项卡的“选定字段”列表中。 步骤5:在“筛选”选项卡的“字段名”下拉列表中选择“外汇代码.外币名称”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“日元”,在“逻辑”下拉框中选择“OR”;接着在第二行接着输入查询条件,在“字段名”下拉列表中选择“外汇代码.外币名称”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“欧元”。 步骤6:在“排序依据”选项卡内双击“选定字段”列表框中的“外汇代码.外币名称”字段,将字段添加到“排序条件”列表框中,在“排序选项”中选择“升序”单选项;以同样的方法再设置“外汇账户.金额”字段的降序。 步骤7:执行[查询]→[查询去向]菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名“five”,单击“确定”按钮。 步骤8:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。

解析 (1)本题考查的是SQL超链接查询.设计SQL代码的关键是怎样建立“外汇代码”表中“外币代码”与“外汇汇率”表中“币种1”和“币种2”的联系.
    由于输出结果的“币种1”和“币种2”需要用相应的“外币代码”表示,“外汇代码”表中的“外币代码”只能利用一次,即替换“币种1”或“币种2”中的币种名称,这样没有被替换的币种仍然是中文币种名称,因此需要将“外汇代码”表利用两次,两个表中的“外币代码”分别替换“外汇汇率”表中“币种1”和“币种2”的中文币种名,被两次引用的表名要在原表名后再加“-a”进行区分。
    三个表的联接条件分别是“外汇代码.外币名称=外汇汇率.币种1”和“外汇汇率.币种2=外汇代码=a.外币名称”。查询输出的字段名可以通过AS短语重新指定名称.
    另外,查询结果要求保存到数据库表,因此要将结果保存到数组中,然后再通过数组将记录插入到表中。
转载请注明原文地址:https://kaotiyun.com/show/RDop777K
0

最新回复(0)