2025年VFP備考知識與試題含答案_第1頁
2025年VFP備考知識與試題含答案_第2頁
2025年VFP備考知識與試題含答案_第3頁
2025年VFP備考知識與試題含答案_第4頁
2025年VFP備考知識與試題含答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2025年VFP備考知識整理與試題含答案一、核心知識整理(一)數(shù)據(jù)庫基礎(chǔ)1.數(shù)據(jù)模型:VFP基于關(guān)系模型,核心概念包括關(guān)系(二維表)、元組(行)、屬性(列)、關(guān)鍵字(唯一標(biāo)識元組的屬性或?qū)傩越M)。關(guān)系的完整性約束:實(shí)體完整性(主關(guān)鍵字非空唯一)、參照完整性(外關(guān)鍵字與主關(guān)鍵字匹配)、用戶定義完整性(字段有效性規(guī)則)。2.文件類型:.dbf(表文件)、.dbc(數(shù)據(jù)庫文件)、.pjx(項(xiàng)目文件)、.qpr(查詢文件)、.scx(表單文件)、.vcx(類庫文件)、.prg(程序文件)、.frx(報(bào)表文件)。3.字段類型:字符型(C,長度1254)、數(shù)值型(N,寬度120,含小數(shù)位)、日期型(D,8字節(jié))、邏輯型(L,1字節(jié))、備注型(M,4字節(jié),存儲大文本)、通用型(G,4字節(jié),存儲OLE對象)。(二)表操作1.表創(chuàng)建與修改:命令:CREATETABLE<表名>(字段1類型(寬度)[約束],字段2類型(寬度)...)示例:CREATETABLE學(xué)生(學(xué)號C(8)PRIMARYKEY,姓名C(10),年齡N(2),性別C(2)CHECK性別$"男女")2.表打開與關(guān)閉:USE<表名>[IN工作區(qū)][ALIAS別名](打開表)USE(關(guān)閉當(dāng)前工作區(qū)表)3.記錄操作:插入:APPEND[BLANK](追加空記錄)、INSERTINTO表名(字段)VALUES(值)刪除:DELETE[FOR條件](邏輯刪除)、PACK(物理刪除邏輯刪除記錄)、ZAP(清空表)修改:REPLACE字段1WITH值1[FOR條件]、EDIT/BROWSE(交互修改)4.索引操作:索引類型:主索引(唯一且非空,僅1個)、候選索引(唯一且非空,可多個)、唯一索引(索引值唯一,重復(fù)值只保留第一個)、普通索引(不唯一)。命令:INDEXON字段TAG索引名[OF索引文件][ASC/DESC][UNIQUE/CANDIDATE](三)查詢與視圖1.SQLSELECT語句:基本結(jié)構(gòu):SELECT[DISTINCT]字段列表FROM表名[WHERE條件][GROUPBY分組字段[HAVING分組條件]][ORDERBY排序字段[ASC/DESC]]連接查詢:INNERJOIN(內(nèi)連接,交集)、LEFTJOIN(左連接,保留左表所有記錄)、RIGHTJOIN(右連接,保留右表所有記錄)、FULLJOIN(全連接,保留所有記錄)。示例:查詢“計(jì)算機(jī)”專業(yè)平均分高于80分的學(xué)生:SELECT學(xué)號,AVG(成績)平均分FROM成績表WHERE專業(yè)="計(jì)算機(jī)"GROUPBY學(xué)號HAVINGAVG(成績)>80ORDERBY平均分DESC2.視圖與查詢區(qū)別:視圖依賴數(shù)據(jù)庫(.dbc),可更新數(shù)據(jù);查詢是獨(dú)立文件(.qpr),不可更新。(四)程序設(shè)計(jì)基礎(chǔ)1.變量與常量:內(nèi)存變量:全局(PUBLIC)、局部(LOCAL)、私有(PRIVATE,默認(rèn))。作用域:全局變量在所有過程中有效,局部變量僅在定義的過程及嵌套過程中有效,私有變量可被上層過程訪問但可被隱藏。常量:字符型("..."或'...')、數(shù)值型(123)、日期型({^20250101})、邏輯型(.T./.F.)。2.表達(dá)式:算術(shù)表達(dá)式:+、、、/、^(乘方),優(yōu)先級:括號>乘方>乘除>加減。關(guān)系表達(dá)式:>、<、=、<>、==(精確等于)、$(包含于),結(jié)果為邏輯值。邏輯表達(dá)式:.AND.(與)、.OR.(或)、.NOT.(非),優(yōu)先級:NOT>AND>OR。3.控制結(jié)構(gòu):選擇結(jié)構(gòu):```foxproIF條件語句1ELSE語句2ENDIFDOCASECASE條件1語句1CASE條件2語句2OTHERWISE語句3ENDCASE```循環(huán)結(jié)構(gòu):```foxproFORi=初值TO終值[STEP步長]循環(huán)體ENDFORDOWHILE條件循環(huán)體[EXIT][LOOP]ENDDOSCAN[FOR條件](對表記錄循環(huán))處理當(dāng)前記錄ENDSCAN```(五)SQL高級應(yīng)用1.表結(jié)構(gòu)修改:ALTERTABLE表名ADDCOLUMN新字段類型(寬度)[CHECK約束](添加字段)ALTERTABLE表名DROPCOLUMN字段名(刪除字段)ALTERTABLE表名ALTERCOLUMN字段名類型(寬度)(修改字段類型)2.數(shù)據(jù)更新:UPDATE表名SET字段1=值1[,字段2=值2]WHERE條件示例:將“001”號學(xué)生的年齡加1:UPDATE學(xué)生SET年齡=年齡+1WHERE學(xué)號="001"(六)面向?qū)ο缶幊?.類與對象:對象是類的實(shí)例,具有屬性(如Caption、Visible)、方法(如Refresh、Show)、事件(如Click、Load)。2.表單設(shè)計(jì):常用控件:文本框(TextBox,輸入文本)、標(biāo)簽(Label,顯示文本)、命令按鈕(CommandButton,觸發(fā)事件)、列表框(ListBox,多選列表)、表格(Grid,顯示表數(shù)據(jù))。事件代碼示例(命令按鈕Click事件):```foxproTHISFORM.TEXT1.VALUE="點(diǎn)擊成功"&&修改文本框內(nèi)容THISFORM.REFRESH&&刷新表單```3.數(shù)據(jù)環(huán)境:在表單設(shè)計(jì)器中添加表或視圖,設(shè)置字段與控件的綁定(如將Grid控件的RecordSource設(shè)置為表名)。二、試題及答案(一)選擇題(每題2分,共20分)1.以下哪個字段類型用于存儲圖片?()A.字符型B.數(shù)值型C.通用型D.備注型答案:C2.主索引的特點(diǎn)是()A.允許重復(fù)值B.僅允許一個C.不允許空值但允許重復(fù)D.可在自由表中創(chuàng)建答案:B(主索引不允許重復(fù)和空值,僅數(shù)據(jù)庫表可創(chuàng)建)3.SQL中用于分組的子句是()A.WHEREB.GROUPBYC.HAVINGD.ORDERBY答案:B4.執(zhí)行USE學(xué)生IN0命令后,表“學(xué)生”所在的工作區(qū)是()A.1B.最小可用工作區(qū)C.0D.當(dāng)前工作區(qū)答案:B(IN0表示使用最小可用工作區(qū))5.以下能物理刪除表中所有記錄的命令是()A.DELETEALLB.PACKC.ZAPD.CLEAR答案:C6.表達(dá)式{^20250101}{^20241231}的結(jié)果是()A.1B.1天C.數(shù)值1D.日期型答案:C(日期相減返回天數(shù)差,數(shù)值型)7.表單的LOAD事件發(fā)生在()A.表單顯示前B.表單顯示后C.控件初始化前D.控件初始化后答案:A(LOAD在表單創(chuàng)建時觸發(fā),早于控件INIT事件)8.要查詢“成績”表中數(shù)學(xué)成績大于90分的記錄,正確的SQL語句是()A.SELECTFROM成績WHERE數(shù)學(xué)>90B.SELECTFROM成績FOR數(shù)學(xué)>90C.SELECT數(shù)學(xué)>90FROM成績D.SELECT成績WHERE數(shù)學(xué)>90答案:A9.過程調(diào)用時,若要讓參數(shù)按引用傳遞,需設(shè)置()A.SETTALKONB.SETSAFETYOFFC.SETUDFPARMSTOREFERENCED.SETDEFAULTTO答案:C10.備注型字段的寬度在表中固定為()A.4字節(jié)B.10字節(jié)C.254字節(jié)D.任意答案:A(備注型字段存儲指針,實(shí)際內(nèi)容存于.fpt文件)(二)填空題(每題3分,共15分)1.關(guān)系模型的三種基本操作是選擇、投影和______。答案:連接2.創(chuàng)建數(shù)據(jù)庫的命令是______。答案:CREATEDATABASE3.索引文件的擴(kuò)展名是______(僅寫主名)。答案:.idx(單索引)或.cdx(復(fù)合索引)4.要將內(nèi)存變量x的值賦給字段“姓名”,應(yīng)使用命令______。答案:REPLACE姓名WITHx或姓名=x(字段變量賦值需在表打開時)5.表單中用于顯示多列數(shù)據(jù)的控件是______。答案:表格(Grid)(三)程序填空題(每題5分,共10分)1.以下程序計(jì)算1到100的和,補(bǔ)全代碼:```foxpros=0i=1DOWHILEi<=100s=s+ii=i+1______?"和為:",s```答案:ENDDO2.以下程序遍歷“學(xué)生”表,統(tǒng)計(jì)男生人數(shù),補(bǔ)全代碼:```foxpron=0USE學(xué)生______FOR性別="男"n=n+1ENDSCAN?"男生人數(shù):",n```答案:SCAN(四)應(yīng)用題(共55分)1.(10分)用SQL語句創(chuàng)建“課程”表,結(jié)構(gòu)如下:課程號(C,4,主關(guān)鍵字)、課程名(C,20,非空)、學(xué)分(N,2)、先修課號(C,4,參照“課程”表的課程號)。答案:```sqlCREATETABLE課程(課程號C(4)PRIMARYKEY,課程名C(20)NOTNULL,學(xué)分N(2),先修課號C(4)REFERENCES課程(課程號))```2.(15分)“成績”表包含學(xué)號(C(8))、課程號(C(4))、成績(N(3))。查詢每門課程的平均分,按平均分降序排列,顯示課程號、課程名、平均分(保留2位小數(shù))。(假設(shè)“課程”表已存在)答案:```sqlSELECT成績.課程號,課程.課程名,ROUND(AVG(成績.成績),2)平均分FROM成績,課程WHERE成績.課程號=課程.課程號GROUPBY成績.課程號,課程.課程名ORDERBY平均分DESC```3.(20分)編寫程序,從鍵盤輸入一個學(xué)生學(xué)號,在“學(xué)生”表中查找該學(xué)生,若存在則顯示其姓名和年齡,否則提示“未找到”。答案:```foxproCLEARINPUT"請輸入學(xué)號:"TOxhUSE學(xué)生LOCATEFOR學(xué)號=xhIFFOUND()?"姓名:",姓名?"年

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論