步骤4:新建一个查询,将视图添加到查询设计器中。选择全部字段,设置查询去向为表tabletwo,保存并运行查询,查询名为默认。
在考生文件夹下完成以下简单应用(自由表order中存放着订单的有关数据):
1.利用查询设计器创建查询,从employee表和order表中查询金额最高的10笔订单。查询结果依次包含订单号、姓名、签订日期和金额4个字段,各记录按金额降序排列,查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。
2.首先创建数据库order_m,并向其中添加employee表和order表。然后在数据库中创建视图viewone:利用该视图只能查询组别为1的职员的相关数据;查询结果依次包含职员号、姓名、订单号、签订日期、金额5个字段;各记录按职员号升序排列,若职员号相同则按金额降序排列。最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
【解题思路】 通过查询设计器完成查询、新建数据库、添加表在视图设计器中完成视图。
(1)【操作步骤】
步骤1:单击\新建\按钮,在弹出的对话框中选择\新建查询\,将\employee\和\order \ 添加到查询设计器中。
步骤2:在查询设计器下方的\字段\选项卡中选中并添加题中要求的字段。 步骤3:在\排序依据\选项卡中选择字段\金额\,按降序排列。 步骤4:在\杂项\选项卡中选择记录个数为10。
步骤5:选中菜单栏上的\查询\→\查询去向\,在弹出的\查询去向\对话框中选择表,并在表名处输入tableone。
步骤6:保存查询,输入查询文件名queryone.qpr,单击工具栏上的运行按钮后关闭查询设计器。
(2)【操作步骤】
步骤1:选择文件→新建→数据库→新建文件命令,输入数据库名为order_m对文件进行保存。
步骤2:向新建的数据库中依次添加\employee\和\order\两个表。
步骤3:新建一个视图,在\添加表或视图\对话框中添加\employee\表和\order\表到视图设计器中。
步骤4:在\字段\选项卡中选择职员号、姓名、订单号、签订日期、金额5个字段;切换到\筛选\选项卡,设置筛选条件为\组别=1\,切换到\排序依据\中选择字段\职员号\,在\排序选项\处选择\升序\,按\金额\降序排序,保存视图为viewone。
步骤5:新建一个查询,在\添加表或视图\对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo,保存并运行该查询,文件名为默认。
打开考生文件夹下的DB数据库,完成如下简单应用:
1.编写一个名为FOUR.PRG的程序,根据表TABA中所有记录的a,b,c三个字段的值,计算各记录的一元二次方程的两个根x1和x2,并将两个根x1和x2写到对应的字段x1和x2中,如果无实数解,在note字段中写入\无实数解\。提示:平方根函数为SQRT();程序编写完成后,运行该程序计算一元二次方程的两个根。注意:一元二次方程公式如下:
2.打开名为testA的表单,其中有两个命令按钮,界面要求如下:
(1)设置两个按钮的高度均为30,宽度均为80,\退出\按钮与\查询\按钮顶边对齐。 (2)\查询\按钮的功能是在该按钮的Click事件中使用SQL的SELECT命令从表TABA中查询\无实数解\的记录并存储到表TABD中。
(3)\退出\按钮的功能是关闭并释放表单。 请按要求完成表单的设计,表单设计完成后,运行该表单,并单击\查询\按钮进行查询。
(1)【操作步骤】
新建程序four,并输入以下命令:
********\程序文件中的代码******** CLOS ALL USE TABA SCAN
IF A<>0 AND B*B-4*A*C >=0
REPL x1 WITH (-B+SQRT(B*B-4*A*C))/(2*A),x2 WITH (-B-SQRT(B*B-4*A*C))/(2*A) ELSE
REPL NOTE WITH \无实数解\ENDIF ENDSCAN
*************************************** 最后保存运行程序。 (2)【操作步骤】
步骤1:打开表单\testA\。 步骤2:按Shift的同时选中\查询\和\退出\两个按钮,然后在属性窗口设定它们的Height属性为30,Width属性为80,在系统菜单中选择\格式\→\对齐\→\顶边对齐\。
步骤3:在\查询\按钮的Click事件中输入下列代码。 ********\程序文件中的代码******** SELECT *;
FROM TABA;
WHERE TABA.note = \无实数解\ INTO TABLE TABD.dbf
***************************************
步骤4:在\退出\命令按钮的Click事件中输入\ThisForm.Release\。保存并运行表单。
在考生文件夹下完成如下简单应用:
1.通过一对多表单向导新建一个名为sport_form的表单。要求:把\国家\作为父表并选择\国家名称\字段作为显示字段,\获奖牌情况\为子表并选择\项目名称\和\名次\字段作为显示字段,通过\国家代码\字段建立两表之间的关系,表单样式为\阴影式\,按钮类型为\图片按钮\,按\国家名称\升序排列,表单标题为\奥运会获奖情况\。
2.在SPORT数据库中使用视图设计器建立一个名为sport_view的视图,该视图根据\国家\和\获奖牌情况\两个表统计每个国家获得的金牌数(\名次\为1表示获得一块金牌),视图中包括\国家名称\和\金牌数\两个字段,视图中的记录先按\金牌数\降序排列,金牌数相同的再按国家名称降序排列。
【解题思路】 通过一对多表单向导完成表单的创建,通过视图设计器新建视图,按要
求设置视图。
(1)【操作步骤】
步骤1:通过一对多表单向导新建一个表单。 步骤2:在\从父表中选定字段\对话框中,将\国家\表中的\国家名称\字段添加到\选定字段\框中。
步骤3:在\从子表中选定字段\对话框中,将\获奖牌情况\表中的\项目名称\和\名次\字段添加到\选定字段\框中。
步骤4:在\建立表之间的关系\对话框中,直接单击\下一步\按钮。
步骤5:在\选择表单样式\对话框中,选中\样式\列表框中的\阴影式\项,选中\按钮类型\列表中的\图片按钮\单选按钮,单击\下一步\按钮。
步骤6:在\排序次序\对话框中,按\国家名称\升序排序记录。 步骤7:完成表单设计,输入表单标题为\奥运会获奖情况\,表单文件名为\sport_form\。 (2)【操作步骤】
步骤1:打开考生文件夹下的数据库sport,新建一个视图并将\国家\和\获奖牌情况\两个表添加到新建的视图中。
步骤2:在字段选项卡中,添加字段\国家名称\到选定字段中,并添加一个表达式:count(获奖牌情况.名次) as 金牌数,将表达式添加到选定字段中。
步骤3:在\筛选\选项卡中设置条件为\获奖牌情况.名次=1\
步骤4:在\排序依据\选项卡中,选择降序,并添加字段\金牌数\和\国家名称\到排序条件列表框中。
步骤5:在分组依据选项卡中添加字段\国家名称\到分组等段列表框中。 步骤6:保存视图名为sport_view并运行视图。
在考生文件夹下完成如下简单应用:
1.程序文件rate_pro的功能是计算出\林诗因\所持有的全部外币相当于人民币的数量,summ中存放的是结果。注意:某种外币相当于人民币数量的计算公式:人民币数量=该种外币的\现钞买入价\*该种外币的\持有数量\。请在指定位置修改程序语句,不得增加或删除程序行,并保存所做的修改。
2.建立一个名为menu_rate的菜单,菜单中有两个菜单项\查询\和\退出\。\查询\项中还有一个子菜单,子菜单有\日元\、\欧元\和\美元\3个选项。在\退出\菜单项下创建过程,该过程用于返回系统菜单。
【解题思路】用LOCATE命令定位记录位置的命令格式是\LOCATE FOR 条件表达式\,而没有\FIND FOR\格式的命令;WHILE循环语句的格式为:
DO WHILE 条件表达式 语句体 ENDDO
因为\持有数量\是currency_sl表中的字段,而不是rate_exchange表中的字段,故应将\rate_exchange.持有数量\改为\currency_sl.持有数量\。
(1)【操作步骤】
步骤1:打开程序rate_pro。修改程序如下: 第1处错误改为:locate for 姓名=\林诗因\ 第2处错误改为:do while not eof()
第3处错误改为:summ=summ+a[1] * currency_sl.持有数量
步骤2:保存并运行程序。 (2)【操作步骤】
步骤1:新建一个菜单,输入菜单项\查询\和\退出\。
步骤2:为\查询\菜单建立子菜单,子菜单项的名称分别为\日元\、\欧元\和\美元\。 步骤3:为\退出\菜单项创建过程,输入\set sysmenu to default\。
步骤4:保存菜单为menu_rate并生成可执行程序,最后运行菜单,查看运行结果。
1.在考生文件夹下创建一个名为formone的表单文件,其中包含一个标签(Label1)、一个文本框(Text1)和一个命令按钮(Command1),如下图所示,然后按要求完成相应操作。
(1)如上图所示设置表单、标签和命令按钮的Caption属性。 (2)设置文本框的Value属性值为表达式\Date()\。
(3)编写\查询\按钮的Click事件代码,使得表单运行时,单击该按钮完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期3项内容,各记录按出生日期降序排列,查询去向为表tableone。
运行该表单,查询1980年1月1日以后出生的客户。
2.向名为\订单管理\的数据库(在基本操作题中建立)添加orderitems表。在数据库中创建视图viewone:利用该视图可以从orderitems表中查询各商品的订购总量,查询结果依次包含商品号和订购总量两项内容,即所有订单对该商品的订购数量之和,各记录按商品号升序排列。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
【解题思路】 新建表单,按要求添加控件并修改控件的相关属性,写入命令按钮的Click事件代码;打开数据库设计器,新建视图,并按要求设计视图。
(1)【操作步骤】
步骤1:在命令窗口输入\Crea form formone\,新建一个表单,按题目要求添加控件并修改控件的属性,将customers表添加到数据环境中。
步骤2:然后将Text1的Value属性设置为\date()\,编写\查询\按钮的Click事件代码如下。 ******\查询\按钮的Click事件代码****** x = ThisForm.Text1.Value
SELECT Customers.姓名, Customers.性别, Customers.出生日期; FROM customers;
WHERE Customers.出生日期 >= x; ORDER BY Customers.出生日期 DESC; INTO TABLE tableone.dbf *************************
步骤3:保存并运行表单,查看表单的运行结果。