第17套
一、基本操作題(共四小題,第1和2題是7分、第3和4是8分)
在考生文件夾下完成下列操作:
1.打開名稱為SDB的學生數(shù)據(jù)庫,分別為學生表Student、選課成績表SC和課程表Course創(chuàng)建主索引。Student表主索引的索引名和索引表達式均為"學號";Course表主索引的索引名和索引表達式均為"課程號";SC表的主索引名為PK_SC,索引表達式為"學號"+"課程號"的字段組合。
2.通過字段"學號"建立Student表與SC表之間的永久聯(lián)系、通過字段"課程號"建立Course表與表SC之間的永久聯(lián)系。并為以上建立的永久聯(lián)系設置參照完整性約束:更新規(guī)則為"級聯(lián)";刪除規(guī)則為"級聯(lián)";插入規(guī)則為"限制"。
3.使用SQL語句將學號為"s3"的學生記錄從表Student中邏輯刪除,并將該SQL語句存放在文件ONE.PRG中。
4.創(chuàng)建一個名為Project_S的項目文件。將學生數(shù)據(jù)庫SDB添加到該項目中。
二、簡單應用(2小題,每題20分,計40分)
在考生文件夾下,打開商品銷售數(shù)據(jù)庫CDB,完成如下簡單應用:
1.使用一對多報表向導建立名稱為P_ORDER的報表。要求從父表顧客表CUST中選擇所有字段,從子表訂單表ORDER中選擇所有字段;兩表之間采用"顧客號"字段連接;按"顧客號"字段升序排序;報表樣式為"經(jīng)營式",方向為"縱向";報表標題為"顧客訂單表"。然后修改該報表,在頁注腳中增加一個標簽"制表人:王愛學";該標簽水平居中,標簽中的":"為中文的冒號。
2.修改一個名稱為TWO.PRG的命令文件。該命令文件統(tǒng)計每個顧客購買商品的金額合計(應付款),結果存儲在臨時表ls中。然后用ls中的每個顧客的數(shù)據(jù)去修改表scust對應的記錄。該命令文件有3行語句有錯誤,打開該命令文件進行修改。
注意:直接在錯誤處修改,不可改變SQL語句的結構和短語的順序,不允許增加、刪除或合并行。修改完成后,運行該命令文件。
本題主要考核點:使用報表向導制作表單、表單報表的使用、修改程序文件。
解題思路:
第1題:啟動報表向導可在"文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對話框,文件類型選擇報表,單擊向導按鈕,在"向導選取"對話框中選擇"一對多報表向導",然后按照報表向導操作即可。然后打開該報表,在頁注腳中增加一個標簽控件,輸入:"制表人:王愛學",選中該標簽,再選擇"格式"菜單下的"對齊"子菜單下的"水平對齊"。
第2題:利用"文件"菜單下的"打開"命令打開程序文件TWO.PRG。將命令文件修改為:
CLOSE DBF
PRIVATE no,money
USE scust
*下面的一行語句有錯誤
SELECT 顧客號,sum(數(shù)量*單價) 應付款 ;
FROM order JOIN comm ON order.商品號 = comm.商品號 ;
GROUP BY 顧客號 ;
INTO CURSOR ls
SELECT scust
*下面的一行語句有錯誤
DO WHILE .NOT. EOF()
no = 顧客號
SELECT ls
LOCAT FOR 顧客號 = no
money = 應付款
SELECT scust
*下面的一行語句有錯誤
REPLACE 應付款 WITH money
SKIP +1
ENDDO
CLOSE TABLE
RETURN
三、綜合應用(1小題,計30分)
在考生文件夾下,打開名稱為CDB的商品銷售數(shù)據(jù)庫,完成如下綜合應用:
創(chuàng)建一個標題名為"顧客購買商品查詢"、文件名為GK的表單,如下圖所示。
表單要求如下:
1.在該表單中設計兩個標簽、兩個文本框、一個表格控件和兩個命令按鈕。
2.表單中兩個標簽的名稱分別為Label1和Label2,其標題分別為"顧客號"和"應付款";兩個文本框的名稱分別為Text1和Text2,前者用于輸入查詢的顧客號,后者用于顯示該顧客的應付款;表格Grid1用于顯示顧客購買商品的詳細記錄。
3.兩個命令按鈕的功能如下:
(1)"查詢"按鈕(Command1)
在該按鈕的Click事件中編寫程序,采用SQL語句根據(jù)第1個文本框輸入的顧客號進行查詢。在表格控件中顯示該顧客的顧客號和購買的每件商品的商品號、商品名、單價、數(shù)量和金額,各記錄按商品號升序排序。該查詢結果應同時存儲到表tjb.dbf中。另外需要統(tǒng)計該顧客的應付款,并將結果顯示于Text2文本框中。
說明:金額=單價*數(shù)量,應付款=顧客購買的商品金額合計
(2)"退出"按鈕(Command2):關閉并釋放表單。
注意:表格控件的RecordSourceType屬性設置為"4-SQL說明";
表單設計完成后,運行該表單,輸入顧客號:010003,單擊"查詢"按鈕進行查詢。
本題主要考核點:表單文件的創(chuàng)建、控件的屬性的修改、SQL語句運用、表單的退出。
解題思路:
、僭诿畲翱谳斎朊睿篊REATE FORM GK,打開表單設計器窗口。
、谠诒韱紊咸砑痈鳂撕、文本框、表格、命令按鈕,并進行適當?shù)牟贾煤痛笮≌{整。
③根據(jù)題面要求設置各標簽、表格、命令按鈕以及表單的屬性值。
④將表格Grid1的RecordSourceType屬性值設置為"4-SQL說明"。
、菰O置"查詢"按鈕的Click事件代碼:
ThisForm.Grid1.RecordSource="SELECT Order.顧客號,Comm.商品號,商品名,單價,數(shù)量,Comm.單價* Order.數(shù)量 as 金額 FROM cdb!comm INNER JOIN cdb!order ON Comm.商品號=Order.商品號 WHERE 顧客號=ALLTRIM(ThisForm.Text1.Value) order by Comm.商品號 INTO TABLE tjb"
SELECT sum(Comm.單價* Order.數(shù)量) FROM cdb!comm INNER JOIN cdb!order ON Comm.商品號=Order.商品號 WHERE 顧客號=ALLTRIM(ThisForm.Text1.Value) INTO ARRAY temp
ThisForm.Text2.Value=temp
、拊O置"退出"按鈕的Click事件代碼:
THISFORM.RELEASE
、弑4姹韱尾⑦\行,在文本框中輸入"010003",單擊"查詢"命令按鈕進行計算。最后,單擊"退出"命令按鈕結束。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |