vf練習(xí)題及答案_第1頁
vf練習(xí)題及答案_第2頁
vf練習(xí)題及答案_第3頁
vf練習(xí)題及答案_第4頁
vf練習(xí)題及答案_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、VF練習(xí)題1新建商品數(shù)據(jù)表SB.DBF,字段有:商品號(hào)(C,5),商品名(C,8),單價(jià)(N,5,2),出廠單價(jià)(N,5,2),產(chǎn)地(C,6)。并添加如下記錄:商品號(hào)(C,5),商品名(C,8),單價(jià)(N,6,2),出廠單價(jià)(N,6,2),產(chǎn)地(C,6)。10001 電視機(jī) 800.0 500.0 青島20001 電子字典 360.0 200.0 深圳10002 手機(jī)8210 980.0 600.0 北京30001 MP3 800.0 560.0 廣州10003 商務(wù)通 890.0 460.0 深圳設(shè)計(jì)一個(gè)名稱為MY_FORM的表單,上面有“瀏覽”、“調(diào)整”、“備份”和“退出”四個(gè)命令按鈕,“

2、商品名稱”標(biāo)簽和文本框text1。1)在text1中輸入文本,單擊“瀏覽”按鈕時(shí),顯示商品名含有該文本的所有商品記錄。2)單擊“調(diào)整”按鈕時(shí),將“商品號(hào)”前兩位編號(hào)為“10”的商品的“單價(jià)”修改為出廠單價(jià)的110%。3)單擊“備份”按鈕時(shí),將“商品表”進(jìn)行備份(使用命令COPY TO ),備份文件名為“商品表備份.DBF”,4)單擊“退出”按鈕時(shí),關(guān)閉表單。答案:法一:(1)如圖:建表:建表單:(2)寫代碼:- 1 -Commandgroup1:瀏覽command1:clickn=thisform.text1.valueselect * from sb where 商品名=n調(diào)整command

