在考生文件夹下,打开招生数据库sdb,完成如下简单应用: (1)使用一对多表单向导选择ksb表和kscib表生成一个名为two的表单。要求从父表ksb中选择所有字段,从子表kscib中选择所有字段,使用“考生号”建立两表之间的关系,样式为阴影式;按

admin2016-12-05  32

问题 在考生文件夹下,打开招生数据库sdb,完成如下简单应用:
    (1)使用一对多表单向导选择ksb表和kscib表生成一个名为two的表单。要求从父表ksb中选择所有字段,从子表kscib中选择所有字段,使用“考生号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自ksb),升序;表单标题为“考生数据输入维护”。
    (2)在考生文件夹下打开命令文件three.prg,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表three中。注意,该命令文件在第3行、第6行、第9行有错误,打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。

选项

答案(1)【操作步骤】 步骤1:命令窗口执行:OPEN DATABASE sdb,打开SDB数据库。 步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“表单”选项,单击“向导”按钮, “向导选取”对话框中选“一对多表单向导”项,单击“确定”,启动向导。 步骤3:“步骤1-从父表选择字段”的“数据库和表”下选“kbs”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”。 步骤4:“步骤2-从子表选择字段”的“数据库和表”下选“kscib”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”。 步骤5:“步骤3-建立表之间的关系”中系统自动建立两个表的联系,单击“下一步”。 步骤6:“步骤4-选择表单样式”的“样式”下选“阴影式”,在“按钮类型”下“图片按钮”,单击“下一步”。 步骤7:“步骤5-排序次序”中双击“可用的字段或索引标识”中的“考生号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”。 步骤8:“步骤6-完成”中的“请键入表单标题”下方输入“考生数据输入维护”,单击“完成”按钮。 步骤9:在“另存为”对话框的“保存表单为:”框中输入表单文件名two,单击“保存”按钮。 (2)【操作步骤】 步骤1:命令窗口执行:MODIFY COMMAND three,打开three.prg程序,命令中的命令代码如下: *该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表THREE中。 *该命令文件在第3行、第6行、第9行有错误,打开该命令文件。 *直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。 1 SELECT AVG(成绩); 2 FROM kscjb; 3 INTO CURSOR tem 4 SELECT 考生号,姓名; 5 FROM ksb; 6 WHERE 考生号 EXISTS; 7 (SELECT *; 8 FROM kscjb; 9 WHERE 成绩 <tem(1),考生号=ksb.考生号); 10 INTO TABLE three 修改程序中的错误行,修改后的程序如下: 1 SELECT AVG(成绩); 2 FROM kscjb; 3 INTO ARRAY tem && 将平均成绩存放到数组array中 4 SELECT 考生号,姓名;&& 外查询,在ksb表中将每一个考生编号与内查询的结果做比较 5 FROM ksb; 6 WHERE NOT EXISTS; 7 (SELECT*; && 在内查询中的kscjb表中判断是否该考生编号有一门成绩小于平均成绩 8 FROM kscjb; 9 WHERE成绩<tem(1) and 考生号=ksb.考生号); 10 INTO TABLE three 步骤2:保存文件修改,在命令窗口执行命令:DO three.prg,执行程序文件。

解析
转载请注明原文地址:https://jikaoti.com/ti/stk0FFFM
0

最新回复(0)