在数据库“company”中为“dept”表增加一个新字段“人数”,编写满足如下要求的程序:根据“员工信息”表中的“部门编号”字段的值确定“部门信息”表的“人数”字段的值,即对“员工信息”表中的记录按“部门编号”归类。将“部门信息”表中的记录存储到“result”表中(表结构与“部门信息”表完全相同)。最后将程序保存为“result.prg”,并执行该程序。

题目

在数据库“company”中为“dept”表增加一个新字段“人数”,编写满足如下要求的程序:根据“员工信息”表中的“部门编号”字段的值确定“部门信息”表的“人数”字段的值,即对“员工信息”表中的记录按“部门编号”归类。将“部门信息”表中的记录存储到“result”表中(表结构与“部门信息”表完全相同)。最后将程序保存为“result.prg”,并执行该程序。


相似考题
更多“在数据库“company”中为“dept”表增加一个新字段“人数”,编写满足如下要求的程序:根据“员工信息”表 ”相关问题
  • 第1题:

    为“部门信息“表增加一个新字段“人数”,编写满足如下要求的程序:根据“雇员信息”表中的“部门号”字段的值确定“部门信息”表的“人数”字段的值,即对“雇员信息”表中的记录按“部门号”归类。将“部门信息”表中的记录存储到ate表中(表结构与“部门信息”表完全相同)。最后将程序保存为myp.prg,并执行该程序。

    在命令窗口中输入命令:MODIFY COMMAND myp,在弹出的程序编辑窗口中输入如下程序段:

    ******程序文件myp.prg中的程序段**********************

    ALTER TABLE部门信息ADD人数I

    SELECT部门号,COUNT(*)AS人数FROM雇员信息;

    GROUP BY部门号;

    INTO CURSOR atemp

    DO WHILE NOT EOF()

    UPDATE部门信息SET人数=atemp.人数;

    WHERE部门信息.部门号=atemp.部门号

    SKIP

    ENDDO

    SELECT * FROM部门信息INTO TABLE ate

    ********************************************************

    在命令窗口执行命:DO myp,运行程序,通过BROWSE命令可查看查询结果,程序运行结果如图3-26所示。


    正确答案:在命令窗口中输入命令:MODIFY COMMAND myp在弹出的程序编辑窗口中输入如下程序段: ******程序文件myp.prg中的程序段********************** ALTER TABLE部门信息ADD人数I SELECT部门号COUNT(*)AS人数FROM雇员信息; GROUP BY部门号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE部门信息SET人数=atemp.人数; WHERE部门信息.部门号=atemp.部门号 SKIP ENDDO SELECT * FROM部门信息INTO TABLE ate ******************************************************** 在命令窗口执行命:DO myp运行程序通过BROWSE命令可查看查询结果程序运行结果如图3-26所示。
    在命令窗口中输入命令:MODIFY COMMAND myp,在弹出的程序编辑窗口中输入如下程序段: ******程序文件myp.prg中的程序段********************** ALTER TABLE部门信息ADD人数I SELECT部门号,COUNT(*)AS人数FROM雇员信息; GROUP BY部门号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE部门信息SET人数=atemp.人数; WHERE部门信息.部门号=atemp.部门号 SKIP ENDDO SELECT * FROM部门信息INTO TABLE ate ******************************************************** 在命令窗口执行命:DO myp,运行程序,通过BROWSE命令可查看查询结果,程序运行结果如图3-26所示。 解析:本大题主要考查的是SQL语句的应用,字段的增加用到数据表的定义语句,考生应该熟悉 COUNT函数的应用,在SQL语句设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。

  • 第2题:

    首先为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。


    正确答案:在命令窗口输入命令:USE order_detail &&打开数据表 MODIFY STRUCTURE &&打开表设计器 打开表设计器后在“字段”选项卡的“数量”字段后增加一个新的字段根据题意输入字段名:新单价字段宽度和类型与“单价”字段一样。 在命令窗口输入命令:MODIFY COMMAND prog1在程序编辑窗口中输入如下程序段: **********文件prog1.prg中的程序段********** SET TALK OFF &&将订购日期是2001年的所有的订单号放入临时表curtable中 SELECT订单号FROM order_list WHERE YEAR(订购日期)=2001; INTO CURSOR curtable && 对所有订购日期是2001年的计算新的单价 DO WHILE NOT EOF() UPDATE order_detail SET新单价=单价*0.9; WHERE订单号=curtable.订单号 SKIP ENDDO && 将订购日期是2002年的所有的订单号放入临时表CurTable中 SELECT订单号FROM order_list WHERE YEAR(订购日期)=2002; INTO CURSOR curtable && 对所有订购日期是2002年的计算新的单价 DO WHILE NOT EOF() UPDATE order detail SET新单价=单价*1.1; WHERE 订单号=curtable.订单号 SKIP ENDDO CLOSE ALL USE order_detail COPY TO od_new SET TALK ON ****************************************** 保存设计结果在命令窗口输入命令:DO prog1执行程序文件。 在命令窗口输入命令:CREATE REPORT report1打开报表设计器。选择菜单命令“报表”—“快速报表”系统首先要求选择报表数据源。根据题意选择考生文件夹下的order_detail表作为报表数据源。系统接着弹出“快速报表对话框”单击对话框中的“字段”命令按钮在弹出的“字段选择器”对话框中依次选择订单号、器件号、器件名、新单价和数量5个字段添加到“选定字段”列表框中如图3-62所示。单击“确定”按钮返回报表设计器保存报表设计。单击工具栏中的预览按钮可查看设计效果。
    在命令窗口输入命令:USE order_detail &&打开数据表 MODIFY STRUCTURE &&打开表设计器 打开表设计器后,在“字段”选项卡的“数量”字段后增加一个新的字段,根据题意输入字段名:新单价,字段宽度和类型与“单价”字段一样。 在命令窗口输入命令:MODIFY COMMAND prog1,在程序编辑窗口中输入如下程序段: **********文件prog1.prg中的程序段********** SET TALK OFF &&将订购日期是2001年的所有的订单号放入临时表curtable中 SELECT订单号FROM order_list WHERE YEAR(订购日期)=2001; INTO CURSOR curtable && 对所有订购日期是2001年的计算新的单价 DO WHILE NOT EOF() UPDATE order_detail SET新单价=单价*0.9; WHERE订单号=curtable.订单号 SKIP ENDDO && 将订购日期是2002年的所有的订单号放入临时表CurTable中 SELECT订单号FROM order_list WHERE YEAR(订购日期)=2002; INTO CURSOR curtable && 对所有订购日期是2002年的计算新的单价 DO WHILE NOT EOF() UPDATE order detail SET新单价=单价*1.1; WHERE 订单号=curtable.订单号 SKIP ENDDO CLOSE ALL USE order_detail COPY TO od_new SET TALK ON ****************************************** 保存设计结果,在命令窗口输入命令:DO prog1,执行程序文件。 在命令窗口输入命令:CREATE REPORT report1,打开报表设计器。选择菜单命令“报表”—“快速报表”,系统首先要求选择报表数据源。根据题意,选择考生文件夹下的order_detail表作为报表数据源。系统接着弹出“快速报表对话框”,单击对话框中的“字段”命令按钮,在弹出的“字段选择器”对话框中,依次选择订单号、器件号、器件名、新单价和数量5个字段添加到“选定字段”列表框中,如图3-62所示。单击“确定”按钮,返回报表设计器,保存报表设计。单击工具栏中的预览按钮,可查看设计效果。 解析:本大题考查的主要是SQL语句的应用,包括数据定义、数据修改和数据查询功能,设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。

  • 第3题:

    (1)编写程序“cx1.prg”,对职员信息表完成如下3个功能:

    ①删除“职员编号”为“0010”的商品的记录。

    ②将所有人的“月薪”增加l0%。

    ③查询“籍贯”为“上海”的表记录。

    (2)根据数据库“公司”中的表“部门”和表“职员信息”建立一个查询,该查询包含字段“部门名称”、“姓名”和“职员编号”。查询条件为“月薪”在3200元(含)以上。要求按“职员编号”升序排序,并将查询保存为“qry1”。


    正确答案:
    【考点指引】本大题第1小题考查程序代码设计,重点是数值字段的计算;第2小题考查查询的创建,重点是过滤条件的设置。
    (1)【操作步骤】
    ①在命令窗口中输入命令:MODI COMM cx1(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码:
    DELETE FROM职员信息WHERE职员编号=〝0010″
    UPDATE职员信息SET月薪=月薪*1.1
    SELECT*FROM职员信息WHERE籍贯LIKE〝上海%″
    关闭程序文件编辑窗口并保存程序文件。
    ⑦在命令窗口中输入命令:DO cx1(回车执行),执行程序文件。
    (2)【操作步骤】
    ①选择【文件】→【打开】命令,打开考生文件夹下的数据库“公司”。
    ②选择【文件】→【新建】命令,选择“查询”,单击“新建文件”按钮,弹出“添加表或视图”对话框,将表“部门”和“职员信息”分别添加到查询设计器中,系统会自动根据两表的“部门编号”字段建立两表之间的内部联系,然后关闭“添加表或视图”对话框。
    ③根据题意,在查询设计器的“字段”选项卡中;将“可用字段”列表框中的字段“部门名称”、“姓名”和“职员编号”添加到右边的“选定字段”列表框中。
    ④单击“筛选”选项卡,在“字段名”下拉列表框中选择“月薪”字段,在“条件”下拉列表框中选择“>=”,在“实例”文本框中输入“3200”。
    ⑤在“排序依据”选项卡中将“选定字段”列表框中的“职员编号”字段添加到右边的“排序条件”中,在“排序选项”中选择“升序”。
    ⑥关闭查询设计器并保存查询为“qry1”。

  • 第4题:

    对考生文件夹下的数据库“员工管理”中的“员工信息”表和“职称信息”表完成如下操作:

    ①为表“职称信息”增加两个字段“人数”和“明年人数”,字段类型均为整型。

    ②编写命令程序myp,查询职工中拥有每种职称的人数,并将其填入表“职称”的“人数”字段中,根据职称表中的“人数”和“增加百分比”,计算“明年人数”的值,如果增加的人数不足一个,则不增加。

    ③运行该程序。


    正确答案:从菜单栏里单击“文件”并选择“打开”或直接单击工具栏上的“打开”图标在弹出的对话框中选择要打开的数据库文件“员工信息管理.dbc”。 在数据库设计器中右键单击数据库表“职称信息”在弹出的快捷菜单中选择“修改”菜单命令进入“职称信息”的数据表设计器界面在“字段”选项卡中单击右边的“插入”命令按钮在字段名中输入“人数”类型为“整型”用同样的方法增加“明年人数”字段。单击右边“确定”按钮。 在命令窗口中输入命令:MODIFY COMMANDmyp在弹出的程序编辑窗口中输入如下代码: ***********文件myp.prg中的程序代码********** SELECT员工信息.职称代码增加百分比COUNT(*)AS人数; FROM员工信息职称信息; WHERE员工信息.职称代码:职称信息.职称代码; GROUP BY员工信息.职称代码; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE职称信息 SET 人数=atemp.人数明年人数=atemp.人数+; atemp.人数*atemp.增加百分比/100; WHERE职称信息.职称代码=atemp.职称代码 单击菜单中的“程序”—“运行”来运行程序结果如图3-132所示。
    从菜单栏里单击“文件”并选择“打开”,或直接单击工具栏上的“打开”图标,在弹出的对话框中选择要打开的数据库文件“员工信息管理.dbc”。 在数据库设计器中,右键单击数据库表“职称信息”,在弹出的快捷菜单中选择“修改”菜单命令,进入“职称信息”的数据表设计器界面,在“字段”选项卡中,单击右边的“插入”命令按钮,在字段名中输入“人数”,类型为“整型”,用同样的方法增加“明年人数”字段。单击右边“确定”按钮。 在命令窗口中输入命令:MODIFY COMMANDmyp,在弹出的程序编辑窗口中输入如下代码: ***********文件myp.prg中的程序代码********** SELECT员工信息.职称代码,增加百分比,COUNT(*)AS人数; FROM员工信息,职称信息; WHERE员工信息.职称代码:职称信息.职称代码; GROUP BY员工信息.职称代码; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE职称信息 SET 人数=atemp.人数,明年人数=atemp.人数+; atemp.人数*atemp.增加百分比/100; WHERE职称信息.职称代码=atemp.职称代码 单击菜单中的“程序”—“运行”来运行程序,结果如图3-132所示。 解析:本大题主要考查的是字段的增加以及记录的更新,字段的增加可在表设计器中完成,更新记录可以利用SQL语句,设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。

  • 第5题:

    表“员工”中字段“加班费”的值为空,编写满足如下要求的程序:

    根据“值班”表中的夜和昼的加班费的值和“员工”表中各人昼夜值班的次数确定员工表的“加班费”字段的值,最后将程序保存为myprog.prg,并执行该程序。


    正确答案:步骤1:单击工具栏上的[新建]按钮打开[创建]对话框在[文件类型]区中选择“程序”单击[新建文件]打开程序编辑窗口输入: SET TALK OFF SELECT 单位加班费 FRON 值班; WHERE 值班类型="白班"; INTO ARRAY temp1 SELECT 单位加班费 FRON 值班; WHERE 值班类型="夜班"; INTO ARRAY temp2 UPDATE 员工 SET 加班费=白班数*temp1(11)+夜班数*temp2(11) SET TALK ON 步骤2:单击工具栏上的[保存]按钮在打开的[另存为]对话框中将文件名为设为“myprog”单击工具栏的[运行]按钮查看结果。
    步骤1:单击工具栏上的[新建]按钮,打开[创建]对话框,在[文件类型]区中选择“程序”,单击[新建文件],打开程序编辑窗口输入: SET TALK OFF SELECT 单位加班费 FRON 值班; WHERE 值班类型="白班"; INTO ARRAY temp1 SELECT 单位加班费 FRON 值班; WHERE 值班类型="夜班"; INTO ARRAY temp2 UPDATE 员工 SET 加班费=白班数*temp1(1,1)+夜班数*temp2(1,1) SET TALK ON 步骤2:单击工具栏上的[保存]按钮,在打开的[另存为]对话框中将文件名为设为“myprog”,单击工具栏的[运行]按钮,查看结果。