3、2:clickupdate sb set 單價(jià)=出廠單價(jià)*1.1 where left(商品號(hào),2)=10備份command3:clickcopy to d:晴天圖書館vfvf練習(xí)題商品表備份退出command4:clickThisform.release法二:代碼:“瀏覽”按鈕:clicka=thisform.text1.valuesele * from SB where 商品名 like allt(a) to screenthisform.text1.selstart=0thisform.text1.sellength=len(allt(thisform.text1.text)thisfo

4、rm.text1.setfocus“調(diào)整”按鈕:clickupdate sb set 單價(jià)=出廠單價(jià)*1.1 where left(商品號(hào),2)=10“備份”按鈕:clickcopy to g:vfp上機(jī)考試練習(xí)第一題商品備份表.dbf“退出”按鈕:clickthisform.release3在建立“E:專業(yè)姓名”文件夾下,建立表單(bd2.scx),添加標(biāo)簽“輸入字符串”、文本框,添加“輸出”、“退出”命令按鈕,并編寫代碼。“輸出”Click代碼:把文本框內(nèi)輸入的字符串,去掉左、右、中間所有空格字符后,在信息框顯示?!巴顺觥保航Y(jié)束表單運(yùn)行。答案:法一:- 2 -(1)如圖:(2)代碼:輸出c

5、ommand1:clickn=thisform.text1.valuemessagebox(字符串為:+alltrim(n),0+64+0,輸出字符串)退出command2:clickthisform.release法二:代碼:“輸出”按鈕:clickx=thisform.text1.valuey=allt(x)z=chrt(y, ,)=messagebox(z,0+64+0,輸入值)thisform.text1.selstart=0thisform.text1.sellength=len(thisform.text1.text)thisform.text1.setfocus“退出”按鈕:cl

6、ickthisform.release4設(shè)計(jì)一個(gè)電話計(jì)費(fèi)程序。假定每分鐘通話費(fèi)用為0.12元。要求:表單窗口中用標(biāo)簽形式列出開始時(shí)間、結(jié)束時(shí)間、通話時(shí)間及應(yīng)付金額(元),再設(shè)計(jì)一個(gè)開始按鈕(按下后開始計(jì)時(shí))和計(jì)費(fèi)按鈕(按下后顯示結(jié)束時(shí)間、通話時(shí)間及費(fèi)用)答案:(1)如圖:(2)寫代碼:開始command1:clickpublic a- 3 -a=time()thisform.label1.caption=開始時(shí)間:+a計(jì)時(shí)command2:clickb=time()thisform.label2.caption=結(jié)束時(shí)間:+time()c=ctot(b)-ctot(a)d=int(c/60)e

7、=c%60if e=0y=d*0.12elsey=(d+1)*0.12endifthisform.label3.caption=通話時(shí)間:+alltrim(str(d)+分+alltrim(str(e)+秒thisform.label4.caption=應(yīng)付金額:+str(y,6,2)+元5建立“學(xué)生管理” 數(shù)據(jù)庫,在其中新建“成績”數(shù)據(jù)表并任意輸入3條記錄,結(jié)構(gòu)如下:學(xué)號(hào)C(8),姓名C(8),計(jì)算機(jī)N(5.1),英語N(5.1),數(shù)學(xué)N(5.1),總成績N(5.1)。建立表單(bd1.scx),用表格顯示該數(shù)據(jù)表,添加標(biāo)簽“計(jì)算機(jī)平均成績”及顯示該數(shù)據(jù)的文本框。添加“計(jì)算”、“退出”命令按

8、鈕,并編寫代碼?!坝?jì)算”Click代碼:計(jì)算“總成績”字段的值(總成績計(jì)算機(jī)+英語+數(shù)學(xué)),計(jì)算“計(jì)算機(jī)平均成績”的值并在文本框顯示。“退出”:結(jié)束表單運(yùn)行。答案:(1)如圖:建數(shù)據(jù)庫:建成績表:- 4 -建表單:(2)寫代碼:計(jì)算command1:click:update 成績 set 總成績=計(jì)算機(jī)+英語+數(shù)學(xué)select avg(計(jì)算機(jī)) from 成績 into array an=athisform.text1.value=n退出command2:click:thisform.release表格grid1:屬性Recordsource:成績Recordsourcetype:1-別名6建

9、“訂貨管理”數(shù)據(jù)庫。在其中新建數(shù)據(jù)表customer,表結(jié)構(gòu)如下:客戶號(hào)(C/8)、客戶名(C/10)、地址(C/20)、電話(C/12)。以客戶號(hào)建立主索引。新建數(shù)據(jù)表order_list,表結(jié)構(gòu)如下:客戶號(hào)(C/8)、訂單號(hào)(C/10)、日期(D)、總金額(N/12,2)。以客戶號(hào)建立普通索引,并與customer建立表間永久關(guān)系。1)兩個(gè)數(shù)據(jù)表各添加3條記錄(保證兩個(gè)表的客戶號(hào)存在一對一關(guān)系)。2)新建項(xiàng)目“訂單”并將數(shù)據(jù)庫添加到該項(xiàng)目中。3)在項(xiàng)目中新建表單。如下:當(dāng)指針指向首記錄“上一條”不能用;當(dāng)指針指向末記錄“下一條”不能用 - 5 -答案:(1)如圖:建數(shù)據(jù)庫:建表單:(2)寫

10、代碼:commandgroup1:代碼n=this.valuedo casecase n=1skip -1if bof()mand1.enabled=.f. mand2.enabled=.t. endifcase n=2skip 1if eof()mand2.enabled=.f. mand1.enabled=.t. endif- 6 -endcasethisform.refresh7首先創(chuàng)建一個(gè)student.dbf數(shù)據(jù)表 其結(jié)構(gòu)為學(xué)號(hào)(C,3),姓名(C,6),性別(C,2),出生日期(D,8)。記錄內(nèi)容自定。要求,根據(jù)輸入限制條件的上限和下限來查找數(shù)據(jù)表中的記錄,表單會(huì)顯示查找到的結(jié)果。

11、程序的演示效果如圖所示。答案:法一:(1)如圖:?(2)寫代碼:查找command1:clickthisform.grdstudent.recordsource=;select * from student where 學(xué)號(hào)=thisform.text1.value and 學(xué)號(hào)=thisform.text2.value into cursor temp關(guān)閉command2:clickThisform.release(3)表格grid1:屬性Recordsource:無Recordsourcetype:4-SQL說明法二:代碼:“查找”按鈕:clicka=thisform.text1.valu

12、eb=thisform.text2.valueif abthisform.grid1.recordsource=;select 學(xué)號(hào),姓名,性別,出生日期 from student where val(a)val(學(xué)號(hào)) and val(學(xué)號(hào))=80 and 成績80 and 成績=60update book!score set 學(xué)分=學(xué)分+3 where 高數(shù)=60update book!score set 學(xué)分=學(xué)分+4 where 英語=60select * from score.dbf order by 學(xué)分,學(xué)號(hào) desc into dbf xf關(guān)閉command2:thisform

