问题 问答题

在考生文件夹下完成如下简单应用:

(1)将customer1表中的全部记录追加到customer表中,然后用SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的order_list记录的customer表中的记录),同时要求按客户号升序排序,并将结果存储到results表中(表结构与customer表结构相同)。

(2)打开并按如下要求修改form1表单文件(最后保存所做的修改s):

①在“确定”命令按钮的Click事件(过程)下的程序有两处错误,请改正之;

②设置Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。

答案

参考答案:

(1)在命令窗口输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口中输入如下程序段:

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

SET TALK OFF

CLOSE ALL

USE customer

ZAP

USE eustomer1

DO WHILE !EOF()

SCATTER TO arr1

INSERT INTO customer FROM ARRAY arr1

SKIP

ENDDO

SELECT DISTINCT customer.*;

FROM 订货管理!customer INNER JOIN订货管理!order_list;

ON customer.客户号=order_list.客户号;

ORDER BY customer.客户号;

INTO TABLE results.dbf

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

在命令窗口输入命令:DO query1,程序将查询结果自动保存到新表results中。

(2)在命令窗口输入命令:MODIFY FORM form1,打开表单form1.scx。

双击表单中的“确定”命令按钮,进入命令按钮的事件编辑窗口,在Click事件中的程序段如下:

*******“确定”命令按钮Click事件的源程序*******

&&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单;

&&否则重新输入用户名和口令。

If Thisform.Text1=Thisform.Text2 &&********Error****************

WAIT“欢迎使用……”WINDOW TIMEOUT/1

Thisform.Close &&**********Error********************

Else

WAIT“用户名或口令不对,请重新输入……”WINDOW TIMEOUT1

Endif

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

修改程序中的错误,正确的程序如下;

****“确定”命令按钮Click事件修改后的程序****

If Thisform.Text1.Text=Thisform.Text2.Text && 缺少属性Text

WAIT“欢迎使用……”WINDOW TIMEOUT1

Thisform.Release && 语法错误,关闭表单应该为Release

Else

WAIT“用户名或口令不对,请重新输入……”WINDOW TIMEOUT1

Endif

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

选中表单中的第二个文本框控件(Text2),在属性面板中修改该控件的PassWordChar属性值为“*”,如图3-54示,保存修改结果。

解析:

本大题1小题考查了SQL的基本查询语句,在此处需要注意的是当表建立了主索引或候选索引时,向表中追加记录必须用SQL的插入语句,而不能使用APPEND语句,为避免出现重复记录,可加入短语DISTINCT;2小题表单控件的程序改错中,应注意常用属性和方法的设置,例如关闭表单控件不是通过CLOSE,而是利用Release,对于文本框控件的属性,比较重要的一个文本输出属性为PasswordChar,控制输出显示的字符。

单项选择题
单项选择题