版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
國家二級VF機試(操作題)模擬試卷12(共9套)(共27題)國家二級VF機試(操作題)模擬試卷第1套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)打開“訂單管理”數(shù)據(jù)庫,然后從中刪除customer。表。(2)為employee表建立一個普通索引,索引名為xb,索引表達式為“性別”,升序索引。(3)為employee表建立一個普通索引,索引名為xyz,索引表達式為“str(組別,1)+職務(wù)”,升序索引。(4)為employee表建立主索引,為orders建立普通索引,索引名和索引表達式均為“職員號”。通過“職員號”在employee表和orders之間建立一個一對多的永久聯(lián)系。標準答案:【操作步驟】(1)在命令窗口執(zhí)行命令:MODIFYDATABASE訂單管理,打開數(shù)據(jù)庫設(shè)計器。右擊數(shù)據(jù)庫設(shè)計器中的“customer”表,選擇【刪除】快捷菜單命令,在彈出的Visual.FoxPro對話框中單擊“刪除”按鈕,將“customer”表永久性刪除。(2)接上小題操作,在數(shù)據(jù)庫設(shè)計器中右擊數(shù)據(jù)庫設(shè)計器中的employee表,選擇【修改】快捷菜單命令,打開employee表設(shè)計器,選中“索引”選項卡,在“索引名”下方的文本框中輸入“xb”,在“索引”選項卡中將“類型”選擇為“普通索引”,在“表達式”下方的文本框中輸入“性別”。(3)接上小題操作,繼續(xù)在表設(shè)計器的“索引”選項卡的第二行中,輸入“索引名”為“xyz”,在“索引”選項卡中將“類型”選擇為“普通索引”,在“表達式”下方的文本框中輸入:STR(組別,1)+職務(wù)。(4)①接上小題操作,繼續(xù)在表設(shè)計器的“索引”選項卡的第三行中,輸入“索引名”為“職員號”,在“索引”選項卡中將“類型”選擇為“主索引”,在“表達式”下方的文本框中輸入“職員號”,單擊“確定”按鈕保存表結(jié)構(gòu)修改。②參照以上操作,為orders表建立一個“職員號”字段的普通索引。在數(shù)據(jù)庫設(shè)計器中拖動employee表“索引”下方的主索引“職員號”到orders表中“索引”下方的普通索引“職員號”上,為兩個表建立聯(lián)系。知識點解析:暫無解析二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)在考生文件夾下已有表單文件formone.scx,如圖2—35所示,其中包含兩個標簽、一個組合框和一個文本框。請按下面要求完成相應(yīng)的操作,使得當表單運行時,用戶能夠從組合框選擇職員,而該職員所簽訂單的平均金額能自動顯示在文本框里。①將orders表和employee表依次添加到該表單的數(shù)據(jù)環(huán)境中(不要修改兩個表對應(yīng)對象的各屬性值)。②將組合框設(shè)置成下拉列表框;將employee表中的“姓名”字段作為下拉列表框條目的數(shù)據(jù)源(RowSourlceType屬性值應(yīng)設(shè)置為:6-字段)。③將文本框Text1設(shè)置為只讀。④修改組合框的InteractiveChange事件代碼,使得當用戶從組合框選擇職員時,能夠?qū)⒃撀殕T所簽訂單的平均金額自動顯示在文本框中。(2)利用查詢設(shè)計器創(chuàng)建查詢,從employee和orders表中查詢“組別”為“1”的組各職員所簽所有訂單的信息。查詢結(jié)果依次包含“訂單號”、“金額”、“簽訂者”3項內(nèi)容,其中“簽訂者”為簽訂訂單的職員姓名。各記錄按“金額”降序排序;查詢?nèi)ハ驗楸韙ableone。最后將查詢保存在queryone.qpr文件中,并運行該查詢。標準答案:(1)【操作步驟】步驟1:在命令窗口執(zhí)行命令:MODIFYFORMformone,打開表單設(shè)計器修改表單。步驟2:右擊表單選擇【數(shù)據(jù)環(huán)境】快捷菜單命令,繼續(xù)在表單數(shù)據(jù)環(huán)境中單擊右鍵選擇【添加】快捷菜單命令,在“添加表或視圖”對話框中雙擊orders表和employee表,將表添加到數(shù)據(jù)環(huán)境中。步驟3:在“屬性”面板的下拉框中選擇表單對象,在“全部”選項卡中修改對象屬性值,見表3—37。步驟4:雙擊表單中的組合框(Combo1),修改事件代碼,組合框的原InteractiveChange事件代碼如下:*下面代碼的功能是讀取所選職員的職員號,然后計算該職員所簽訂單的平均金額,并顯示在丈本框內(nèi)。*修改所有***FOUND***下面的一條語句。*不能修改其他語句,不能增加語句,也不能刪除語句。1dimea(1,1)2a(1,1)=03m1=employee.職員號4selectavg(金額)fromrderswhere職員號=m1intoarrava5m2=a(1,1)6***found***7text1.value=m2修改程序中的錯誤行,修改后的程序如下:1dimea(1,1)2a(1,1)=03m1=employee.職員號4selectavq(金額)fromorderswhere職員號=m1intoarrava5m2=a(1,1)6***FOUND***7thisform.text1.value=m2步驟5:單擊“常用”:工具欄中的“運行”按鈕查行結(jié)果,將表單文件保存到考生文件件下。(2)【操作步驟】步驟1:在命令窗口執(zhí)行命令:OPENDATABASE訂單管理,打開數(shù)據(jù)庫環(huán)境。步驟2:在命令窗口執(zhí)行命令:CREATEQUERYquervone,打開查詢設(shè)計器,在“添加表或視圖”對話框中,分別雙擊employee表和orders表,將表添加到查詢設(shè)計器中。步驟3:添加兩個表后,系統(tǒng)彈出“聯(lián)接條件”對話框,自動查找兩個表中相匹配的字段進行聯(lián)接,單擊“確定”按鈕設(shè)置兩個表的聯(lián)系。步驟4:依次雙擊orders表中的“訂單號”和“金額”字段,添加到“字段”選項卡的“選定字段”列表中;然后在“字段”選項卡左下方的“函數(shù)和表達式”文本框中輸入:Employee.姓名AS簽訂者,再單擊“添加”按鈕將表達式添加到“字段”選項卡的“選定字段”列表中。步驟5:在“篩選”選項卡的“字段名”下拉列表中選擇“Employee.組別”字段,在“條件”下拉框中選擇“=”,在“實例”框中輸入“1”。步驟6:在“排序依據(jù)”選項卡內(nèi)雙出“選定字段”列表框中的“Orders.金額”字段,將字段添加到“排序條件”列表框中,在“排序選項”中選擇“降序”單選項。步驟7:執(zhí)行【查詢】→【查詢?nèi)ハ颉坎藛蚊睿趶棾龅摹安樵內(nèi)ハ颉睂υ捒蛑袉螕簟氨怼眻D標按鈕,接著在“表名”中輸入文件名tableone,單擊“確定”按鈕。步驟8:最后單擊“常用”工具欄中的“運行”按鈕查看結(jié)果,將查詢文件保存到考生文件夾下。知識點解析:暫無解析三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下創(chuàng)建一個下拉式菜單mymenu.mnx,并生成菜單程序mymenu.mpr。運行該菜單程序時會在當前VisualFoxPro系統(tǒng)菜單的“幫助”子菜單之前插入一個“考試”子菜單,如圖2—36所示。菜單命令“統(tǒng)計”和“返回”的功能都通過執(zhí)行過程完成。菜單命令“統(tǒng)計”的功能是以組為單位求訂單金額的和。統(tǒng)計結(jié)果包含“組別”、“負責人”和“合計”3項內(nèi)容,其中“負責人”為該組組長(由employee中的“職務(wù)”一指定)的姓名,“合計”為陔組所有職員所簽訂單的金額總和。統(tǒng)計結(jié)果應(yīng)按“合計”降序排序,并存放在tabletwo表中。菜單命令“返回”的功能是返回標準的系統(tǒng)菜單。菜單程序生成后,運行菜單程序并依次執(zhí)行“統(tǒng)計”和“返回”菜單命令。標準答案:【操作步驟】步驟1:在命令窗口執(zhí)行命令:CREATEMENUmymenu,在彈出的“新建菜單”對話框中單擊“菜單”圖標按鈕,打開菜單設(shè)計器。步驟2:在菜單設(shè)計器“菜單名稱”列的文本框中輸入“考試”,在“結(jié)果”下拉框中選擇“菜單”,單擊“創(chuàng)建”按鈕進入下級菜單設(shè)計,在“菜單名稱”列的第1、2行文本框中依次輸入子菜單名“統(tǒng)計”、“返回”,將“統(tǒng)計”和“返回”子菜單的“結(jié)果”都設(shè)置為“過程”,單擊“統(tǒng)計”子菜單行的“創(chuàng)建”命令按鈕,打開過程編輯框編寫過程代碼。步驟3:兩個子菜單的命令代碼如下:*****“統(tǒng)計”子菜單的過程代碼*****1SEIJECTEmployee.組別,SUM(Orders.金額)AS合計;2FROM訂單管理!employeeINNERJOIN訂單管理!0rders;3ONEmoloyee.職員號=orders.職員號;4GROUPBYEmployee.組別;5TNTOCURSORRES6SELECTRes.組別,Employee.姓名AS負責人,Res.合計;7FROMRes,Employee;8WHERERes.組別=Employee.組別;9ANDEmployee.職務(wù)="組長";10ORDERBYRes.合計DESC;11TNTOTABLEtabletwo.dbf****“返回”子菜單的命令代碼*****SETSYSMENUNOSAVESETSYSMENUTODEFAULT步驟4:執(zhí)行【顯示】→【常規(guī)選項】菜單命令,在“位置”區(qū)域選中“在…之前”單選項,然后在該選項后面出現(xiàn)的下拉框中選擇“幫助(H)”,則新建立的子菜單會在當前VisualFoxPro系統(tǒng)菜單的“幫助”菜單命令前顯示。步驟5:執(zhí)行【菜單】→【生成】菜單命令,在彈出的VisualFoxPro對話框中單擊“是”按鈕,接著系統(tǒng)會彈出“生成菜單”對話框,單擊“生成”按鈕生成一個呵執(zhí)行的菜單文件。步驟6:在命令窗口執(zhí)行命令:DOmymenu.mpr,運行菜單,并執(zhí)行“統(tǒng)計”菜單命令。知識點解析:暫無解析國家二級VF機試(操作題)模擬試卷第2套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)打開數(shù)據(jù)庫SCOREMANAGER,該數(shù)據(jù)庫中含三個有聯(lián)系的表STUDENT、SCORE1和COURSE,根據(jù)已經(jīng)建立好的索引,建立表之間的聯(lián)系。(2)為COURSE表增加字段:開課學(xué)期(N,2,0)。(3)為SCOR_El表“成績”字段設(shè)置字段有效。降規(guī)則:成績>=0,出錯提示信息足:“成績必須大r或等于零”。(4)將SCORE1表“成績”字段的默認值設(shè)置為空值(NULL)。標準答案:(1)①在命令窗口執(zhí)行命令:MODIFYDATABASEscore_manaqer,打開salary數(shù)據(jù)庫設(shè)計器。②在數(shù)據(jù)庫設(shè)計器中,拖動student表“索引”下方的主索引“學(xué)號”到score1表中“索引”下方的普通索引“學(xué)號”上,為兩個表建立聯(lián)系;拖動course表“索引”下方的主索引“課程號”到score1表中“索引”下方的普通索引“課程號”上,為兩個表建立聯(lián)系;(2)右擊數(shù)據(jù)庫設(shè)計器中的“course”表,選擇【修改】快捷菜單命令,打開course表設(shè)計器,在表設(shè)計器“字段”選項卡的“字段名”列的最后一個空白文本框中輸入字段名“開課學(xué)期”,在“類型”下拉框中選擇“數(shù)值型”,在“寬度”文本框中輸入“2”,保存表結(jié)構(gòu)修改。(3)在數(shù)據(jù)庫設(shè)計器中,右擊score1表,選擇【修改】快捷菜單命令,打開score1表設(shè)計器,在“字段”選項卡中選中“成績”,在“字段有效性”的“規(guī)則”文本框中輸入:成績>=0,在“信息”文本框中輸入:”成績必須大于或等于零”。(4)接上小題操作,單擊“成績”行中“NULL”列的無符號按鈕,使其按鈕被選中(被選中的按鈕上會出現(xiàn)一個“√”符號),在“默認值”文本框中輸入:.NULL.。保存表結(jié)構(gòu)修改。知識點解析:本大題考查了表結(jié)構(gòu)的修改;有效性規(guī)則的建立;永久聯(lián)系的建立。對表中字段建立有效性規(guī)則和設(shè)置默認值是在表設(shè)計器中操作的,在操作時要注意先選中需要建立有效性規(guī)則的字段。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)student是一個“學(xué)生”表,其中包含學(xué)號(C8)、姓名(C8)、性別(C2)、政治面目(C4)、班級(C5)等字段。考生文件夾下的modil.prg程序文件的功能是顯示輸出所有政治面目為“群眾”的“男”生的姓名和班級,每行輸出一個學(xué)生的信息;程序中有三處錯誤,請加以改正。說明:程序中******ERRORFOUND******的下一行即為錯誤所在行。請用改正后的程序行覆蓋錯誤所在行,不要插入或刪除任何程序行。(2)建立命令文件sprog.prg,該命令文件包含如下兩條語句:.第一條語句使用SQLUPDATE命令計算和更新student表的年齡字段值(計算年齡的表達式是year(dat())-year(出生日期))。.第二條語句使用SQLSELECT命令查詢各種“政治面目”的學(xué)生人數(shù)和平均年齡,并將結(jié)果存儲于表sqlresults(字段名是政治面目、人數(shù)和平均年齡)。說明:以上命令文件必須執(zhí)行,并產(chǎn)生所要求的結(jié)果。標準答案:(1)步驟1:在命令窗口執(zhí)行命令:MODIFYCOMMANDmodil,打開程序文件,文件中的命令代碼如下:1SETTALKOFF2USEstudent3LOCATEFOR政治面目="群眾"4"************error************DOWHILE.NOT.FOUND()5IF性別="男"6CONTINUE7************error***********BREAK8ENDIF97姓名,班級10************error************SKIP11ENDDO12USE13SETTALKON>修改程序中的錯誤行,修改后的程序如下:1SETTALKOFF2USEstudent&&打開student表3LOCATEFOR政治面目="群眾"&&查找當前記錄的“政治面目”為“群眾”4DOWHILEFOUND()&&循環(huán)條件為找到"政治而目"為"群眾"的記錄時進入循環(huán)5IF性別="男"&&如果性別為“女”,繼續(xù)執(zhí)行下面的語句,否則執(zhí)行ENDIF語句之后的語句6CONTINUE&&返回到循環(huán)體起始位置繼續(xù)重新判斷下一條記錄“政治面目”值是否為“群眾”7LOOP&&返舊到循環(huán)體起始位置,即DOWHILE處重新判斷,不再執(zhí)行后面的語句8ENDIF&&當IF處條件不成立時,直接執(zhí)行該語句后面的命令9?姓名,班級&&當前面的IF條件語句不成立時,執(zhí)行該語句,顯示當前記錄的“姓名”和“班級”值10CONTINUE&&返回到循環(huán)體起始位置繼續(xù)重新判斷下一條記錄"政治面目"值是行為"群眾"11ENDDO&&當DOWHILE處條件不成立時,直接退出循環(huán)體,執(zhí)行該語句后面的命令12USE&&關(guān)閉當前打開的表13SETTALKON步驟2:保存文件修改,在命令窗口執(zhí)行命令:DOmodil.prg,執(zhí)行程序文件。(2)步驟1:在命令窗口執(zhí)行命令:MODIFYCOMMANDsprog,打開程序文件編輯器。步驟2:在程序文件編輯器中輸入如下代碼(相關(guān)SQL查詢語句是通過查詢設(shè)計器生成):1UPDATEstudentSET年齡=YEAR(DATE())-YEAR(出生日期)2SELECTSTUDENT.政治面目,COUNT(STUDENT.學(xué)號)AS人數(shù),AVG(STUDENT.年齡)AS平均年齡;FROMstudent;4GROUPBYstudent.政治面目;5INTOTABLEsqlresults.dbf步驟3:保存文件修改,在命令窗口執(zhí)行命令:DOsprog.prg,執(zhí)行程序文件。知識點解析:(1)本題主要考查的是利用VisualFoxPro命令查詢定位數(shù)據(jù)表中的記錄。此類型的題主要通過一個DOWHILE循環(huán)語句對表中的記錄逐條比較,對滿足條件的記錄進行相關(guān)的操作。本題中第一處錯誤是循環(huán)條件的錯誤,進入循環(huán)體的條件是邏輯值為真,第二處錯誤中屬于命令短語錯誤,visualFoxPro中沒有BREAK命令,第三處錯誤是SKIP命令錯誤,該命令雖然可以將當前記錄指針指向下一條記錄,但不再執(zhí)行LOCATEFOR處的條件判斷,如果要包含判斷功能,則要使用CONTINUE短語。本題程段中各語句的功能可參考“操作步驟”中對各條語句的注釋說明,這里不再細說。(2)本題考查了SQL數(shù)據(jù)更新功能和分組計算查詢功能。本題數(shù)據(jù)更新語句可直接套用SQL更新語句的命令格式;對數(shù)據(jù)進行分組計算查詢時,用來計數(shù)的函數(shù)為COUNT(),用來求平均值的函數(shù)為AVG(),通過AS短語可以指定新的字段名,另外,對記錄進行分組時,分組字段要設(shè)置正確,根據(jù)題意,本題的分組字段應(yīng)為“學(xué)生”表中的“政治面目”字段。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下,打開名稱為CDB的商品銷售數(shù)據(jù)庫,完成如下綜合應(yīng)用:創(chuàng)建一個標題名為“顧客購買商品查詢”、文件名為GK的表單,如圖2.12所示。表單要求如下:①在該表單中設(shè)計兩個標簽、兩個文本框、一個表格控件和兩個命令按鈕。②表單中兩個標簽的名稱分別為Label1和Label2,其標題分別為“顧客號”和“應(yīng)付款”;兩個文本框的名稱分別為Textl和Text2,前者用于輸入查詢的顧客號,后者用于顯示該顧客的應(yīng)付款;表格Gridl用于顯示顧客購買商品的詳細記錄。③兩個命令按鈕的功能如下:“查詢”按鈕(Command1):在該按鈕的Click事件中編寫程序,采用SQL語句根據(jù)第1個文本框輸入的顧客號進行查詢。在表格控件中顯示該顧客的顧客號和購買的每件商品的商品號、商品名、單價、數(shù)量和金額,各記錄按商品號升序排序。該查詢結(jié)果應(yīng)同時存儲到表tjb.dbf中。另外需要統(tǒng)計該順客的應(yīng)付款,并將結(jié)果顯示于Text2文本框中。說明:金額=單價*數(shù)量,應(yīng)付款=顧客購買的商品金額合計?!巴顺觥卑粹o(Command2):關(guān)閉并釋放表單。注意:表格控件的RecordSour.ceType屬性設(shè)置為“4一SQL說明”。表單設(shè)計完成后,運行該表單,輸入顧客號:010003,單擊“查詢”按鈕進行查詢。標準答案:步驟1:在命令窗口執(zhí)行命令:CREATEFORMGK,打開表單設(shè)計器新建表單。步驟2:從“表單工具欄”中依次向表單添加兩個標簽、兩個文本框、一個表格控件和兩個命令按鈕控件。在“屬性”面板的下拉框中選擇表單對象,在“全部”選項卡中修改對象屬性值。見表3.12。步驟3:雙擊命令按鈕,編寫各個命令按鈕的Click事件代碼。各按鈕代碼如下:*****“查詢”按鈕的click事件代碼*****1GKH=THISFORM.TEXT1.VALUE2THISFORM.GRID1.RECORDSOURCE="SELECTOrder.顧客號,order.商品號,Comm.商品名,Comm.單價,Order.數(shù)量,;3Comm.單價*Order.數(shù)量as金額;4FROMcommINNERJOINorder;5ONComm.商品號=order.商品號;6WHEREOrder.顧客號=ALLTRIM(THISFORRM.TEXBT1.VALUE);7ORDERBY2;8INTOTABLEtjb.dbf"9SELECTSUMN(金額)FEOMTJBINTOARRAYA10THISFORM.TEXT2.VALUE=A(1)*****“退出”按鈕的Click事件代碼*****THISFORM.RELEASE步驟4:單擊“常用”工具欄中的“運行”按鈕運行表單,在文本框中輸入“010003”,單擊“查詢”命令按鈕,然后單擊“退出”命令按鈕結(jié)束。知識點解析:本題主要考查了表單及控件的常用屬性的設(shè)置;SQL的簡單查詢和聯(lián)接查詢。對本題操作時,首先根據(jù)題意新建表單,添加控件并修改其相關(guān)屬性。本題中的SQL程序設(shè)計部分考查的是SQL聯(lián)接查詢,屬于比較簡單的查詢語句,注意正確引用文本框中的值即可;本題的“應(yīng)付款”可以通過數(shù)組保存,然后再賦給第二個文本框用來顯示。國家二級VF機試(操作題)模擬試卷第3套一、基本操作題(本題共1題,每題1.0分,共1分。)1、在考生文件夾下,打開招生數(shù)據(jù)庫sdb,完成如下操作:(1)在ksb表中增加一個名為“備注”的字段、字段數(shù)據(jù)類型為“字符”、寬度為30。(2)在考生成績表kscjb中給成績字段設(shè)置有效性規(guī)則和默認值,成績>=0AND成績<=150;默認值為0。(3)通過“考生號”字段建立ksb表和kscjb表間的永久聯(lián)系,并為該聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為“級聯(lián)”;刪除規(guī)則為“限制”;插入規(guī)則為“忽略”。(4)使用報表向?qū)Ы⒁粋€簡單報表。要求選擇考生表ksb中所有字段;記錄不分組;報表樣式為_隨意式”;列數(shù)為1,字段布局為“列”,方向為“縱向”;排序字段為“考生號”(升序);報表標題為“考生成績一覽表”;報表文件名為one.frx。標準答案:(1)①命令窗口執(zhí)行:MODIFYDATABASEsdb,打開數(shù)據(jù)庫設(shè)計器。②數(shù)據(jù)庫設(shè)計器中,右擊ksb表選擇【修改】,打開ksb表設(shè)計器,“字段”選項卡的“字段名”列的最后一個空白文本框中輸入字段名“備注”,“類型”中選“字符型”,“寬度”中輸入“30”,單擊“確定”保存修改。(2)在數(shù)據(jù)庫設(shè)計器中,右擊kscjb表,選擇【修改】快捷菜單命令,打開kscjb表設(shè)計器,在“字段”選項卡中選中“成績”,在“字段有效性”的“規(guī)則”文本框中輸入:成績>=0and成績<2150,在“默認值”文本框中輸入:0。(3)①在數(shù)據(jù)庫設(shè)計器中,拖動kbs表“索引”下方的主索引“考生號”到kscjb表中“索引”下方的普通索引“考生號”上,為兩個表建立聯(lián)系。②選中ksb和kscjb兩個表之間的關(guān)聯(lián)線(被選中的線會變粗),先執(zhí)行【數(shù)據(jù)庫】→【清理數(shù)據(jù)庫】菜單命令,清空數(shù)據(jù)庫表中帶有刪除標記的記錄,然后執(zhí)行【數(shù)據(jù)庫】→【編輯參照完整性】菜單命令。在打開的“參照完整性”對話框的表格中:選擇“更新”為“級聯(lián)”;“刪除”為“限制”;“插入”為“忽略”。單擊“確定”保存修改。(4)①命令窗口執(zhí)行:OPENDATABASEsdb,打開sdb數(shù)據(jù)庫。②執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在“新建”中選“報表”,單擊“向?qū)А眻D標按鈕,“向?qū)нx取”中選“報表向?qū)А表?,單擊“確定”按鈕,啟動報表向?qū)?。③“步驟1.字段選取”的“數(shù)據(jù)庫和表”下選“ksb”表,將“可用字段”全部添加到“選定字段”中,單擊“下一步”按鈕。④“步驟2.分組記錄”中,單擊“下一步”。⑤“步驟3.選擇報表樣式”的“樣式”下選擇“隨意式”,單擊“下一步”⑥“步驟4.定義報表布局”的“列數(shù)”下輸入“1”,在“字段布局”下選擇“列”,在“方向”下選擇“縱向”,單擊“下一步”。⑦“步驟5.排序記錄”中雙擊“可用的字段或索引標識”中的“考生號”字段到“選定字段”列表中,再選擇“升序”,單擊“下一步”。⑧“步驟6.完成”中“報表標題”下輸入“考生成績一覽表”,單擊“完成”按鈕。⑨在“另存為”對話框的“保存報表為:”框中輸入報表文件名one,單擊“保存”按鈕。參照完整性、創(chuàng)建簡單報表。知識點解析:本題考查了表結(jié)構(gòu)的修改:有效性規(guī)則的建立及參照完整性的設(shè)置:報表向?qū)У氖褂?。在表設(shè)計器中對表中字段建立有效性規(guī)則和設(shè)置默認值是操作,要注意先選中需要建立有效性規(guī)則的字段。建參照完整性前要先建立兩個表的關(guān)聯(lián),且一個表中必須建立關(guān)聯(lián)字段的主索引(或候選索引),另一個表要建立普通索引,建立聯(lián)系后要先清理數(shù)據(jù)庫,再設(shè)置參照完整性。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾下,打開招生數(shù)據(jù)庫sdb,完成如下簡單應(yīng)用:(1)使用一對多表單向?qū)нx擇ksb表和kscjb表生成一個名為two的表單。要求從父表ksb中選擇所有字段,從子表kscjb中選擇所有字段,使用“考生號”建立兩表之間的關(guān)系,樣式為陰影式;按鈕類型為圖片按鈕;排序字段為考生號(來自ksb),升序;表單標題為“考生數(shù)據(jù)輸入維護”。(2)在考生文件夾下打開命令文件three.prg,該命令文件用來查詢所有成績都高于或等于平均分的學(xué)生的考生號和姓名。并將查詢結(jié)果存儲到表three中。注意,該命令文件在第3行、第6行、第9行有錯誤,打開該命令文件,直接在錯誤處修改,不可改變SQL語句的結(jié)構(gòu)和短語的順序,不允許增加、刪除或合并行。標準答案:(1)步驟1:命令窗口執(zhí)行:OPENDATABASEsdb,打開SDB數(shù)據(jù)庫。步驟2:執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在“新建”對話框中選“表單”選項,單擊“向?qū)А卑粹o,“向?qū)нx取”對話框中選“一對多表單向?qū)А表?,單擊“確定”,啟動向?qū)?。步驟3:“步驟1.從父表選擇字段”的“數(shù)據(jù)庫和表”下選“kbs”表,將“可用字段”全部添加到“選定字段”中,單擊“下一步”。步驟4:“步驟2.從子表選擇字段”的“數(shù)據(jù)庫和表”下選“kscjb"表,將“可用字段”全部添加到“選定字段”中,單擊“下一步”。步驟5:“步驟3.建立表之間的關(guān)系”中系統(tǒng)自動建立兩個表的聯(lián)系,單擊“下一步”。步驟6:“步驟4.選擇表單樣式”的“樣式”下選“陰影式”,在“按鈕類型”下“圖片按鈕”,單擊“下一步”。步驟7:“步驟5.排序次序”中雙擊“可用的字段或索引標識”中的“考生號”字段到“選定字段”列表中,再選擇“升序”,單擊“下一步”。步驟8:“步驟6.完成”中的“請鍵入表單標題”下方輸入“考生數(shù)據(jù)輸入維護”,單擊“完成”按鈕。步驟9:在“另存為”對話框的“保存表單為:”框中輸入表單文件名two,單擊“保存”按鈕。創(chuàng)建和運行表單。(2)步驟1:命令窗口執(zhí)行:MODIFYCOMMANDthree,打開three.prg程序,命令中的命令代碼如下:*該命令文件用來查詢所有成績都高于或等于平均分的學(xué)生的考生號和姓名。并將查詢結(jié)果存儲到表THREE中。*該命令文件在第3行、第6行、第9行有錯誤,打開該命令文件。*直接在錯誤處修改,不可改變SQL語句的結(jié)構(gòu)和短語的順序,不允許增加、刪除或合并行。SELECTAVG(成績);FROMkscjb;INTOCURSORtemSELECT考生號,姓名;FROMksb;WHERE考生號EXISTS;(SELECT*;FROMkscjb;WHERE成績<tem(1),考生號=ksb.考生號);INTOTABLEthree修改程序中的錯誤行,修改后的程序如下:SELECTAVG(成績);FROMkscjb;INTOARRAYtem&&將平均成績存放到數(shù)組array中SELECT考生號,姓名;&&外查詢:在ksb表中將每一個考生編號與內(nèi)查詢的結(jié)果做比較FROMksb;WHERENOTEXISTS;(SELECT*;&&在內(nèi)查詢中的kscjb表中判斷是否該考生編號有一門成績小于平均成績FROMkscjb;WHERE成績<tem(1)and考生號=ksb.考生號);INTOTABLEthree步驟2:保存文件修改,在命令窗口執(zhí)行命令:DOthree.prg,執(zhí)行程序文件。SQL簡單查詢、嵌套查詢。知識點解析:(1)本題主要考查的是表單向?qū)У氖褂谩?2)本題主要考查的是SQL簡單查詢和嵌套查詢。本題先用一個SQL簡單查詢獲得平均分,由于平均分是一個數(shù)字,并且以后還要將考生成績與該平均分進行比較,所以應(yīng)將其存放在一個數(shù)組中,而不是存放在臨時表中,所以應(yīng)將第一處錯誤INTOCURSORtemp改為INTOARRAYtemp。題中第二個SQL語句為嵌套查詢,使用了exists謂詞,用來檢查子查詢中是否有結(jié)果返回。根據(jù)本題要求,要查找所有成績都高于或等于平均分的學(xué)生的考生號和姓名,換句話說,也就是只要考生有一門成績小于平均分,該考生就不符合條件。查詢的基本過程是:對于外查詢中的ksb表中的每個考生號,在內(nèi)查詢中的kscjb表中判斷是否該考生編號有一門成績小于平均成績,只要有一門成績小于平均成績,該考生號都不該被查找出來,故第二處錯誤是在外查詢中的條件中應(yīng)使用notexists,而不是exists。在內(nèi)查詢中,條件“成績<temp(1)”和“考生號=ksb.考生號”應(yīng)該用AND聯(lián)接。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下,打開招生數(shù)據(jù)庫sdb,完成如下綜合應(yīng)用:①創(chuàng)建文件名為form的表單,將表單標題改為:錄取研究生。②在表單中設(shè)計“錄取”和“退出”兩個按鈕。兩個按鈕功能分別如下:在“錄取”按鈕(Commandl)中,編寫程序,查詢總成績大于或等于330分的考生的“考生號”、“姓名”、“性別”、“單位”和該生的“政治成績”、“外語成績”、“高數(shù)成績”(即高等數(shù)學(xué)成績)、“專業(yè)課成績”、“總成績”,并將結(jié)果按“總成績”降序排序存儲到表four中。表four(需要自己創(chuàng)建或生成)的字段名為:“考生號”、“姓名”、“性別”、“單位”、“政治成績”、“外語成績”、“高數(shù)成績”、“專業(yè)課成績”、“總成績”(各成績字段的類型為N(5,1),其他字段的類型與原表中一致)。單擊“退出”按鈕(Command2)時,關(guān)閉表單。③表單設(shè)計完成后,運行表單,單擊“錄取”按鈕進行統(tǒng)計,然后單擊“退出”按鈕關(guān)閉表單。注:在考試科目代碼表dm中存儲了各考試科目與考試科目名對應(yīng)關(guān)系。標準答案:步驟1:在命令窗口執(zhí)行命令:CREATEFORMform,打開表單設(shè)計器新建表單。向表單添加兩個命令按鈕。步驟2:選擇表單對象,修改屬性值,見表4—44。步驟3:雙擊命令按鈕,編寫各個命令按鈕的Click事件代碼如下:*****“錄取”按鈕的Click事件代碼*****OPENDATABASESDBSELECTKSB.考生號,姓名,性別,單位,SUM(成績)總成績FROMKSB,KSCJB;WHEREKSB.考生號=KSCJB.考生號GROUPBYKSB.考生號;HAVINGSUM(成績)>=330INTOCURSORTEMP1SELECT考生號,姓名,性別,單位FROMTEMPl;ORDERBY總成績DESCINTOTABLEFOURALTERTABLEFOURADD政治成績N(5,1)ALTERTABLEFOURADD外語成績N(5,1)ALTERTABLEFOURADD高數(shù)成績N(5,1)ALTER.TABLEFOURADD專業(yè)課成績N(5,1)ALTERTABLEFOURADD總成績N(5,1)SELECT考生號,考試科目名,成績FROMKSCJB,DMWHEREKSCJB.考試科目=DM.考試科目;INTOCURSORTEMP2SELECTFOURDOWHILENOTEOF()SELECT成績FROMTEMP2WHER考生號=FOUR.考生號AND考試科目名="政治";INTOARRAYA1REPLACE政治成績WITHA1SELECT成績FROMTEMP2WHER考生號=FOUR.考生號AND考試科目名="外語";INTOARRAYA2REPLACE外語成績WITHA2SELECT成績FROMTEMP2WHER考生號=FOUR.考生號AND考試科目名="高等數(shù)學(xué)";INTOARRAYA3REPLACE高數(shù)成績WITHA3SELE成績FROMTEMP2WHER考生號=FOUR.考生號AND考試科目名="專業(yè)課";INTOARRAYA4REPLACE專業(yè)課成績WITHA4REPLACE總成績WITH政治成績+外語成績+高數(shù)成績+專業(yè)課成績SKIPENDDOCLOSEDATABASE*****“退出”按鈕的Click事件代碼*****THISFORM.RELEASE步驟4:單擊“常用”工具欄中的“運行”按鈕運行表單,單擊“錄取”進行計算,單擊“退出”關(guān)閉表單?;拘涂丶?;表單的事件、方法和屬性;程序基本結(jié)構(gòu);SQL分組與計算查詢。知識點解析:本題主要考查的是表單的建立、常用屬性的設(shè)置、DOWHILE循環(huán)結(jié)構(gòu)和SQL分組計算查詢、SQL定義功能、VisualFoxPro修改記錄命令。本題基本解題思路可按以下步驟進行:第一步,根據(jù)ksb和kscjb兩張表,利用分組計算查詢求出總成績大于等于330分的考生的考生號、姓名、性別、單位和總成績,將結(jié)果保存到一個臨時表temp1中。這里,總成績用SUM函數(shù)實現(xiàn)。第二步,通過臨時表templ查找出“考生號”、“姓名”、“性別”、“單位”4個字段,并按總成績降序排序,將結(jié)果保存到表FOUR中。在這里,這四個字段正是題目中要求的FOUR表的前四個字段。第三步,分別用五個“ALTERTABLE”語句為FOUR表增加五個字段:政治成績、外語成績、高數(shù)成績、專業(yè)課成績和總成績。為表增加字段的關(guān)鍵字是ADD。此時,題目所要求的FOUR表的結(jié)構(gòu)已經(jīng)完成,并且前四個字段的值也已經(jīng)按要求完成了,下面的任務(wù)就是將后五個字段的值填充完整。第四步,根據(jù)dm和kscjb兩張表求出所有考生的考生號、考試科目名和成績,將結(jié)果保存到臨時表temp2中。第五步,將FOUR表作為當前表,將記錄指針指向文件首,然后開始執(zhí)行DOWHILE循環(huán)對FOUR表中的每條記錄進行處理。DOWHILE語句的循環(huán)條件是當記錄指針沒有到達FOUR表末尾時,執(zhí)行循環(huán)體中的語句。循環(huán)體功能:用SQL簡單查詢從臨時表temp2中求出與FOUR表當前所指記錄“考生號”相同并且“考試科目名”是“政治”的“成績”字段值,將該值保存到數(shù)組a1中,再通過REPLACE命令修改four表當前記錄的“政治成績”字段值。參照以上操作,可以將four表當前記錄的“外語成績”、“高數(shù)成績”和“專業(yè)課成績”三個字段值進行修改。而當前記錄的“總成績”字段值可以由當前記錄的“政治成績”、“英語成績”、“高數(shù)成績”和“專業(yè)課成績”的和得到。修改完畢后,four表的記錄指針指向下一條記錄,又開始繼續(xù)判斷表指針是否到達表末尾,如果沒有,則進入循環(huán)體繼續(xù)同樣的操作,直到four表的記錄指針指向表末尾,處理完four表中的所有記錄,程序結(jié)束。國家二級VF機試(操作題)模擬試卷第4套一、基本操作題(本題共1題,每題1.0分,共1分。)1、在考生文件夾下完成下列操作:1.新建“點歌”數(shù)據(jù)庫,將考生文件夾下的所有自由表添加到該數(shù)據(jù)庫中。2.新建一個項目“點歌系統(tǒng)”,將“點歌”數(shù)據(jù)庫添加進該項目。3.為“歌曲”表創(chuàng)建一個主索引,索引名為PK,索引表達式為“歌曲id”;再創(chuàng)建一個普通索引,索引名和索引表達式均為“演唱者”,以上索引都為升序。4.為“歌手”表創(chuàng)建一個主索引,索引名和索引表達式都為“歌手id”,升序。為“歌曲”和“歌手”表創(chuàng)建永久聯(lián)系,并設(shè)置參照完整性約束:更新規(guī)則為“級聯(lián)”,其他默認。標準答案:(1)步驟1:單擊常用工具欄“新建”按鈕或選擇菜單欄“文件”一“新建”命令,新建一個數(shù)據(jù)庫,在彈出的對話框中輸入文件名“點歌”,單擊“保存”按鈕,如圖4.19所示。步驟2:在打開的數(shù)據(jù)庫設(shè)計器中,右鍵單擊數(shù)據(jù)庫空白處,選擇“添加表”命令,將考生文件夾下的所有自由表添加到數(shù)據(jù)庫中,如圖4.20所示。(2)步驟1:單擊常用工具欄“新建”按鈕或選擇菜單欄“文件”一“新建”命令,新建一個項目,在彈出的對話框中輸入文件名“點歌系統(tǒng)”,如圖4.21所示。步驟2:在“數(shù)據(jù)”選項卡中單擊“添加”按鈕,將“點歌”數(shù)據(jù)庫添加進項目中,如圖4.22所示。(3)步驟1:在“數(shù)據(jù)庫設(shè)計器一點歌系統(tǒng)”中,右鍵單擊“歌曲”表,選擇“修改”命令,如圖4.23所示。步驟2:在打開的表設(shè)計器中,單擊“索引”選項卡,輸入索引名稱“PK”,類型設(shè)為“主索引”,表達式為“歌曲id’,,設(shè)置為升序。再輸入一個索引,名稱和表達式均為“演唱者”,類型設(shè)為“普通索引”,設(shè)置為升序,單擊“確定”按鈕保存對表的修改,如圖4.24所示。(4)步驟1:在“數(shù)據(jù)庫設(shè)計器一點歌系統(tǒng)”中,右鍵單擊“歌手”表,選擇“修改”命令,在打開的表設(shè)計器中,單擊“索引”選項卡,輸入索引名稱“歌手id”,類型設(shè)為“主索引”,表達式為“歌手id”,單擊“確定”按鈕,如圖4.25所示。步驟2:在數(shù)據(jù)庫設(shè)計器窗口下將“歌手”表中的“歌手id”拖動至“歌曲”表中的“演唱者”處,即可建立兩表間聯(lián)系,結(jié)果如圖4.26所示。步驟3:選擇“數(shù)據(jù)庫”一“清理數(shù)據(jù)庫”菜單命令,首先清理數(shù)據(jù)庫;在已建立的關(guān)系線上單擊鼠標右鍵,在彈出的快捷菜單中單擊“編輯參照完整性”按鈕,在“編輯參照完整性生成器”對話框中,選中“更新規(guī)則”選項卡下的“級聯(lián)”單選按鈕,其他默認。單擊“確定”按鈕,保存改變,生成參照完整性代碼并退出,如圖4.27所示。知識點解析:暫無解析二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾下完成如下簡單應(yīng)用:1.建立一個滿足下列要求的表單文件tab。(1)表單中包含一個頁框控件Pageframel,該頁框含有3個頁面:Page1、Page2、Page3,三個頁面的標題依次為“學(xué)生”、“課程”和“成績”。(2)將student(學(xué)生)表、colLrse(課程)表和score(成績)表分別添加到表單的數(shù)據(jù)環(huán)境中。(3)直接用拖曳的方法使得在頁框控件的相應(yīng)頁面上分別顯示student(學(xué)生)表、course(課程)表和score(成績)表的內(nèi)容。(4)表單中包含一個“退出”命令按鈕(Command1),單擊該按鈕關(guān)閉并釋放表單。2.給定表單modi2.scx,功能是:要求用戶輸入一個正整數(shù),然后計算從1到該數(shù)字之間有多少偶數(shù)、多少奇數(shù)、多少能被3整除的數(shù),并分別顯示出來,最后統(tǒng)計出滿足條件的數(shù)的總數(shù)量。請修改并調(diào)試該程序,使之能夠正確運行。改錯要求:“計算”按鈕的Click事件代碼中共有3處錯誤,請修改“***found***”下面語句行的錯誤,必須在原來位置修改,不能增加或刪減程序行(其中第一行的賦值語句不許減少或改變變量名)。“退出”按鈕的Click事件代碼中有一處錯誤,該按鈕的功能是關(guān)閉并釋放表單。標準答案:(1)步驟1:在命令窗口輸入“Createformtab”,按下回車鍵。新建一個表單文件tab,在表單控件中單擊相應(yīng)的控件,然后在表單上畫出一個頁框控件、一個命令按鈕。將頁框改為3個頁面,如圖3.89所示。步驟2:在頁框上單擊鼠標右鍵,在彈出的快捷菜單中選擇“編輯”項,設(shè)置頁框各頁的標題屬性,如圖3.90所示。Page1Caption學(xué)生Page2Caption課程Pase3Caption成績步驟3:在表單空白處單擊鼠標右鍵,在彈出的快捷菜單中單擊“數(shù)據(jù)環(huán)境”命令,為表單添加表“student”、“course”和“score”到數(shù)據(jù)環(huán)境中。步驟4:在頁框上單擊鼠標右鍵,選擇“編輯”命令,按題目的要求將表拖曳到相應(yīng)的頁框中,如圖3.91所示。步驟5:將命令按鈕的標題改為“退出”,輸入其Click事件“ThisForm.Release”。步驟6:保存并運行表單查看結(jié)果。(2)打開表單modi2,修改“計算”命令按鈕的Click事件,如圖3.92所示。以同樣的方式修改“退出”按鈕的Click事件代碼為:ThisForm.Release。知識點解析:在第1小題中,新建表單并添加控件,修改各控件的屬性值,其中頁框的PageCount屬性用于設(shè)置頁框中所含的頁面數(shù)。在第2小題中,第1處錯誤語句的功能是將數(shù)值0賦給3個內(nèi)存變量x1、x2、x3;第2處錯誤語句的功能是將文本框TEXT1中的值賦給變量x;根據(jù)題目的要求,第3處錯誤語句的功能是判斷一個數(shù)能否被3整除。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、(1)在考生文件夾下建立一個文件名和表單名均為oneform的表單,該表單中包括兩個標簽(Label1和Label2)、一個選項按鈕組(OptionGroupl)、一個組合框(Combol)和兩個命令按鈕(Command1和Command2),Label1和Label2的標題分別為“工資”和“實例”,選項組中有兩個選項按鈕,標題分別為“大于等于”和“小于”,Command1和Command2的標題分別為“生成”和“退出”,如下圖所示。(2)將組合框的RowSourceType和RowSource屬性手工指定為5和a,然后在表單的Load事件代碼中定義數(shù)組a并賦值,使得程序開始運行時,組合框中有可供選擇的“工資”實例為3000、4000和5000。(3)為“生成”命令按鈕編寫程序代碼,其功能是:表單運行時,根據(jù)選項按鈕組和組合框中選定的值,將“教師表”中滿足工資條件的所有記錄存入自由表salary.dbf中,表中的記錄先按“工資”降序排列,若“工資”相同再按“姓名”升序排列。(4)為“退出”命令按鈕設(shè)置Click事件代碼,其功能是關(guān)閉并釋放表單。(5)運行表單,在選項組中選擇“小于”,在組合框中選擇“4000”,單擊“生成”命令按鈕,最后單擊“退出”命令按鈕。標準答案:步驟1:在命令窗口輸入“CreateFormoneform"并按回車鍵,新建一個名為oneform表單。步驟2:在表單控件工具欄中以拖曳的方式向表單中添加兩個標簽、一個選項組、一個組合框和兩個命令按鈕,并修改各控件的屬性,如圖3.86所示。步驟3:雙擊表單空白處,編寫表單的:Load事件代碼。********水表單的Load事件代碼********publica(3)a(1)="3000"a(2)="4000"a(3)="5000"*****************************************************步驟4:雙擊命令按鈕,分別編寫“生成”和“退出”按鈕的Click事件代碼。********“生成”按鈕的click事件代碼********&&對x進行賦值x=val(ThisForm.combol.Value)&&判斷分支一ifThisForm.Optiongroupl.Value=1&&選擇工資大于等于x的記錄,結(jié)果按工資的降序排列并存儲入表salary中select*from教師表where工資>=xor-derby工資desc,姓名intotablesalary&&判斷分支二Else&&選擇工資小于x的記錄,結(jié)果按工資的降序排列并存儲入表salary中select*from教師表where工資知識點解析:建立表單并添加控件,然后按要求修改各控件的屬性;在表單的Load事件中定義組合框的數(shù)據(jù)源,完成命令按鈕的代碼;當列表框要求為數(shù)組時,可以在表單的Load事件中進行定義;為選項按鈕組設(shè)置標題,需要用鼠標右鍵單擊選項按鈕組控件,選擇“編輯”命令。國家二級VF機試(操作題)模擬試卷第5套一、基本操作題(本題共1題,每題1.0分,共1分。)1、在考生文件夾下,有一個學(xué)生數(shù)據(jù)庫sdb,打開該數(shù)據(jù)庫,完成如下操作:(1)為學(xué)生表student的“性別”字段增加約束:性別$”男女”,出錯提示信息為“性別必須是男或女”,默認值為“女”。(2)為學(xué)生表student創(chuàng)建一個主索引,主索引的索引名為sid,索引表達式為學(xué)號。為課程表course創(chuàng)建一個主索引,主索引的索引名為cid,索引表達式為課程號。為選課表sc創(chuàng)建一個主索引和兩個普通索引(升序),主索引的索引名為scid,索引表達式為“學(xué)號+課程號”;一個普通索引的索引名為sid,索引表達式為學(xué)號;另一個普通索引的索引名為cid,索引表達式為課程號。(3)通過“學(xué)號”字段建立選課表sc和學(xué)生表student表間的永久聯(lián)系。通過“課程號”字段建立選課表sc與課程表course間的永久聯(lián)系。并為以上建立的聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為“級聯(lián)”;刪除規(guī)則為“限制”;插入規(guī)則為“限制”。(4)使用報表向?qū)Ы⒁粋€簡單報表。要求選擇學(xué)生表student表中所有字段;記錄不分組;報表樣式為“隨意式”:列數(shù)為“1”,字段布局為“列”,方向為“縱向”;排序字段為“學(xué)號”,升序;報表標題為“學(xué)生基本情況一覽表”:報表文件名為one.fix。標準答案:【操作步驟】(1)①命令窗口執(zhí)行:MODIFYDATABASEsdb,打開數(shù)據(jù)庫設(shè)計器。②數(shù)據(jù)庫設(shè)計器中,右擊student表,選擇【修改】,打開表設(shè)計器,“字段”選項卡中選中“性別”,“字段有效性”的“規(guī)則”中輸入:性別$“男女”,“信息”框中輸入:“性別必須是男或女”,“默認值”文本框中輸入:“女”。(2)①接上題,在student表設(shè)計器中,“字段”選項卡中選中“學(xué)號”,“索引”列中選“升序”,在“索引”選項卡中修改“索引名”為“sid”,修改“類型”為“主索引”,單擊“確定”按鈕保存表結(jié)構(gòu)修改。②與上題同樣的方法為course表建立名為“cid”,的“主索引”,單擊“確定”按鈕保存表結(jié)構(gòu)修改。③數(shù)據(jù)庫設(shè)計器中,右擊sc表選擇【修改】,打開表設(shè)計器,“索引”選項卡中,“索引名”下方的文本框中輸入“scid”,“索引”選項卡中將“類型”選擇為“主索引”,“表達式”下方的文本框中輸入“學(xué)號+課程號”,建立主索引。④接第③步,在SC表設(shè)計器的“索引”選項卡中,第二行的“索引名”文本框中輸入“sid”,將“類型”選擇為“普通索引”,“表達式”下方的文本框中輸入“學(xué)號”,建立一個普通索引;在第三行的“索引名"文本框中輸入“cid”,“類型”選擇為“普通索引”,“表達式”中輸入“課程號”,建立普通索引,單擊“確定”保存修改。(3)①在數(shù)據(jù)庫設(shè)計器中,拖動student表“索引”下方的主索引“sid”到sc表中“索引”下方的普通索引“sid”上,為兩個表建立聯(lián)系。②拖動course表“索引”下方的主索引“scid”到sc表中“索引”下方的普通索引“cid”上,為兩個表建立聯(lián)系。③選中student和sc兩個表之間的關(guān)聯(lián)線(被選中的線會變粗),首先執(zhí)行【數(shù)據(jù)庫】→【清理數(shù)據(jù)庫】菜單命令,清空數(shù)據(jù)庫表中帶有刪除標記的記錄,然后執(zhí)行【數(shù)據(jù)庫】→【編輯參照完整性】菜單命令。在打開的“參照完整性”對話框的表格中,將其中的兩對關(guān)系均做如下操作:選擇“更新”下的單元格內(nèi)容為“級聯(lián)”;“刪除”下的單元格內(nèi)容為“限制”;“插入”下的單元格內(nèi)容為“限制”。單擊“確定”按鈕保存參照完整性的修改。(4)①命令窗口執(zhí)行:OPENDATABASEsdb,打開sdb數(shù)據(jù)庫。②執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在彈出的“新建”對話框中選中“報表”選項,單擊“向?qū)А卑粹o,彈出“向?qū)нx取’’對話框,選中“報表向?qū)А表?,單擊“確定"按鈕,啟動報表向?qū)?。③“步驟1-字段選取”的“數(shù)據(jù)庫和表”下選student表,將“可用字段”中的字段全部添加到“選定字段”中,單擊“下一步”按鈕。④“步驟2-分組記錄”中,單擊“下一步”按鈕。⑤“步驟3-選擇報表樣式”的“樣式”下選擇“隨意式”,單擊“下一步”按鈕。⑥“步驟4-定義報表布局”的“列數(shù)”下輸入“1”,在“字段布局”下選“列”,在“方向”下選“縱向”,單擊“下一步”按鈕。⑦“步驟5-排序記錄”中雙擊“可用的字段或索引標識”中的“學(xué)號”字段到“選定字段”中,再選擇“升序”,單擊“下一步”按鈕。⑧“步驟6-完成”中“報表標題"下方文本框中輸入“學(xué)生基本情況一覽表”,單擊“完成”按鈕。⑨在“另存為”對話框的“保存報表為:”.框中輸入報表文件名one,單擊“保存”按鈕。知識點解析:暫無解析二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)在考生文件夾下已有表單文件formone.scx,如圖3.26所示,其中包含一個列表框、一個表格和一個命令按鈕。請按下面要求完成相應(yīng)的操作:①在表單的數(shù)據(jù)環(huán)境中添加orders表。②將列表框List1設(shè)置成多選,另外將其的RowSourceType屬性值設(shè)置為“8-結(jié)構(gòu)”、RowSource設(shè)置為orders。③將表格Gridl的RecordSourceType的屬性值設(shè)置為“4-SQL說明”。④修改“顯示”按鈕的Click事件代碼。當單擊該按鈕時,表格Grid1內(nèi)將顯示在列表框中所選orders表中指定字段的內(nèi)容。(2)利用查詢設(shè)計器創(chuàng)建查詢,從orders、employee和customer表中查詢2001年5月1日以后(含)所簽所有訂單的信息。查詢結(jié)果依次包含“訂單號”、“簽訂日期”、“金額”、“簽訂者”和“客戶名”5項內(nèi)容,其中“簽訂者”為簽訂訂單的職員姓名。各記錄按“簽訂日期”降序排序,簽訂日期相同按“金額”降序排序;查詢?nèi)ハ驗楸韙ableone。最后將查詢保存在queryone.qpr文件中,并運行該查詢。標準答案:(1)【操作步驟】步驟1:命令窗口執(zhí)行:MODIFYFORMformone,打開表單設(shè)計器修改表單。步驟2:右擊表單選擇【數(shù)據(jù)環(huán)境】,在表單數(shù)據(jù)環(huán)境中擊右鍵選擇【添加】,在“添加表或視圖”對話框中雙擊orders表添加到數(shù)據(jù)環(huán)境中。步驟3:選中表單中的列表框控件,將RowSourceType屬性值設(shè)置為:8一結(jié)構(gòu),將RowSource屬性值設(shè)置為:orders,將MoultiSelect屬性值設(shè)置為:.T;選中表格(Gridl)控件,將RowSourceType屬性值設(shè)置為:4-SOL說明。步驟4:“顯示”按鈕(Commandl)的Click事件代碼如下:*****“顯示”按鈕的Click事件代碼******下面代碼的功能是根據(jù)用戶對列表框的選擇結(jié)果構(gòu)建字段列表,然后進一步構(gòu)建select語句并據(jù)此為表格的相關(guān)屬性設(shè)值。*修改所有***FOUND***下面的一條語句。*不能修改其他語句。不能增加語句,也不能刪除語句。s=""f=.T.***FOUND***FORi=1TOthisform.Listl.ColumnCountIFthisform.Listl.Selected(i)IFf***FOUND***s=thiSform.LiStl.valuef=.F.ELSE***FOUND***s=S+thiSform.LiStl.valueENDIFENDIFENDFORSt=“select&sfromordersintoCUrsortmp”thiSform.Gridl.RecordSOUrce=St命令按鈕修改后的事件代碼如下:S=“”f=.T.***FOUND***FORi=lTOthisform.Listl.ListCountIFthisform.Listl.Selected(i)IFf***FOUND***s=thiSform.Listl.List(i)f=.F.ELSE***FOUND***s=s+“,”+thisform.Listl.List(i)ENDIFENDIFENDFORst=“select&SfromordersintocurSortmp”thiSform.Gridl.RecordSource=st步驟5:單擊“常用”工具欄中的“運行”按鈕查看結(jié)果,并單擊“輸出數(shù)據(jù)”按鈕產(chǎn)生temmdbf表文件,保存。(2)【操作步驟】步驟1:命令窗口執(zhí)行:OPENDATABASE訂單管理,打開數(shù)據(jù)庫環(huán)境。步驟2:命令窗口執(zhí)行:CREATEQUERYqueryone,打開查詢設(shè)計器,在“添加表或視圖”對話框中,分別雙擊employee、orders和customer表(注意:一定要按順序添加表),將表添加到查詢設(shè)計器中,此時,添加的表會按照數(shù)據(jù)庫中已存在的表間聯(lián)系自動為3個表在查詢設(shè)計器中建立聯(lián)系。步驟3:依次雙擊orders表中的“訂單號”、“簽訂日期”、“金額”字段,添加到“字段”選項卡的“選定字段”列表中;“字段”選項卡的“函數(shù)和表達式”下的文本框中輸入:Employee.姓名AS簽訂者,單擊“添加”按鈕添加到“選定字段”中;雙擊customer表中的“客戶名”字段添加到“選定字段”列表中。步驟4:“篩選”選項卡的“字段名”中選擇“Orders.簽訂日期”字段,“條件”下拉框中選擇“>=”,在“實例”框中輸入:{^2001-05-01}。步驟5:“排序依據(jù)”選項卡中雙擊“選定字段”列表框中的“Orders.簽訂日期”字段添加到“排序條件”中,“排序選項”中選擇“降序”;雙擊“選定字段”中的“Orders.金額字段添加到“排序條件”中,“排序選項”中選擇“降序”單選項。步驟6:執(zhí)行【查詢】→【查詢?nèi)ハ颉坎藛蚊睿趶棾龅摹安樵內(nèi)ハ颉睂υ捒蛑袉螕簟氨怼眻D標按鈕,接著在“表名”中輸入文件名tableone,單擊“確定”按鈕。步驟7:最后單擊“常用”工具欄中的“運行”按鈕查看結(jié)果,將杳詢文件保存到考生文件夾下。知識點解析:暫無解析三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下,打開資源數(shù)據(jù)庫frdb,完成如下綜合應(yīng)用:設(shè)計一個表單控件名為form、表單文件名為frshow、表單標題名為“農(nóng)戶資源數(shù)據(jù)瀏覽”的表單,其表單界面如圖3.16所示。其他要求如下:①為表單建立數(shù)據(jù)環(huán)境,向數(shù)據(jù)環(huán)境依次添加frt表(Cursor1)、pt表(Cursor2)和treet表(Cursor3)。②當在“戶主編號”(Labell)標簽右邊的文本框(Textl)中輸入戶主編號并單擊“查詢”(Commandl)按鈕時,將在右邊的表格控件(Gridl)內(nèi)顯示該農(nóng)戶承包的土地編號、小地名、面積、樹種編號、蓄積和承包年度信息(均取自frt表),并在左邊相應(yīng)的文本框中顯示該農(nóng)戶的姓名(Text2)、年齡(Text3)、性別(Text4)和家庭地址(Text5)(均取自pt表)。③單擊“退出”(Command2)按鈕時,關(guān)閉表單。要求:表格(Grid1)控件的RecordSourceType屬性設(shè)置為“4一SQL說明”;使用SQL的SELECT語句將根據(jù)輸入的戶主編號查詢到的姓名、年齡、性別和家庭地址數(shù)據(jù)存放到一維數(shù)組tmp中,并將tnap數(shù)組諸元素的值賦值到各文本框。標準答案:【操作步驟】步驟1:命令窗口執(zhí)行:OPENDATABASEfrdb,打開frdb數(shù)據(jù)庫。步驟2:命令窗口執(zhí)行:CREATEFORMfrshow,打開表單設(shè)計器新建表單。步驟3:右擊表單選擇【數(shù)據(jù)環(huán)境】快捷菜單命令,繼續(xù)在表單數(shù)據(jù)環(huán)境中單擊右鍵選擇【添加】快捷菜單命令,在“添加表或視圖”對話框中依次雙擊frt表、pt表和treet表,將其添加到數(shù)據(jù)環(huán)境中。步驟4:向表單添加五個標簽、五個文本框、一個表格和兩個命令按鈕。選擇表單對象,修改對象屬性值,見表4.19。步驟5:編寫各個命令按鈕的C1ick事件代碼如下:*****“查詢”按鈕的C1ick事件代碼*****THISFORM.GRIDI.RECORDSOURCE=”;sELEcT土地編號,小地名,面積,樹種編號,蓄積,承包年度FROMFRT;WHERE戶主編號=ALLTRIM(THISFORM.TEXT1.VALUE);INTOCURSORTEMP”sELECT姓名,年齡,性別,家庭地址FROMP_T;WHERE戶主編號=ALLTRIM(THISFORM.TEXTl.VALUE);INTOARRAYTMPTHISFORM.TEXT2.VALUE=TMP(1)THISFORM.TEXT3.VALUE=TMP(2)THISFORM.TEXT4.VALUE=TMP(3)THISFORM.TEXT5.VALUE=TMP(4)*****“退出”按鈕的Click事件代碼*****THISFORM.RELEASE步驟6:單擊“常用”工具欄中“運行”按鈕運行表單。知識點解析:暫無解析國家二級VF機試(操作題)模擬試卷第6套一、基本操作題(本題共1題,每題1.0分,共1分。)1、在考生文件夾下完成如下操作:(1)在orders表中添加一條記錄,其中訂單號為“0050”、客戶號為“061002”、簽訂日期為2010年10月10日。(2)將orders表中訂單號為“0025”的訂單的簽訂日期改為2010年10月10日。(3)為orders表添加一個“金額”字段(貨幣類型)。(4)使用SQLDELETE語句從orderitems表中刪除訂單號為“0032”且商品號為“C1003”的記錄。然后將該語句保存在命令文件sfour.prg中。標準答案:(1)①在命令窗口輸入命令打開表:useorders.dbfexclusive。②單擊“顯示”菜單下的“瀏覽”子菜單,瀏覽數(shù)據(jù)表,如圖4—56所示。③單擊“顯示”菜單下的“追加方式”子菜單,添加記錄,如圖4—57所示。(2)單擊“顯示”菜單下的“編輯”子菜單,找到訂單號為0025的記錄,修改日期,如圖4—58所示。(3)單擊“顯示”菜單下的“表設(shè)計器”子菜單,打開表設(shè)計器。②單擊“插入”按鈕添加字段,在“字段名”列文本框中輸入“金額”,類型選擇“貨幣型”。③單擊“確定”按鈕完成表的修改。(4)①選擇“文件”下的“新建”子菜單,彈出“新建”對話框,文件類型選擇“程序”。②單擊“新建文件”圖標按鈕,打開程序編輯界面,輸入程序:deletefromorderitemswhere訂單號="0032"and商品號="C1003"③單擊菜單工具欄里面的“保存”按鈕,彈出“另存為”對話框,輸入程序名:sfour.prg,保存到考生文件夾下。④執(zhí)行該程序。數(shù)據(jù)表的操作、程序的設(shè)計和使用。知識點解析:本大題考查了數(shù)據(jù)表的基本操作,包括添加記錄、修改記錄、增加字段等,可以通過SQL語句實現(xiàn),也可以直接通過菜單操作。題目要求刪除數(shù)據(jù)表中的訂單號為“0032”且商品號為“C1003”的記錄,因此SQL語句的篩選條件為:where訂單號="0032"and商品號="Cl003"。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)使用SELECT語句查詢2008年2月份沒有訂單的客戶,查詢結(jié)果依次包含客戶號、姓名、性別和聯(lián)系電話四項內(nèi)容,各記錄按客戶號降序排序,查詢結(jié)果存放在表tableone中。最后將該語句保存在命令文件sfive.prg中。注:customers是客戶表,orders是訂單表。(2)首先創(chuàng)建數(shù)據(jù)庫goods_m,并向其中添加goods表。然后在數(shù)據(jù)庫中創(chuàng)建視圖viewone。利用該視圖只能查詢單價大于等于2000且?guī)齑媪啃∮诘扔?、或者單價小于2000且?guī)齑媪啃∮诘扔?的商品信息,查詢結(jié)果依次包含商品號、商品名、單價和庫存量四項內(nèi)容,各記錄按單價降序排序、單價相同按庫存量升序排序。最后利用該視圖查詢視圖中的全部信息,并將查詢結(jié)果存放在表tabletwo中。標準答案:(1)步驟1:選擇“文件”下的“新建”子菜單,彈出“新建”對話框,文件類型選擇“程序”。步驟2:單擊“新建文件”圖標按鈕,打開程序編輯界面,輸入如下程序:select客戶號,姓名,性別,聯(lián)系電話fromcustomerswherenotexists(select*fromorderswhereyear(簽訂日期)=2008andmonth(簽訂日期)=2and客戶號=customers.客戶號)orderby客戶號descintotabletableone步驟3:單擊菜單工具欄里面的“保存”按鈕,彈出“另存為”對話框,輸入程序名:sfive.prg,保存到考生文件夾下。步驟4:執(zhí)行該程序。程序設(shè)計和SQL的使用。(2)步驟1:創(chuàng)建數(shù)據(jù)庫可以使用“文件”菜單完成,選擇“文件”菜單下面的“新建”子菜單,彈出“新建”對話框,文件類型選擇“數(shù)據(jù)庫”。步驟2:單擊“新建文件”圖標按鈕,彈出“創(chuàng)建”對話框,輸入數(shù)據(jù)庫文件名:goods_m.dbc,保存在考生文件夾下。步驟3:在數(shù)據(jù)庫設(shè)計器中,單擊數(shù)據(jù)庫設(shè)計器工具欄中的“添加表”按鈕,彈出“打開”對話框,添加goods表,如圖4—59所示。步驟4:再通過工具欄里面的“新建”命令,彈出“新建”對話框,文件類型選擇“視圖”。步驟5:單擊“新建文件”圖標按鈕,彈出“創(chuàng)建”對話框,彈出“添加表或視圖”對話框,把goods_m數(shù)據(jù)庫中的goods表添加到視圖中。步驟6:開視圖設(shè)計器,在“字段”選項卡中選擇商品號、商品名、單價和庫存量4個字段添加到選定字段,如圖4—60所示。步驟7:切換到“篩選”選項卡,在其中進行如下設(shè)置,單價大于等于2000且?guī)齑媪啃∮诘扔?、或者單價小于2000且?guī)齑媪啃∮诘扔?。步驟8:切換到“排序依據(jù)”選項卡,選擇字段"Goods.單價",在“排序選項”處選擇“降序”;選擇字段"Goods.庫存量",在“排序選項”處選擇“升序”。步驟9:單擊工具欄的“保存”按鈕,彈出“保存”對話框,輸入視圖文件名viewone,保存在考生文件夾下。步驟10:選擇“文件”菜單下面的“新建”子菜單,彈出“新建”對話框,文件類型選擇“查詢”。步驟11:單擊“新建文件”圖標按鈕,彈出“添加表或視圖”對話框,“選定”選擇視圖,然后選擇viewone視圖,然后單擊“添加”按鈕完成視圖的添加,單擊“關(guān)閉”按鈕關(guān)閉該對話框。步驟11:在查詢設(shè)計器里面,選擇“字段”選項卡,把所有字段添加到“選定字段”。步驟12:單擊查詢設(shè)計器工具欄里面的“查詢?nèi)ハ颉卑粹o,彈出“查詢?nèi)ハ颉睂υ捒?,設(shè)置查詢?nèi)ハ驗楸?,輸入表名稱為tabletwo,如圖4—61所示。步驟13:運行查詢。視圖和查詢的建立與使用。知識點解析:(1)本題考查SQL的使用。題目要求查詢2008年2月份沒有訂單的客戶,查詢結(jié)果依次包含客戶號、姓名、性別和聯(lián)系電話四項內(nèi)容,各記錄按客戶號降序排序,查詢結(jié)果存放在表tableone中,因此篩選條件為2008年2月沒有訂單,需要使用嵌入查詢條件:wherenotexists(select*fromorderswhereyear(簽訂日期)=2008andmonth(簽訂日期)=2。(2)數(shù)據(jù)庫的建立、視圖的設(shè)計和使用。題目要求在視圖里面查詢單價大于等于2000且?guī)齑媪啃∮诘扔?、或者單價小于2000且?guī)齑媪啃∮诘扔?的商品信息,查詢結(jié)果依次包含商品號、商品名、單價和庫存量四項內(nèi)容,各記錄按單價降序排序、單價相同的按庫存量升序排序,因此需要在視圖里面設(shè)置篩選條件、排序依據(jù)和字段。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下創(chuàng)建一個頂層表單myform.scx(表單的標題為“考試”),然后創(chuàng)建并在表單中添加菜單(菜單的名稱為mymenu.mnx,菜單程序的名稱為mymenu.mpr)。效果如圖3-8所示。(1)菜單命令“統(tǒng)計”和“退出”的功能都通過執(zhí)行過程完成。(2)菜單命令“統(tǒng)計”的功能是從customers表中統(tǒng)計各年份出生的客戶人數(shù)。統(tǒng)計結(jié)果包含“年份”和“人數(shù)”兩個字段,各記錄按年份升序排序,統(tǒng)計結(jié)果存放在tablethree表中。(3)菜單命令“退出”的功能是釋放并關(guān)閉表單(在過程中包含命令myform.release)。(4)請運行表單并依次執(zhí)行其中的“統(tǒng)計”和“退出”菜單命令。標準答案:步驟1:建立表單可通過“文件”菜單下的“新建”子菜單命令打開“新建”對話框,文件類型選擇“表單”,單擊“新建文件”圖標按鈕,打開表單設(shè)計器。步驟2:通過屬性窗口修改表單的Caption屬性值,將其設(shè)置為“考試”。步驟3:單擊菜單工具欄里面的“保存”按鈕,彈出“另存為”對話框,輸入表單文件名:myform.scx,保存在考生文件夾下。步驟4:建立菜單可通過“文件”菜單下的“新建”子菜單命令打開“新建”對話框,文件類型選擇“菜單”,單擊“新建文件”圖標按鈕,彈出“菜單”對話框,選擇“菜單”打開表單設(shè)計器。步驟5:在菜單設(shè)計器中建立各菜單項,菜單名稱分別為:計算和退出。在“計算”菜單的結(jié)果列中選擇“過程”,在“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《山西康莊項目提案》課件
- 復(fù)習真題卷01 第1-2單元 (解析版)
- 《電子測量技術(shù)》課件
- 來鳳縣舊司鄉(xiāng)中心衛(wèi)生院配套設(shè)施建設(shè)可研報告
- 《家庭倫理劇》課件
- 2014年高考語文試卷(山東)(空白卷)
- 《紅巖》課件(中考名著)
- 美容美發(fā)服務(wù)銷售心得
- 2023年-2024年員工三級安全培訓(xùn)考試題附答案(奪分金卷)
- 2023-2024年項目部治理人員安全培訓(xùn)考試題附下載答案
- 精神病院感染管理
- 地震應(yīng)急演練實施方案村委會(2篇)
- 2024時事政治試題庫學(xué)生專用
- 三級合伙人制度
- 2024年湖北省黃石市黃石港區(qū)政府雇員招聘37人公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 礦業(yè)施工組織設(shè)計方案
- 椎體感染的護理查房
- 產(chǎn)后飲食的健康宣教-課件
- 兒科案例完整-川崎病課件
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 電子行業(yè)認證行業(yè)深度研究報告
評論
0/150
提交評論