13、.release10 有一學(xué)生管理數(shù)據(jù)庫stu,該數(shù)據(jù)庫中有CHENGJI表和XUESHENG表,各表結(jié)構(gòu)如下:1) XUESHENG表(學(xué)號(hào)C(9)、姓名C(10)、平均分N(7,2), 該表是學(xué)生信息,個(gè)學(xué)生只有一個(gè)記錄,“學(xué)號(hào)”字段是表的主關(guān)鍵字。2) CHENGJI表(學(xué)號(hào)c(9)、課程號(hào)c(3)、成績N(7,2),該表用于記錄學(xué)生的考試成績, 一個(gè)學(xué)生可以有多項(xiàng)記錄,(登記一個(gè)學(xué)生的多門成績),其中,字段“學(xué)號(hào)”與“課程名”的組合構(gòu)成表CHENGJI的主關(guān)鍵字。請編寫符合下列要求的程序并運(yùn)行程序。設(shè)計(jì)一個(gè)名為FORM_STU的表單、表單中有兩個(gè)命令按鈕,按鈕的名稱分別是CMDYES和

14、CMDNO,標(biāo)題分別為“統(tǒng)計(jì)”和“關(guān)閉”。程序運(yùn)行時(shí),單擊“統(tǒng)計(jì)”按鈕應(yīng)完成下列操作:1)根據(jù)CHENGJI表計(jì)算每個(gè)學(xué)生的平均分,并將結(jié)果存入XUESHENG表的平均分字段。2)根據(jù)上面的計(jì)算結(jié)果,生成一個(gè)新的表PINGJUN,該表的字段按順序取自XUESHENG表的學(xué)號(hào)、姓名和平均分3項(xiàng),并按平均分升序排序,如果平均分相等,則按學(xué)號(hào)升序排序。單擊“關(guān)閉”按扭,程序終止運(yùn)行。答案:(1)如圖:建數(shù)據(jù)表:(主索引)建表單:- 10 -(2)寫代碼: 統(tǒng)計(jì)command1:clickselect 學(xué)號(hào),avg(成績) 平均分 from chengji group by 學(xué)號(hào) into curso

15、r bbbdo while not eof()update xuesheng set 平均分=bbb.平均分 where xuesheng.學(xué)號(hào)=bbb.學(xué)號(hào)skipenddoselect * from xuesheng order by 平均分,學(xué)號(hào) into dbf pingjun 關(guān)閉command2:clickThisform.release11 *設(shè)計(jì)一個(gè)能進(jìn)行查詢的表單,界面如圖所示。當(dāng)輸入學(xué)生姓名并單擊“查詢統(tǒng)計(jì)”按鈕時(shí),會(huì)在右邊的表格內(nèi)顯示該同學(xué)所選各科的成績,并在左邊相應(yīng)的文本框內(nèi)顯示其中的最高分、最低分以及平均成績。單擊“退出”按鈕將關(guān)閉表單。答案:(1)如圖:建數(shù)據(jù)表:建

16、表單:- 11 -(2)寫代碼:“查詢統(tǒng)計(jì)”按鈕:clicka=thisform.text1.valuesele 課程號(hào),成績 from xuesheng,chengji where xuesheng.學(xué)號(hào)=chengji.學(xué)號(hào) and xuesheng.姓名=a into cursor tempsele max(成績) from temp into array bsele min(成績) from temp into array csele avg(成績) from temp into array dthisform.text2.value=str(b,4,1)thisform.text3.

17、value=str(c,4,1)thisform.text4.value=str(d,4,1)thisform.grid1.recordsource=;sele * from temp into cursor bbb“退出”按鈕:clickthisform.release12 有“學(xué)生管理”數(shù)據(jù)庫。在其中新建數(shù)據(jù)表student,表結(jié)構(gòu)如下:學(xué)號(hào)(C/8)、姓名(C/10)、專業(yè)號(hào)(C/4)、成績(N/4)。以學(xué)號(hào)建立主索引,以專業(yè)號(hào)建立普通索引。建數(shù)據(jù)表class,表結(jié)構(gòu)如下:專業(yè)號(hào)(C/4)、專業(yè)名稱(C/10),以專業(yè)號(hào)建立主索引,并與student(專業(yè)號(hào)為外部關(guān)鍵字段)建立表間永久關(guān)

