一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生目錄下完成下列操作(在"成績管理"數(shù)據(jù)庫中完成):
1. 為"學(xué)生"表在"學(xué)號"字段上建立升序主索引, 索引名為學(xué)號;
2. 為"學(xué)生"表的"性別"字段定義有效性規(guī)則, 規(guī)則表達(dá)式為 性別$"男女"
出錯提示信息是: "性別必須是男或女"。
3. 在"學(xué)生"表的"性別"和"年齡"字段之間插入一個"出生日期"字段,數(shù)據(jù)類型為"日期型"(修改表結(jié)構(gòu));
4.用SQL的UPDATE命令將學(xué)生"王三風(fēng)"的出生日期修改為1983年5月1日,并將該語句粘貼在SQL.TXT文件中(第一行、只占一行)。
解答:
打開數(shù)據(jù)庫"成績管理",用鼠標(biāo)右鍵單擊表“學(xué)生”,在出現(xiàn)的快捷菜單中選“修改”,進(jìn)入表設(shè)計器后,建立索引、設(shè)置字段有效性規(guī)則和插入字段,第4小題可用以下命令:
update 學(xué)生 set 出生日期={^1983-05-01} where 姓名=”王三鳳”
二、簡單應(yīng)用(2小題,每題20分,計40分)
1. 用SQL語句查詢至少有三門的課程成績在70分以上(包括70分)的學(xué)生姓名,并將結(jié)果按升序存入表文件results.dbf,然后將該SQL語句粘貼在SQL.TXT文件的第二行(只占一行)。
解答:
select 學(xué)生.姓名 from成績管理!選課 inner join 成績管理!學(xué)生;
On 選課.學(xué)號=學(xué)生.學(xué)號 Where 選課.成績>=70 Group By 學(xué)生.姓名;
Having count(選課.課程號)>=3 Order by 學(xué)生.姓名 Into table results.dbf
注意:運(yùn)行后,一定要將當(dāng)前輸入的命令保存到SQL.txt文本文件中去。
2.modi.prg程序的功能是:先為"學(xué)生"表增加一個"平均成績"字段,數(shù)據(jù)類型為N(6,2);然后根據(jù)"選課"表統(tǒng)計每個學(xué)生的平均成績,并寫入新添加的字段。該程序有三處錯誤,請改正之,使程序能正確運(yùn)行(在指定處修改,不允許增加或刪除程序行)。
解答:
*************Error*************
modify table 學(xué)生 Add 平均成績 N(6,2)
錯誤1:modify改為:Alter
*************Error*************
Do while Eof()
錯誤2:eof()記錄指針是否指向表的尾部,因改為”! eof()”
*************Error*************
replace 平均成績 = cj[1]
錯誤3:語法錯誤:改=為:with
三、綜合應(yīng)用(1小題,計30分)
在考生文件夾下,完成如下綜合應(yīng)用:
(1) 根據(jù)"成績管理"數(shù)據(jù)庫中的"學(xué)生"、"課程"和"選課"三個表建立一個名為view_grade的視圖,該視圖包含學(xué)號、姓名、課程名稱和成績四個字段,并要求先按學(xué)號升序排序、在學(xué)號相同情況下按課程名稱降序排序;
(2) 建立一個表單grade_list(控件名為form1,文件名為grade_list),表單
中含有一個表格(名稱為grdView_grade)控件, 該表格控件的數(shù)據(jù)源是前面建立的視圖view_grade;然后在表格控件下面添加一個命令按鈕(名稱為Command1),該命令按鈕的標(biāo)題為"退出",要求單擊按鈕時關(guān)閉表單。
解答:
1.打開成績管理數(shù)據(jù)庫,單擊鼠標(biāo)右鍵,新建本地視圖。按要求操作,完成后保存。
2.新建表單,添加控件,對表單中的表格控件,先改其控件名:也就是Name屬性。設(shè)置表格數(shù)據(jù)中兩項屬性:表格的recordsourcetype=0(數(shù)據(jù)源的類型)和Recordsource=view_grade(數(shù)據(jù)源)。
附相關(guān)數(shù)據(jù)表:
課程.dbf
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |