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

admin2013-03-31  37

问题 (1)将customer1表中的全部记录追加到customer表中,然后用SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的order list记录的customer表中的记录),同时要求按“客户号”升序排序,并将结果存储到results表中(表结构与customer表结构相同)。
    (2)打开并按如下要求修改form1表单文件(最后保存所做的修改):
    ①在“确定”命令按钮的Click事件(过程)下的程序有两处错误,请改正。
    ②设置Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。

选项

答案(1)步骤1:在命令窗口执行命令: SELECT * FROM customer1 INTO ARRAY temp INSERT INTO customer FORM ARRAY temp 将customer1 表中的记录全部复制到customer表中。 步骤2:在命令窗口执行命令: SELECT DISTINCT Customer.*; && DISTINCT短语的功能是消除查询结果中相同的记录FROM 订货管理!customer INNER JOIN订货管理!order_list; ON Customer.客户号=Order_list.客户号; ORDER BY Customer.客户号; INTO TABLE results.dbf (2)步骤1:在命令窗口执行命令:MODIFY FORM form1,打开表单设计器修改表单。 步骤2:双击表单中的“确定”按钮,看到该按钮的Click事件中代码如下: &&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单 &&否则重新输入用户名和口令 *****ERROR***** IF THISFORM.TEXT1.=THISFORM.TEXT2 WAIT"欢迎使用……"WINDOW TIMEOUT 1 *****ERROR***** THISFORM.CLOSE ELSE WAIT"用户名或口令不对,请重新输入……"WINDOW TIMEOUT 1 ENDIF 修改后的代码如下: IF THISFORM.TEXT1.VALUE = THISFORM.TEXT2.VALUE &&原代码语句中缺少指定VALUE属性 WAIT"欢迎使用……"WINDOW TIMEOUT 1 THISFORM.RELEASE &&关闭表单的短语是RELEASE,而不是CLOSE ELSE WAIT"用户名或口令不对,请重新输入……"WINDOW TIMEOUT 1 ENDIF 步骤3:选中表单中的文本框(TEXT2)控件,在属性面板中修改PasswordChar属性值为:*。 步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。

解析 (1)本题考查的是SQL联接查询。其中Customer(客户表)和Order_list(订单表)的联接条件为两个表中“客户号”相等的记录,表示在Customer表中的客户在Order list 表中有订购记录;由于一个客户可能对应多条订购记录,因此,需要使用DISTINCT短语消除查询结果中重复的记录。
    另外,排序的短语为ORDER BY,降序的关键字为DESC,默认的排序方式为升序方式(ASC),将查询结果保存到永久性表中应使用INTO TABLE短语。
    对于SQL语句不太熟悉的考生,本题还可以直接通过查询设计器完成,然后将查询设计器中生成的SQL代码保存到文本文件中。
    (2)本题主要考查了表单属性及方法。在表单设计中,文本框中所显示的数据值可以通过Value属性获得,本题提供的源程序中,第一处错误便是缺少该属性。例如,“THISFORM.TEXT1”只能表示表单中的一个控件,如果要设计该控件的属性设置,则必须在该语句后面继续表示完整。
    第二处错误是对表单常用方法的考查。用来释放和关闭表单的方法是Release,而并非close。
转载请注明原文地址:https://jikaoti.com/ti/iwZ0FFFM
0

最新回复(0)