18、系。1)兩個(gè)數(shù)據(jù)表各添加3條記錄(要有”英語”專業(yè)的記錄)。2)新建項(xiàng)目“管理”并將數(shù)據(jù)庫添加到該項(xiàng)目中。3)在項(xiàng)目中新建表單FORM1。選擇選項(xiàng)按鈕后“運(yùn)行”可以完成相應(yīng)的操作。答案:(1)如圖:建數(shù)據(jù)表:建項(xiàng)目:建表單:- 12 -(2)寫代碼:“運(yùn)行”按鈕:clickn=thisform.optiongroup1.valuedo casecase n=1sele student.姓名,class.專業(yè)名稱 from student,class where student.專業(yè)號(hào)=class.專業(yè)號(hào) into dbf xzcase n=2sele class.專業(yè)名稱,count(*) 人

19、數(shù) from student,class group by 專業(yè)名稱 wherestudent.專業(yè)號(hào)=class.專業(yè)號(hào) into cursor tempcase n=3sele 專業(yè)號(hào) from class where 專業(yè)名稱=英語 into array bbbupdate student set 成績=成績+5 where student.專業(yè)號(hào)=bbbendcase13 新建“學(xué)生管理”數(shù)據(jù)庫。在其中新建數(shù)據(jù)表student,表結(jié)構(gòu)如下:學(xué)號(hào)(C/8)、姓名(C/10)、專業(yè)號(hào)(C/4)、成績(N/4)。以學(xué)號(hào)建立主索引,以專業(yè)號(hào)建立普通索引。新建數(shù)據(jù)表class,表結(jié)構(gòu)如下:專業(yè)號(hào)

20、(C/4)、專業(yè)名稱(C/10),以專業(yè)號(hào)建立主索引,并與student(專業(yè)號(hào)為外部關(guān)鍵字段)建立表間永久關(guān)系。1)兩個(gè)數(shù)據(jù)表各添加3條記錄(要有”英語”專業(yè)的記錄)。2)新建表單如下圖。選擇選項(xiàng)按鈕后“運(yùn)行”可以完成相應(yīng)的操作(用SQL語句實(shí)現(xiàn))。14 設(shè)計(jì)如圖表單,要求對于學(xué)生管理數(shù)據(jù)庫std.dbc用SQL語句完成如下功能:(1) 點(diǎn)擊學(xué)生名單顯示學(xué)號(hào),姓名(若選中復(fù)選框顯示詳細(xì)信息,則顯示學(xué)號(hào), 姓名,性別,出生日期,入學(xué)日期,專業(yè))。(2) 點(diǎn)擊計(jì)算成績,重新計(jì)算總成績。(3) 點(diǎn)擊顯示成績,按照總成績升序或降序顯示std_cj表所有字段。(4) 點(diǎn)擊選課統(tǒng)計(jì),所有學(xué)生的學(xué)號(hào),姓名

21、及選課的門數(shù)。- 13 -答案:(1)如圖:建表單:(2)寫代碼:學(xué)生名單command1:clickif thisform.check1.value=0select 學(xué)號(hào),姓名 from std_daelseselect 學(xué)號(hào),姓名,性別,出生日期,入校成績,專業(yè) from std_daendif計(jì)算成績command2:click?顯示成績command3:clickn= thisform.optiongroup1.valueif n=1select * from std_cj order by 總成績 ascelseselect * from std_cj order by 總成績 de

22、scendif選課統(tǒng)計(jì)command4:clickselect std_da.學(xué)號(hào),std_da.姓名,count(*) as 選課門數(shù) from std_da,std_xk,tch_pk group by std_da.學(xué)號(hào) wherestd_xk.課程代號(hào)=tch_pk.課程代號(hào) and std_da.學(xué)號(hào)=std_xk.學(xué)號(hào)15 設(shè)計(jì)如上圖表單,要求用SQL語句完成如下功能:1)擊學(xué)生成績顯示學(xué)號(hào),總成績(若選中復(fù)選框顯示詳細(xì)信息,則顯示學(xué)號(hào), 姓名,性別,專業(yè),總成績)。2)點(diǎn)擊班級成績表,按照班級(學(xué)號(hào)字段的前4位為班級號(hào))統(tǒng)計(jì)各班級平均成績。3)點(diǎn)擊課程列表,顯示所有選課的代碼,名稱及學(xué)生數(shù)。答案:(1)如圖:建表單:- 14 -(2)寫代碼:學(xué)生成績command1:clickif thisform.check1.value=0select 學(xué)號(hào),總成績 from std_cjelseselect std_cj.學(xué)號(hào),std_cj.姓名

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論