




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第一部分VFP實驗1.1VisualFoxPro系統(tǒng)初步實驗1VFP環(huán)境和項目管理器1)實驗目的通過本次實驗掌握VFP啟動、退出、四種操作方式及系統(tǒng)設置,熟悉項目管理器的使用。2)實驗要求和內(nèi)容1啟動分別用Windows的【開始】按鈕→【程序】的菜單方法和從桌面上建立的【快捷圖標】啟動VisualFoxPro6.0系統(tǒng)。2了解VFP的主界面了解VFP的主界面,如標題欄、菜單欄、常用工具欄、狀態(tài)欄和命令窗口等。掌握命令窗口的顯示與隱藏。(單擊【常用】工具欄上的【命令窗口】按鈕;或通過【窗口】菜單下的【命令窗口】選項來切換;或直接按Ctrl+F2或Ctrl+F4組合鍵)3了解設置VFP的配置環(huán)境.定制自己的使用環(huán)境單擊菜單欄中的【工具】→【選項】,打開【選頂】對話框,選擇【文件位置】選項卡,將【默認目錄】改為“E:\實驗”(該路徑可以根據(jù)需要設置)。單擊該對話框中的其他選項卡,設置環(huán)境并保存,使系統(tǒng)能滿足個人的要求。4掌握項目管理器的使用①創(chuàng)建項目管理器在E盤上建立一個項目叫“學生學籍管理”,保存在“E:\實驗”中。②各選項卡和按鈕的使用單擊【項目管理器】窗口中的各個選項卡,了解各個選項卡包含的文件類型。在【數(shù)據(jù)】選項卡與【文檔】選項卡中,用按鈕完成新建、添加、修改、移去、刪除及文件共享等操作,了解向?qū)Ш驮O計器操作方式,體會“目錄樹”結構。在不同的對象上單擊右鍵完成【編輯說明】等操作。單擊不同類型的文件,觀察項目管理器右側的6個按鈕的顯示情況(黑色或灰色)。③定制對建立的項目完成移動、縮放、折疊、拆分、停放等操作。5退出VFP返回Windows操作系統(tǒng)四種方法:用鼠標左鍵單擊VisualFoxPro6.0標題欄最右面的關閉窗口按鈕。從【文件】下拉菜單中選擇【退出】選項。單擊主窗口左上方的標題欄的狐貍圖標,從窗口下拉菜單中選擇【關閉】,或者按Alt+F4鍵。在命令窗口中鍵入QUIT命令后按回車鍵。1.2數(shù)據(jù)與數(shù)據(jù)運算實驗2VisualFoxPro6.0的基本操作1)實驗目的(1)進一步熟悉VisualFoxPro6.0的窗口界面及各菜單項的基本用途。(2)初步掌握VisualFoxPro的基本數(shù)據(jù)類型。掌握變量的賦值、輸出、清除、保存以及恢復;區(qū)分常量、變量的不同;掌握運算符使用及表達式的書寫。(3)初步掌握VisualFoxPro的常用函數(shù)的使用及表達式的書寫規(guī)則。2)實驗要求(1)實驗前復習VisualFoxPro的用戶界面、操作方式、命令的結構。(2)掌握VisualFoxPro的數(shù)據(jù)類型、運算規(guī)則和函數(shù)功能。(3)掌握交互式命令執(zhí)行方法。3)實驗內(nèi)容1簡單內(nèi)存變量的賦值與輸出(1)用賦值號“=”,對變量A,B,C,D,E分別賦值為數(shù)值常量123,字符常量“abc□□”,日期常量{^2006-09-10},邏輯常量.t.,字符常量”□□□CDF”(其中“□”表示空格);(2)在下一行輸出A,B,C,D的值;(3)用命令STORE對變量X1,X2,XYZ,XZ均賦值為10;(4)在當前行輸出X1,X2,XYZ,XZ的值;(5)分別用listmemory/displaymemory顯示內(nèi)存中的變量,觀察這兩個命令的區(qū)別。2數(shù)組的賦值與輸出(1)定義兩個數(shù)組變量X(3),Y(2,3)(2)用displaymemory顯示數(shù)組x,y,觀察其元素個數(shù)及值(3)在命令窗口依次執(zhí)行如下三條命令:x=3y(1,1)=5y(2,2)=.t.(4)輸出x(1),x(2),x(3),y(1,1),y(1,2),y(2,2),y(1),y(5)的值,觀察其結果,注意數(shù)組變量賦值和數(shù)組元素賦值的不同,體會一維數(shù)組和二維數(shù)組的關系。3變量的清除、保存以及恢復(1)將以上定義的變量保存在文件bl.mem中(2)將X開頭的內(nèi)存變量清除,并用displaymemory顯示(3)將文件bl.mem中的變量恢復到內(nèi)存中,并用displaymemory顯示,觀察與②有何不同?4利用前面定義的變量A、B、C、D、E,完成以下操作,注意變量與常量的區(qū)別:(1)輸出變量B和字符串常量”B”,觀察兩者有何不同;(2)輸出日期型常量{^2006-09-10}和變量C;(3)給變量t賦值為2,執(zhí)行命令?.t.,t注意觀察結果。5利用前面定義的變量A、B、C、D、E,完成以下操作,注意運算符的使用:(1)輸出當天日期與日期型變量C相差的天數(shù);(2)輸出當天日期的前10天和后10天的日期;(3)輸出變量A加上20后的結果;(4)執(zhí)行命令?B+E+"Z",B-E+"Z",觀察兩者有何不同;(5)輸出表達式C+10<DATE()的值;(6)輸出表達式B="ab"和B="ab">D的值;(7)執(zhí)行命令setexacton后,輸出(6)中表達式的值,與上題輸出的值進行比較。6轉換成VFP的表達式,并計算表達式的值(1);(3);(3),設x=8.5,y=12.6;(4)設直角三角形的兩條直角邊長分別為a=12,b=13,求斜邊c的長度,并保留一位小數(shù)。7利用函數(shù)完成以下操作,注意函數(shù)的使用:(1)求N的絕對值和絕對值的平方根;(2)輸出N的整數(shù)部分,不允許四舍五入;(3)對N保留小數(shù)2位;(4)將N的值轉換字符型,總位數(shù)為7位,小數(shù)位為1位。假設S1="重慶計算機基礎學會"(5)從字符串S1中分別取出字符串"重慶"、"計算機"、"學會";(6)分別測試字符串"計算機"、"計算機學會"在字符串S1中的起始位置。(7)測試字符串"學會"在字符串"重慶計算機基礎學會是西南地區(qū)計算機基礎研究學會"第二次出現(xiàn)的位置;(8)將字符串S1中的"重慶"改成"西部地區(qū)";(9)將字符串S1中的"基礎"去掉;(10)在字符串S1的前后各加5個星號;假設S2="□□□abCD34fgS□□"(其中“□”表示空格)(11)分別刪除字符串S2的首部空格、尾部空格、首尾的所有空格;(12)將字符串S2中所有字母分別轉換為大寫字母、小寫字母;(13)輸出當前的系統(tǒng)日期、系統(tǒng)時間,并分別測試其類型;(14)取出系統(tǒng)日期時間中的年、月、日、時、分、秒;假設C="07/21/2005"(15)將字符串C轉換為日期型并求出它15天后的日期;(16)分別將字符串""、"34abc56"、"ab123"轉換成數(shù)值型,并觀察它們的不同;(17)執(zhí)行命令?mod(35,6),mod(-35,6),mod(35,-6),mod(-35,-6)注意觀察當兩個參數(shù)符號改變后其值有何不同;(18)分別測試字符串"A","ABC"的ASCⅡ碼。(19)輸出比"Z"的ASCII小20的字符。(20)隨機輸出字符串“yes!”或”no!”8觀察?輸出的結果,分析下列命令中SET命令的作用?DATE()SETCENTURYON?DATE()SETDATETOANSI?DATE()1.3VisualFoxPro數(shù)據(jù)庫及其操作實驗3表設計1)實驗目的及要求要求掌握VFP數(shù)據(jù)表的設計方法,主要要求掌握【表設計器】及【表向?qū)А康氖褂谩M瑫r掌握表記錄數(shù)據(jù)的輸入方法——包括備注型和通用型字段數(shù)據(jù)的輸入方法。2)實驗內(nèi)容1創(chuàng)建數(shù)據(jù)表(1)VFP表設計器設計表所示的學生檔案表結構,文件名為“”。(2)輸入表所示的學生檔案信息到學生表中。表學生檔案表結構信息字段名字段類型字段寬度小數(shù)位數(shù)學號字符型8-姓名字符型8-性別字符型2-出生日期日期型--專業(yè)班級字符型20-照片通用型--簡歷備注型--表學生檔案表學號姓名性別出生日期專業(yè)班級照片簡歷20050005張廣田男10/11/1987計算機1班GenMemo20050010蜂雪燕女07/02/1987計算機1班GenMemo20050015何芳女05/06/1987計算機1班GenMemo20050020馮艷女09/09/1987計算機1班GenMemo20050025陳興華男02/14/1987英語3班GenMemo20050030陳宗貴男07/02/1987英語3班GenMemo20050035張偉男03/24/1987英語3班GenMemo20050040張光輝男03/07/1987英語3班GenMemo20043567那措央中女06/30/1986機械制造4班GenMemo20043679鄔德齋男04/26/1986機械制造4班GenMemo20045643崔婷婷女06/08/1986機械制造4班GenMemo20047634馮麗娟女06/30/1986機械制造4班GenMemo操作步驟:①【文件】菜單中選擇【新建】選項,在彈出的【新建】對話框中選擇【表】選項,如圖(a)所示,單擊【新建文件】按鈕,彈出【創(chuàng)建】對話框,在此填寫表文件名“”,如圖1.3.1(b)所示。圖(a)【新建】對話框圖1.3.1(b)【創(chuàng)建】對話框②單擊【保存】按鈕,打開【表設計器】,在表設計器中將各字段信息設定好,如圖所示,單擊【確定】按鈕,完成表結構的設計。圖【表設計器】對話框③首次創(chuàng)建數(shù)據(jù)表完成時,系統(tǒng)會提示是否輸入數(shù)據(jù),如果選擇【是】,進入數(shù)據(jù)錄入窗口,如圖所示。(注:通用型字段數(shù)據(jù)輸入時,雙擊gen,彈出“”窗口,然后在【編輯】菜單中選擇【插入】對象,在【插入對象】對話框中選擇【由文件創(chuàng)建】單選鈕,再單擊【瀏覽】按鈕,找到要插入的圖片,然后單擊【確定】按鈕,完成圖片的插入,最后單擊“”窗口的【關閉】按鈕保存。備注型字段數(shù)據(jù)輸入,雙擊memo,彈出“”窗口,在此窗口中輸入備注信息,單擊“”窗口上的【關閉】按鈕保存。圖數(shù)據(jù)錄入窗口(3)用VFP表設計器建立選課成績表和,并輸入表和表1.3.4中的數(shù)據(jù),文件名分別為“”和“”。表選課成績表學號/C/8課程號/C/3學期/C/2成績/N/5/1補考成績/N/5/120050010001138.020050020001120050025030188.0020050010030167.0020050005010158.0200500250342020045643001120050035023202004564303320表課程表課程號/C/3課程名/C/20學時/N/3學分/N/2必修否/L/1001高等數(shù)學I1208.T.010大學英語28012.T.030計算機基礎603.F.033操作系統(tǒng)基礎602.T.034微型計算機原理803.T.2數(shù)據(jù)表的簡單操作(1)打開“”數(shù)據(jù)表,用LIST和LISTSTRUCTURE命令分別顯示表的記錄和結構;(2)為打開的“”數(shù)據(jù)表增加一個“入學總分/N/5/1”字段,在“照片”字段之前插入,并輸入數(shù)據(jù)內(nèi)容(470到650之間);(3)打開“”數(shù)據(jù)表,用MODIFYSTRUCTURE命令,將“補考成績/N/5/1”字段改成“重修成績/N/3”(4)恢復對以上數(shù)據(jù)表的修改。實驗4數(shù)據(jù)表的操作1)實驗目的及要求通過本實驗掌握數(shù)據(jù)表的基本操作,主要要求掌握數(shù)據(jù)表中記錄的顯示、編輯、修改、插入與刪除,索引的建立與使用,記錄的查詢、統(tǒng)計計算等操作。2)實驗內(nèi)容1用“COPYTO<文件名>”命令復制當前打開的表文件(1)將打開的數(shù)據(jù)表“”復制一個備份,文件名為:“”,打開“”表并顯示;(2)將已打開的“”表文件中計算機1班的男生復制到“”中,打開“”表并顯示;(3)將已打開的“”表文件復制到“”,只取“姓名”,“性別”,“專業(yè)班級”等字段,打開“XSDA2.DBF”表并顯示;(4)將已打開的“”表文件中86年出生的女生復制到“”,只取“姓名”,“性別”,“出生日期”字段,打開“XSDA3.DBF”表并顯示;2用COPYSTRU命令復制當前表文件的結構。(1)打開數(shù)據(jù)表“”,用LISTSTRU顯示表的結構,將“”表文件的結構復制到“”,打開數(shù)據(jù)表“”,用LISTSTRU顯示表的結構;(2)將“”表文件結構復制到“”,只取“姓名”,“性別”,“專業(yè)班級”等字段,打開數(shù)據(jù)表“XS2.DBF”,用LISTSTRU顯示表的結構。3對學生檔案表完成下列操作:(1)向數(shù)據(jù)表末尾追加一記錄,各字段值自定;(2)將專業(yè)班級字段的值全部修改為“自動化1班”;(3)按性別字段建立結構復合索引,其標識名為“性別”,并顯示其結果;(4)邏輯刪除所有男生的記錄。操作步驟:①打開表的命令為“USE<數(shù)據(jù)表名>”,添加一條記錄的命令為“APPEND”,在“命令窗口”中輸入下列命令來完成第一個任務。USE學生檔案&&打開學生表APPEND&&在表尾部添加一條記錄,并彈出錄入窗口,在此輸入數(shù)據(jù)②在命令窗口中輸入:REPLACEALL專業(yè)班級WITH“自動化1班”LIST&&查看命令執(zhí)行結果這樣將對每一條記錄中的專業(yè)班級字段修改為“自動化1班”③在命令窗口輸入:Indexon性別tag性別LIST&&注意觀察排序結果,記錄號的位置變化這樣將對表按性別字段進行復合索引④在命令窗口輸入:DELETEFOR性別=”男”LIST&&注意觀察邏輯刪除的記錄這樣將邏輯刪除所有男生記錄多表關聯(lián)將學生檔案數(shù)據(jù)表、學生選課成績表、學生課程表進行關聯(lián),并顯示學生的學號、姓名、課程名及學生的成績操作步驟:在命令窗口中輸入:SELECT1USE學生檔案ALIASDA&&為學生檔案數(shù)據(jù)表定義別名DAINDEXON學號TAGXHSELECT2USE課程ALIASKC&&為課程表定義別名KC INDEXON課程號TAGKCH SELECT3 USE成績 SETRELATIONTO學號INTODA&&成績表與學生檔案表建關聯(lián) SETRELATIONTO課程號INTOKCADDITIVE&&成績表與課程表建關聯(lián) LIST學號,DA.姓名,KC.課程名,成績&&注意觀察顯示結果 CLOSEALL5建表,完成下列操作:(1)按如下內(nèi)容建立職工工資表(ZGGZ.DBF):Gh表示職工號,Xm表示姓名,Jbgz表示基本工資,Gwgz表示崗位工資,Bt表示補貼,Df表示電費,F(xiàn)z表示房租,Kkhj表示扣款合計,Yfgz表示應發(fā)工資,Sfgz表示實發(fā)工資,Bm表示部門,其中建表時Kkhj、Yfgz和Sfgz等字段中的記錄值為空,必須通過命令REPLACE計算得到,計算公式為:Kkhj=Df+Fz;Yfgz=Jbgz+Gwgz+Bt;Sfgz=Yfgz-kk表職工工資表GhXmBmJbgzGwgzBtDfFzKkhjYfgzSfgz1001李明洋廠部2003黃紅兵供應科1003趙偉康銷售科1004李良廠部2006黃金保銷售科61002孫武供應科2001錢紅銷售科2002楊鈴嵐銷售科2004陳宏廠部(2)計算銷售科所有職工的應發(fā)工資總和;(3)計算銷售科的最高基本工資和最低基本工資;(3)按部門進行匯總,統(tǒng)計各部門應發(fā)工資的總和;(5)給廠部的職工基本工資增加300元,銷售科職工的基本工資增加250元,供應科職工的基本工資增加150元。操作步驟:①命令窗口輸入:SUMyfgzTOsfFORBm="銷售科"&&sf為保存應發(fā)工資的變量?sf&&顯示應發(fā)工資這樣就將銷售科應發(fā)工資保存到變量sf中了②命令窗口輸入:CALCULATEMAX(Jbgz),MIN(Jbgz)TOzg,zdFORBm="銷售科"&&用變量zg,zd分別保存最高基本工資和最低基本工資?zg,zd&&顯示最高基本工資和最低基本工資這樣就將銷售科最高基本工資和最低基本工資就保存到變量zg和zd中了③命令窗口輸入:LIST&&查看命令執(zhí)行結果,注意和原表進行比較這樣就將各部門應發(fā)工資以記錄的方式保存到表Zggz1中了④命令窗口輸入:REPLACEJbgzWITHJbgz+300FORBm="廠部"REPLACEJbgzWITHJbgz+250FORBm="銷售科"REPLACEJbgzWITHJbgz+150FORBm="供應科"LIST&&查看命令執(zhí)行結果這樣就將廠部、銷售科、供應科職工分別增加相應的基本工資6對選課成績表作備份,文件名為“”;打開“”表,完成下列操作:(1)在數(shù)據(jù)表的第3條記錄之前插入一條記錄,各字段值自定,并顯示;(2)將所有學生的成績都加10分,并將重考成績字段的值全部修改為0;(3)用LOCATE和CONTINUE命令查詢學號為“20050010”的所有記錄并顯示,同時分別用RECNO()、FOUND()和EOF()函數(shù)測試記錄號、是否找到以及指針是否指到結束位置;(4)對數(shù)據(jù)表按“學期”升序,學期相同時按“成績”降序建立單索引文件,索引文件名為XQSY.IDX,并顯示其結果;(5)對數(shù)據(jù)表按“學期”降序,學期相同時按“成績”降序建立結構復合索引文件,索引標識名為XQ,并顯示其結果;(6)按學號字段升序建立結構復合索引,標識名為XH,并顯示其結果;(7)用SEEK和FIND命令分別查詢學號為“20050010”的第一條記錄,若要讓指針指到第二條記錄如何處理;(8)邏輯刪除前5條記錄中不及格的記錄,顯示后恢復;(9)物理刪除第二學期的記錄,并顯示;(10)用ZAP命令刪除CJ.DBF表文件中的所有記錄,再用LIST、LISTSTRU命令顯示文件內(nèi)容和結構;(11)測試空表的特征,顯示CJ.DBF表文件的BOF(),EOF(),RECNO()各函數(shù)的值。實驗5數(shù)據(jù)庫設計1)實驗目的通過本實驗掌握數(shù)據(jù)庫的建立方法,包括數(shù)據(jù)庫的設計、永久關系的建立、字段級規(guī)則和記錄級規(guī)則的建立,觸發(fā)器及參照完整性設計等操作。2)實驗內(nèi)容),將實驗二建立的三個表添加到數(shù)據(jù)庫中,并在三個表間建立永久關系。(2)分別為各表建立字段和記錄級規(guī)則。(3)為數(shù)據(jù)庫建立參照完整性規(guī)則。操作步驟:①選擇【文件】菜單下的【新建】命令項,在彈出的【新建】窗口中選擇【數(shù)據(jù)庫】,然后單擊【新建文件】,如圖所示,在彈出的【創(chuàng)建】對話框中輸入數(shù)據(jù)庫名“”,再單擊【保存】按鈕,如圖1.3.5所示。圖【新建】窗口圖1.3.5【創(chuàng)建】對話框②將“”、“”以及“”添加到數(shù)據(jù)庫中。在彈出的【數(shù)據(jù)庫設計器】的空白處單擊鼠標右鍵,在彈出的快捷菜單中選擇【添加表】選項,如圖所示,然后選擇要添加的表“”、“”以及“”。圖【數(shù)據(jù)庫設計器】窗口③在【數(shù)據(jù)庫設計器】中選定表“學生檔案”,單擊鼠標右鍵,選擇【修改】菜單項,如圖所示,啟動【表設計器】,在【索引】選項卡中設置“學號”索引的索引類型為“主索引”,如圖1.3.8所示。使用相同的方法設置其他的索引類型。圖在【數(shù)據(jù)庫設計器】中修改表結構圖設置主索引④在【數(shù)據(jù)庫設計器】中,將“學生檔案”表的主索引“學號”索引拖到“選課成績”表的“學號”索引上放下,在“學生檔案”表和“選課成績”表之間出現(xiàn)的一條線為關系線,如所示。圖建立數(shù)據(jù)庫表之間的永久關系使用同樣的方法,將“課程”的主索引“課程號”索引拖放到“選課成績”表的“課程號”上,建立永久關系。⑤在【數(shù)據(jù)庫設計器】中,選定相應的表,單擊鼠標右鍵,選擇【修改】命令項,啟動【表設計器】,在【表設計器】中選定相應字段,在字段有效性中設置“規(guī)則”、“信息”和“默認值”(可以單擊對應文本框后的“”按鈕,啟動【表達式編輯器】修改和編輯表達式),如圖所示為“學生檔案”表中性別字段的有效性規(guī)則的設置,然后單擊【確定】保存對表結構的修改。圖字段有效性設置⑥選定相應表,啟動【表設計器】,選擇【表】選項卡,在【記錄有效性】中設置“規(guī)則”和“信息”,如圖所示為“選課成績”表中設置記錄有效性規(guī)則。圖記錄有效性設置⑦選擇【數(shù)據(jù)庫】菜單下的【清理數(shù)據(jù)庫】命令項,將數(shù)據(jù)庫表中作刪除標記的記錄清除掉;選擇【數(shù)據(jù)庫】菜單下的【編輯參照完整性】命令項,彈出【參照完整性生成器】對話框,如圖所示。圖【參照完整性生成器】對話框此圖設置參照完整性的規(guī)則使用同樣方法設置“學生檔案-選課成績”關系的“更新規(guī)則”、“刪除規(guī)則”、“插入規(guī)則”為需要的規(guī)則,單擊【確定】按鈕,彈出詢問是否保存改變的參照完整性的對話框,如圖所示,單擊【是】按鈕,彈出詢問是否生成新的參照完整性代碼的對話框,如圖1.3.15所示,單擊【是】按鈕,就完成了參照完整性的設置。圖保存對參照完整性的修改圖生成新的參照完整性代碼查詢與視圖及SQL實驗6【查詢設計器】的使用1)實驗目的掌握使用【查詢設計器】進行各種查詢操作。2)實驗內(nèi)容簡單查詢練習建立查詢文件CX1,查詢“”中計算機1班的學生信息。操作步驟:①創(chuàng)建查詢:選擇【文件】菜單下【新建】命令或【新建】按鈕進入【新建】對話框,選擇【查詢】,單擊【新建文件】。②添加表或視圖,添加“”。③確定輸出選項。在字段選項卡選擇:全部添加。在篩選選項卡構造條件:學生檔案.專業(yè)班級="計算機1班",如圖1.4.1所示圖圖1.設置篩選條件④保存查詢:選擇【文件】菜單下【另存為】命令,進入“另存為”對話框,給定文件名CX1,單擊【保存】。⑤運行查詢:使用工具欄【運行查詢】按鈕運行查詢。結果如圖1.所示。圖1.計算機1班學生信息分組計算查詢建立查詢文件CX2,查詢選修了兩門及以上課程的學生學號、選課門數(shù)和平均成績了。操作步驟:①創(chuàng)建查詢,方法見簡單查詢。②添加表或視圖,添加選課成績.dbf。③確定輸出選項。在字段選項卡構造:選課成績.學號,COUNT(選課成績.課程號),AVG(選課成績.成績)AS平均成績。如圖1.所示。圖選擇構造輸入字段表達式在分組依據(jù)選項卡選擇設置:學號,并單擊【滿足條件】按鈕,構造分組條件,如圖1.所示。圖設置分組條件④保存查詢:見實驗內(nèi)容1中步驟4,給定文件名CX2。⑤運行查詢:方法見簡單查詢,結果如圖1.所示。圖分組計算查詢結果多表查詢建立查詢文件CX3,查詢學生姓名、選修課程名和成績,結果按成績由高到低排序到WW.DBF。操作步驟:①創(chuàng)建查詢,方法見簡單查詢。②添加表或視圖,添加學生檔案.dbf,選課成績.dbf,課程.dbf(注意添加表的順序,學生檔案.dbf和課程.dbf沒有直接對應關系)。③確定輸出選項。觀察連接選項卡添加的條件。在排序依據(jù)選項卡設置排序:選課成績.成績,并選擇降序,如圖1.所示。圖設置排序依據(jù)④運行查詢:方法見簡單查詢,結果如圖1.所示。圖多表查詢默認瀏覽輸出⑤設置查詢?nèi)ハ颍哼x擇【查詢】菜單下【查詢?nèi)ハ颉窟M入“查詢?nèi)ハ颉睂υ捒?,選擇“表”,單擊【確定】按扭,輸入表名WW。⑥保存查詢:見實驗內(nèi)容1中步驟4,給定文件名CX3。⑦運行查詢:方法見簡單查詢,(此時不會出現(xiàn)默認的瀏覽窗口)。⑧打開表WW,瀏覽:USEWWBROWSE瀏覽窗口與圖相同,只是窗口名稱為表名WW,可以瀏覽窗口修改數(shù)據(jù),而默認的查詢輸出瀏覽窗口名稱均為查詢,數(shù)據(jù)只能顯示,不能修改。綜合查詢建立查詢文件CX4,查詢70分以上的學生信息,包括姓名、年齡、課程名、成績,結果按年齡由高到低排序。操作步驟:①創(chuàng)建查詢,方法見簡單查詢。②添加表或視圖,添加學生檔案.dbf,選課成績.dbf。③確定輸出選項。在篩選選項卡構造條件:選課成績.成績>=70。在排序依據(jù)選項卡設置排序:year(date())-year(學生檔案.出生日期)as年齡,并選擇降序。④保存查詢:見實驗內(nèi)容1中步驟4,給定文件名CX4。⑤運行查詢:方法見簡單查詢,結果如圖1.所示。圖圖綜合查詢結果實驗7【視圖設計器】的使用1)實驗目的掌握使用【視圖設計器】設計視圖、使用視圖。2)實驗內(nèi)容建立視圖創(chuàng)建視圖ST1,包含學生檔案.dbf中的學號、姓名,課程.dbf中的課程名,選課成績.dbf中的成績,修改視圖中的成績?yōu)槊織l記錄加5分,并將結果發(fā)送回選課成績.dbf中。操作步驟:①打開建立視圖的數(shù)據(jù)庫學生學籍管理系統(tǒng)選擇【文件】菜單下【打開】命令進入“打開”對話框,選擇“數(shù)據(jù)庫”,選擇“文件學生學籍管理系統(tǒng)”。②創(chuàng)建視圖選擇【文件】菜單下【新建】命令進入“新建”對話框,選擇“視圖”,單擊【新建文件】。③添加表或視圖,根據(jù)本題要求,將學生檔案.dbf,選課成績.dbf和課程.dbf加入到視圖設計器。④確定視圖選項。觀察連接選項卡添加的條件。設置更新條件:在更新條件選項卡設置關鍵字段為選課成績.學號,可更新字段為選課成績.成績,單擊選中“發(fā)送SQL更新”復選框,結果如圖1.所示。圖設置更新條件⑤保存視圖:選擇【文件】菜單下【另存為】命令,進入“另存為”對話框,給定視圖名ST1并保存。⑥瀏覽視圖右鍵單擊視圖打開快捷菜單【瀏覽】。瀏覽窗口如圖1.所示。圖視圖瀏覽窗口⑦修改視圖的成績字段,使成績加5分。命令格式:REPLACEALL成績WITH成績+5操作結果如圖1.所示。圖修改后的視圖⑧觀察選課成績.dbf數(shù)據(jù)。打開此表瀏覽,由于該表學號不唯一,在使用視圖更新表時,會發(fā)生更新沖突,因此這種更新只有當關鍵字段唯一時方能正常進行。2使用視圖完成前面的查詢前面4個查詢操作,除了實驗內(nèi)容3的查詢?nèi)ハ虿荒茉谝晥D中進行設置外,其余均可由視圖來完成查詢。實驗8使用SQL語言操作表數(shù)據(jù)1)實驗目的理解SQL語句的功能,掌握使用SQL語言來操作數(shù)據(jù)表(即數(shù)據(jù)表的定義、表數(shù)據(jù)的更新和查詢)。2)實驗內(nèi)容1用SQL語句建立數(shù)據(jù)庫及數(shù)據(jù)表(1)建立人事數(shù)據(jù)庫,根據(jù)表給出的表結構,使用SQL語言建立數(shù)據(jù)庫表職工zgb.dbf,職工號為主索引。操作步驟:①創(chuàng)建數(shù)據(jù)庫。參考命令:CREATEDATABASE人事②打開數(shù)據(jù)庫設計器。參考命令:MODIFYDATABASE人事③建立職工表。參考命令:CREATETABLEzgb(職工號C(5)PRIMARYKEY,部門號C(2),姓名C(8),;性別C(2),職稱C(10),出生日期D,婚否L,工資N(8,2)表職工表結構(zgb.dbf)字段號類型寬度小數(shù)位數(shù)職工號C5部門號C2姓名C8性別C2職稱C10出生日期D8婚否L1工資N72(2)按照(1)的方法建立部門表bmb.dbf(部門代碼C(2),部門名稱C(10),負責人C(8)),部門代碼為主索引。(3)按照(1)的方法建立工資表gzb.dbf,結構如下:其中職工號為主索引。職工號C(5),基本工資N(8,2),津貼N(7,1),獎金N(3),會費N(5,2),公積金N(3)2修改表結構(1)刪除職工表的婚否字段,增加年齡,將姓名字段寬度改為6.參考命令:ALTERTABLEzgbADD年齡ALTER姓名C(6)DROP婚否(2)職稱增加默認值“教授”。參考命令:ALTERTABLEzgbALTER職稱SETDEFAULT"教授"3輸入、修改和刪除表數(shù)據(jù)(1)使用SQL的INSERT輸入的數(shù)據(jù),數(shù)據(jù)見表所示(操作前將職工數(shù)據(jù)表瀏覽窗口打開,操作中注意觀察表數(shù)據(jù)變化)。參考命令:INSERTINTOzgbVALUES("02365","11","周小杰","男","講師",;{^1970-12-25},.T.,863.00)其他數(shù)據(jù)請補充完整。表職工號部門號姓名性別職稱出生日期婚否工資0236511周小杰男講師12/25/70.T.0252812王雨女副教授03/12/60.T.0102311李思男副教授07/08/61.T.0103512蔡英女講師09/18/76.F.0252621劉紅女副教授12/15/70.T.0123421李瑪麗女副教授05/23/70.T.0245822李新男教授03/11/58.T.0263622鄭然女助教06/19/80.F.(2)按上面的方法完成部門數(shù)據(jù)表bmb.dbf和工資數(shù)據(jù)表f的數(shù)據(jù)輸入,參考數(shù)據(jù)見表、表1.4.4所示。表部門數(shù)據(jù)表bmb.dbf部門代碼部門名稱負責人22網(wǎng)絡教研室李新12基礎教研室王雨21軟件教研室李瑪麗11教育教研室李思表工資數(shù)據(jù)表職工號基本工資津貼獎金會費公積金0236511590025281441400102313612001035968002526115120012341151200145815616002636787001020147160(3)將zgb.dbf添加的年齡字段,使用出生日期數(shù)據(jù)進行更新,工資表中的會費由基本工資的千分之五替換,注意觀察表數(shù)據(jù)變化。參考命令:UPDATE職工SET年齡=YEAR(DATE())-YEAR(出生日期)&&計算替換年齡UPDATE工資SET會費=0&&會費清零UPDATE工資SET會費=基本工資*0.005&&據(jù)工資修改會費ALTERTABLE職工DROP年齡&&刪除年齡字段(4)刪除zgb.dbf中男職工的記錄。參考命令:DELETEFROM職工WHERE性別="男"觀察表變化,然后使用RECALLALL恢復。4查詢表數(shù)據(jù)(以下操作將基于上面給出的三個表的數(shù)據(jù))(1)查詢zgb.dbf中的職稱和年齡情況。參考命令:SELECT職稱,YEAR(DATE())-YEAR(出生日期)AS年齡FROMzgb(2)查詢bmb.dbf信息。參考命令:SELECT*FROMzgb(3)查詢部門代碼第一個字符為2的部門信息。參考命令:SELECT*FROMbmbWHERELEFT(部門代碼,1)="2"(4)查詢zgb.dbf中70年(含70年)以前出生的男職工的姓名和工資。參考命令:SELECT姓名,工資FROMzgbWHEREYEAR(出生日期)<=1970AND性別="男"(5)查詢zgb.dbf中1960年到1970年(含1960年1970年)出生的職工姓名和出生日期。參考命令:SELECT姓名,出生日期FROMzgbWHEREYEAR(出生日期)BETWEEN1960AND1970(6)統(tǒng)計zgb.dbf中記錄數(shù)和部門數(shù)。參考命令:SELECTCOUNT(*)AS記錄數(shù),COUNT(DISTINCT部門號)AS部門數(shù)FROMzgb(7)統(tǒng)計zgb.dbf中工資總和及平均工資。參考命令:SELECTSUM(工資)工資總和,AVG(工資)平均工資FROMzgb(8)按部門統(tǒng)計各部門的人數(shù)、工資和、最高工資、最低工資、平均工資。參考命令:SELECT部門號,COUNT(*)人數(shù),SUM(工資)工資和,;MAX(工資)最高工資,MIN(工資)最低工資,AVG(工資)平均工資;FROMzgbGROUPBY部門號(9)觀察下述命令的執(zhí)行結果,體會分組依據(jù)(職稱和性別)前后順序變化的影響。參考命令:SELECT職稱,性別,COUNT(*),AVG(工資)FROMzgbGROUPBY職稱,性別SELECT性別,職稱,COUNT(*),AVG(工資)FROMzgbGROUPBY性別,職稱(10)查詢zgb.dbf中副教授以上的記錄,并按工資降序排序,工資相同時按出生日期升序排序。參考命令:SELECT*FROMzgbWHERE職稱IN("教授","副教授");ORDERBY工資DESC,出生日期1.5結構化程序及面向?qū)ο蠡A實驗9程序控制結構1)實驗目的通過本實驗,要求大家熟練掌握用程序的基本控制結構特別是循環(huán)結構來進行程序設計。2)實驗內(nèi)容1簡單程序設計(1)編寫一程序,其功能是輸出-100到100中能被7整除的偶數(shù)。(2)有一數(shù)列,前兩個數(shù)是1、1,第三個數(shù)是前兩個數(shù)的和,以后的每個數(shù)都是其前兩個數(shù)的和。請編寫程序,要求輸出這個數(shù)列的前30個數(shù)。(3)根據(jù)輸入的學生姓名查詢中的信息,查到則顯示該學生信息,否則顯示“查無此人”的提示信息。(4)逐條統(tǒng)計“”中男生人數(shù)。參考程序:(1)CLEAR(2)CLEARFORI=-100TO100STEP2A=1IFMOD(I,7)=0B=1?I?A,BENDIFFORI=3TO30ENDFORC=ARETURNA=B(3)CLEARB=A+CUSE學生檔案??BACCEPT"請輸入學生姓名:"TONAMEENDFORLOCATEFOR姓名=NAMERETURNIFFOUND()DISPLAYELSE?"查無此人"ENDIFUSERETURN(4)方法一:方法二:CLEARCLEARUSE學生檔案USE學生檔案STORE0TOMSTORE0TOMDOWHILENOTEOF()SCANFOR性別="男"IF性別=”男”M=M+1M=M+1ENDSCANENDIF?"男生人數(shù):"+STR(M)SKIPUSEENDDORETURN ?"男生人數(shù):"+STR(M) USERETURN2多表程序設計(1)有兩個教材管理的表文件如下:1)教材信息表()編號書名編著者出版社單價00101計算機原理揚山天天出版社23.8005991高等數(shù)學李理彩云出版社17.0000120普通化學浦云科技出版社10.8000210物理學陳劉科技出版社16.5000311大學英語歐陽上海出版社18.602)教材使用專業(yè)表()編號使用專業(yè)人數(shù)00101計算機20054000101工自20053000311企管20046000311會計20045400101機電20054500311計算機20054000311機電20054500210機電200545注:教材使用專業(yè)人數(shù)即為預訂教材冊數(shù)。①編制程序(PROG1_1.PRG),輸入教材的編號,顯示出其書名、使用專業(yè)、人數(shù),格式如下:編號:XXXXX書名:XXXX序號使用專業(yè)人數(shù)1.....②編寫程序(PROG1_3.PRG)計算每種教材的預定金額,并按如下格式顯示。(算法:每種教材總的預定冊數(shù)*單價。)書名單價預定總冊數(shù)預定總金額計算機原理23.80…………③編寫程序(PROG1_4.PRG)通過輸入“書名”,可以反復查找購買該教材的“專業(yè)名稱”、“冊數(shù)”等,按下列格式顯示出來:教材銷售單書名:計算機原理使用專業(yè)冊數(shù)……合計..(冊)...(元)(2)有一職工代碼表(),人事信息表()代碼職稱編號姓名性別職稱基本工資工齡工資扣款實發(fā)工資013助理工程師1041趙娟女015技術工人5101駱藝男002工程師1030沈崢女01587.005.0011.00001高工4103劉芳女5130楊山男1025劉柳男編一個程序(文件名PROG2.PRG),完成以下任務:①計算發(fā)工資(實發(fā)工資=基本工資+工齡工資-扣款)并填入F中。②統(tǒng)計各類職稱的基本工資,工齡工資,扣款,實發(fā)工資總數(shù)。③顯示統(tǒng)計結果,其中統(tǒng)計表中“高工,工程師,助理工程師,技術工人”等職稱名字必須通過職工代碼表得到,并以代碼的索引順序顯示,其格式如下:基本工資工齡工資扣款實發(fā)工資高工......工程師.............合計......(3)某大學暑假舉辦各種培訓班,有關部門對學員進行管理,每個學員要登記兩張表,如表1、表2所示。(說明:每個學員可以參加1個以上學習班,表2為按學員累計姓名住宿情況)表1:表2:姓名學習班名稱學費姓名每日宿費天數(shù)李璐計算機300.00李璐40.0012趙勇英語250.00歐陽芳55.0010歐陽芳文秘200.00王靜35.0020王靜財會250.00劉欣45.0020王靜文秘200.00趙勇40.0030劉欣計算機300.00周陽55.0010趙勇財會李璐英語趙勇計算機周陽英語250.00①編寫程序(文件名PROG3_1.PRG)統(tǒng)計并輸出每位學員各項明細費用及總費用,按下列格式顯示出來:學員費用情況單姓名學費住宿費總費用李璐550.00480.00103…………(注:住宿費=每日宿費*天數(shù),學費為該學員所上各學習班學費總和總費用=學費+住宿費)②編寫程序(文件名PROG3_2.PRG)利用以上兩個表,通過輸入的學習班名稱,查詢該學習班的每個學員的姓名,每日宿費,天數(shù)以及應繳的住宿費(=每日宿費*天數(shù))。按下列格式顯示出來(例如下面是計算機學習班的情況):學習班學員住宿情況學習班名稱:計算機姓名每日宿費天數(shù)住宿費李璐40.001248劉欣45.002090趙勇40.0030120合計………參考程序:(1)*cleacleaallsettalkoffsetsafeoffsele1usejckindeon編號tagbhsele2usejczysetrelato編號intojckacce"請輸入教材的編號:"tobhlocafor編號=bh?"序號使用專業(yè)人數(shù)"i=1scanfor編號=bh ?i,使用專業(yè),人數(shù) i=i+1endsclosallsettalkonsetsafeonretu*cleacleaallsettalkoffsetsafeoffsele1usejczyindeon編號tagbhtotalon編號tohzsele2usehzindeon編號tagbhsele3usejcksetrelato編號intohz?"書名單價預定總冊數(shù)預定總金額"scanendsclosallsettalkonsetsafeonretu*cleacleaallsettalkoffsetsafeoffsele1usejckindeon編號tagbhsele2usejczysetrelato編號intojckdowhile.t. acce"請輸入書名:"tosm ?"教材銷售單" ?"書名:"+sm ?"使用專業(yè)冊數(shù)" scanforjck.書名=sm ?使用專業(yè),人數(shù) ends sum人數(shù)torsforjck.書名=sm locaforjck.書名=sm ?"合計",rs,"(冊)",je,"(元)" wait"是否繼續(xù)(Y/N)?"tox ifupper(x)="N" exit endifenddclosallsettalkonsetsafeonretu(2)*PROG2.PRGcleacleaallsettalkoffsetsafeoffsele1usersreplaceall實發(fā)工資with基本工資+工齡工資-扣款indeon職稱tagzcdmtotalon職稱tohzusehzindeon職稱tagzcdmsele2usezdsetrelato代碼intohzindeon代碼tagdm&&按代碼升序排列?"基本工資工齡工資扣款實發(fā)工資"scanendscansumhz.基本工資,hz.工齡工資,hz.扣款,hz.實發(fā)工資tojb,gl,kk,sf?"合計",jb,gl,kk,sfclosallsettalkonsetsafeonretu(2)*cleacleaallsettalkoffsetsafeoffsele1use學費indeon姓名tagxmtotalon姓名tohzsele2usehzindeon姓名tagxmsele3use住宿費setrelationto姓名intohz?"學員費用情況單"?"姓名學費住宿費總費用"scan ?姓名,hz.學費,每日宿費*天數(shù),hz.學費+每日宿費*天數(shù)endsclosallsettalkonsetsafeonretu*cleacleaallsettalkoffsetsafeoffsele1use住宿費aliazsfindeon姓名tagxmsele2use學費setrelato姓名intozsfacce"請輸入學習班名稱:"tomc?"學習班名稱:"+mc?"姓名每日宿費天數(shù)住宿費"store0tox1,x2,x3scanfor學習班名稱=mcendssumzsf.每日宿費,zsf.天數(shù),zsf.每日宿費*zsf.天數(shù)tox1,x2,x3for學習班名稱=mc?"合計"+""+str(x1,6,2)+""+alltrim(str(x2))+""+str(x3,7,2)closallsettalkonsetsafeonretu實驗10模塊化程序設計1)實驗目的:通過本實驗,要求大家掌握用模塊化的程序程序設計思想來組織自己的程序系統(tǒng),并對程序模塊間的參數(shù)傳遞及程序變量的作用范圍能夠把握。2)實驗內(nèi)容:1用自定義函數(shù)或子程序的方法編寫程序(1)計算函數(shù)y=3+6x在2,4,6處的值,并求出平均值;(2)輸入梯形的上底長、下底長和高,求梯形的面積。參考程序:①自定義函數(shù)(思考:用子程序的方法如何編寫該程序) CLEAR S=0 N=1FORX=2TO6STEP2?Y(X)S=S+Y(X)N=N+1NEXT ?"平均值為:",S/N RETURNFUNCTIONYPARAMETERSXRETURN3+6*X②自定義函數(shù)(思考:用子程序的方法如何編寫該程序)CLEARINPUT"請輸入梯形的上底長:"TOXINPUT"請輸入梯形的下底長:"TOYINPUT"請輸入梯形的高:"TOZ?"梯形的面積為:",AREA(X,Y,Z)RETURNFUNCTIONAREAPARAMETERSA,B,HS=(A+B)*H/2RETURNS2讀下面的程序?qū)懗鲞\行結果*主程序PUBLICX1,X12,XYZSTORE5TOX1,X12,XYZ,ADOSUB1?"X1=",X1,"X12=",X12,"XYZ=",XYZ,"A=",ACANCEL*子程序PRIVATEALLLIKEX1*STORE0TOX1,X12,XYZX1=X1+1X12=X12+1XYZ=XYZ+1?"X1=",X1,"X12=",X12,"XYZ=",XYZ,"A=",AWAITDOSUB2RETURN*子程序X1=X1+1X12=X12+1XYZ=XYZ+1RETURN1.6表單設計實驗11常用表單控件(一)1)實驗目的(1)熟練掌握表單設計器的使用方法。(2)熟練在表單新建的方法和步驟。(3)掌握在表單中添加對象的操作方法。(4)掌握在屬性窗口中設置對象屬性的方法。(5)掌握在對象事件中書寫代碼的方法。(6)掌握常見對象的事件和屬性以及對象的方法。(7)掌握文本框、標簽、按鈕的常用屬性、方法的代碼。2)實驗內(nèi)容設計一個登錄表單LOGIN.SCX,如圖所示。當用戶輸入用戶名和密碼并單擊“登錄”按鈕后檢查其輸入是否正確,若正確(假定用戶名為SWNU_JKX,密碼為CCEO),就顯示一個對話框為“歡迎使用學生信息管理系統(tǒng)”;若不正確,則顯示“用戶名或密碼不正確!”。單擊“取消”按鈕則關閉表單。(要求將“登錄”按鈕設置為Default按鈕。另外,密碼輸入時顯示星號“*”。)圖登錄表單效果圖操作步驟:先創(chuàng)建表單,然后在表單上添加兩個標簽label1和label2、兩個文本框text1和text2以及兩個命令按鈕Command1和Command2。②設置表單的Caption為“學生管理系統(tǒng)登錄”;分別設置label1和label2的Caption屬性值為“用戶名”和“密碼”;分別設置Command1和Command2按鈕的Caption屬性值為“登錄”和“退出”,“登錄”按鈕的Default屬性值設置為.T.;設置文本框text2的Passwordchar屬性值為“*”。③雙擊“登錄”按鈕啟動代碼窗口,在Command1的Click事件中設置如下代碼:IFThisform.Text1.value="SWNU_JKX"ANDThisform.Text2.Value="CCEO"&&注意大小寫,在這里是要求區(qū)分大小寫的=MESSAGEBOX("歡迎使用學生信息管理系統(tǒng)","提示信息")&&產(chǎn)生提示窗口,第一個字符串為要提示的信息,第二個為窗口標題ELSE=MESSAGEBOX("用戶名或密碼錯誤!","提示信息")ENDIF④雙擊“退出”按鈕,在Command2的Click事件中設置如下代碼:Thisform.Release&&調(diào)用表單release方法關閉表單⑤保存表單。單擊工具欄上【保存】按鈕,在【另存為】對話框中將表單保存為“”。⑥運行表單。單擊工具欄上【運行】按鈕,執(zhí)行表單,觀察效果。實驗12常用表單控件(二)1)實驗目的(1)掌握組合框的常用屬性和方法以及事件的使用方法。(2)掌握列表框的常用屬性和方法以及事件的使用方法。(3)掌握復選框的常用屬性和方法以及事件的使用方法。(4)體會在控件中編寫查詢代碼的方法。2)實驗內(nèi)容1設計查詢表單設計一個選擇查詢表單SEARCH.SCX,如圖所示。要求表單運行時,可以先在右側下拉列表框中選擇要打開并查詢的表的文件(此時,表的字段要自動顯示在左側的列表框內(nèi));然后在列表框中選擇要輸出的字段;最后單擊“查詢”按鈕,顯示指定表中的記錄在指定字段上的內(nèi)容。圖選擇查詢操作步驟:①創(chuàng)建表單,然后在表單上添加兩個標簽Label1和Label2、添加一個列表框List1、一個組合框Combo1以及兩個按鈕Command1和Command2。②設置表單Caption屬性值為“選擇查詢”;分別設置標簽label1和label2的Caption為“選擇字段”和“選擇表文件”;分別設置命令按鈕Command1和Command2的Caption屬性值為“查詢”和“關閉”。③設置組合框Combo1的Style屬性值為“2-下拉列表框”,RowSourceType屬性值為“7-文件”(將盤上根目錄或子目錄中的文件名作為下拉列表框的條目),RowSource屬性值為“*.DBF”(在列表中只顯示VisualFoxPro表文件);設置列表框List1的RowSourceType屬性值為“8-結構”(在列表中顯示當前打開表中的字段信息),MultiSelect屬性值為.T.。④雙擊組合框Combo1在InteractiveChange事件中設置如下代碼:table=This.ValueUSE&tableThisForm.List1.RowSource=This.Value⑤雙擊“查詢”按鈕,在Command1的Click事件中設置如下代碼:zd=""Fori=1ToThisForm.List1.ListCountIFThisForm.List1.Selected(i)zd=zd+","+ThisForm.List1.List(i)ENDIFENDFOR&&循環(huán)產(chǎn)生查詢要顯示的字段信息zd=SUBSTR(zd,2)&&去掉多余的第一個逗號“,”SELECT&zdFROM&table&&利用宏代換技術生成SELECT-SQL語句⑥雙擊“關閉”按鈕,在Command2的Click事件中設置代碼:ThisForm.Release。⑦保存表單到表單文件“”。⑧運行表單。2修改查詢表單修改前面得到的表單SEARCH.SCX,如圖所示,添加一個復選框控件和文本框控件,當復選框被選中時文本框成為可見的,單擊“查詢”按鈕就可以進行條件查詢;復選框沒有選中時,文本框不可見,單擊“查詢”按鈕就可查詢表中全部記錄。圖加條件的選擇查詢操作步驟:①打開表單“”,在表單上添加一個復選框Check1和一個文本框Text1。②設置復選框Check1的Caption屬性值為“查詢條件”;設置文本框Text1的Visible屬性值為.F.。③雙擊復選框Check1,設置Click事件代碼為:IFThis.Value=1ThisForm.Text1.Visible=.T.&&當復選框選中時text1就設置為可見的ELSE.Visible=.F.&&當復選框取消選中時text1就設置為不可見ENDIF④修改“查詢”按鈕的Click事件代碼為:zd=""&&初值為空串Fori=1ToThisForm.List1.ListCountIFThisForm.List1.Selected(i)zd=zd+","+ThisForm.List1.List(i)ENDIFENDFOR&&循環(huán)產(chǎn)生查詢要顯示的字段信息zd=SUBSTR(zd,2)&&去掉多余的第一個逗號“,”IFThisForm.Check1.Value=1SELECT&zdFROM&tableWHERE&tj&&利用宏代換技術生成SELECT-SQL語句ELSESELECT&zdFROM&tableENDIF⑤保存表單并運行。實驗13常用表單控件(三)1)實驗目的(1)練習并掌握表格控件的使用方法。(2)掌握表格常用屬性的使用方法。(3)掌握選項組控件的使用方法。2)實驗內(nèi)容設計一個學生成績綜合查詢表單,如圖所示,要求根據(jù)對查詢依據(jù)的選擇,文本框前面的標簽就顯示相應的文字;然后在文本框中輸入要查詢的信息,單擊“查詢”按鈕就可進行模糊查詢,并將查詢結果顯示在表格中。圖學生成績綜合查詢表操作步驟:①啟動【表單設計器】,設置表單的Caption屬性為“學生成績綜合查詢”;然后在表單上添加標簽label1,設置Caption屬性為“請選擇查詢依據(jù)”;在表單上添加一個選項組控件對象OptionGroup1,選定該對象然后單擊鼠標右鍵選擇【生成器】菜單項,在【選項組生成器】窗口的【按鈕】選項卡中設置“按鈕的數(shù)目”為4,標題分別設置為“按姓名查詢”,“按學號查詢”,“按院系查詢”和“按課程名查詢”,在【布局】選項卡中設置“按鈕布局”為“水平”,然后單擊【確定】按鈕。②再添加一標簽控件label2,設置Caption屬性為“請輸入姓名:”;添加一文本框控件對象Text1;添加一個命令按鈕,設置Caption屬性為“查詢”;添加一表格控件Grid1,設置RecordSourceType屬性為“4-SQL說明”。③雙擊OptionGroup1在它的Click事件中添加代碼,使得當選擇相應選項按鈕時,label2就顯示對應的提示信息,代碼如下:docasecasethis.value=1&&OptionGroup對象的Value屬性返回選中按鈕的序號thisform.label2.caption="請輸入姓名:"casethis.value=2thisform.label2.caption="請輸入學號:"casethis.value=3thisform.label2.caption="請輸入專業(yè)班級:"casethis.value=4thisform.label2.caption="請輸入課程名:"endcase④雙擊“查詢”按鈕在Click事件中添加代碼,實現(xiàn)生成查詢使用的SELECT-SQL語句,并且使用代碼的方式設置Grid1的RecordSource為此SQL語句,代碼如下:docasecasethisform.optiongroup1.value=1tj="姓名like'%"+alltrim(thisform.text1.value)+"%‘"casethisform.optiongroup1.value=2tj="學生檔案.學號like'%"+alltrim(thisform.text1.value)+"%‘"casethisform.optiongroup1.value=3tj="專業(yè)班級like'%"+alltrim(thisform.text1.value)+"%’"casethisform.optiongroup1.value=4tj="課程名like'%"+alltrim(thisform.text1.value)+"%’"endcase&&根據(jù)選擇的不同查詢依據(jù)產(chǎn)生查詢條件sql="SELECT學生檔案.學號AS學號,姓名,性別,專業(yè)班級,課程名,成績,;重考成績FROM學生檔案,選課成績,課程;WHERE選課成績.學號=學生檔案.學號AND選課成績.課程號=課程.課程號;AND"+tj+"INTOCURSORtemp"Thisform.Grid1.RecordSource=sql⑤保存表單文件為ZHCX.SCX。⑥實驗14常用表單控件(四)1)實驗目的(1)練習頁框控件的使用。(2)練習定時器控件的使用。(3)了解表單中對象移動的原理。(4)練習超鏈接控件的使用。2)實驗內(nèi)容設計一個表單ABOUT.SCX,表單中有一個頁框其中包含兩個頁“開發(fā)團隊”和“推薦搜索引擎”,在“開發(fā)團隊”中實現(xiàn)“制作群”及其以下的文字緩緩地向上移動到一定位置停下。在“推薦搜索引擎”中添加一張圖片,當單擊圖片時就啟動網(wǎng)頁瀏覽器并訪問網(wǎng)站“”。單擊“確定”按鈕就關閉窗口。操作步驟:①啟動表單設計器,設置表單的Caption屬性為“有關我們的情況”。②在表單中添加一個頁框?qū)ο驪ageFrame1,設置其PageCount屬性為2。③選定頁框?qū)ο?,單擊鼠標右鍵選擇“編輯”命令項,這時我們就可以選擇頁框中的頁對象Page1設置Caption屬性為“開發(fā)團隊”,在Page1中添加標簽Label1,Label2,Label3,分別設置他們的Caption屬性為“制作群”,“公共計算機基礎教育部”,“系統(tǒng)研發(fā)小組”;再添加一個計時器Timer1,設置Interval屬性為100(相當于0.1秒)。④雙擊計時器Timer1在Timer事件(每隔Interval指定的時間就觸發(fā)一次)中添加代碼,實現(xiàn)標簽的移動,代碼如下:IFThis.Parent.Label1.Top>20&&如果第一個標簽的Top大于20像素時繼續(xù)移動Tarent.Label1.Top=This.P&&向上移動一個像素This.Parent.Label2.Top=This.PThis.Parent.Label3.Top=This.PThis.Parent.Label4.Top=This.PELSEThis.Enabled=.F.&&標簽移動到位時,計時器設為不可用標簽不再移動ENDIF⑤選擇頁框中的頁對象Page2設置Caption屬性為“推薦搜索引擎”,在Page2上添加一圖片控件對象Image1,設置Picture屬性為“”(這里我們使用的是從網(wǎng)上下載的Google的圖片logo.gif保存到c:\myfile文件夾下的),設置BackStyle屬性為“0-透明”;再添加一超級鏈接控件對象HyperLink1。⑥雙擊Image1,在Click事件中添加如下代碼:This.Parent.HyperLvigateTo("")&&HyperLink對象的NavigateTo方法指定鏈接的地址表單中添加命令按鈕,設置Caption屬性為“確定”⑧保存表單到文件About.SCX。⑨運行表單。實驗15表單控件綜合設計(一)1)實驗目的(1)理解表單、控件的關系(2)掌握設計表單的方法(3)熟練掌握表單設計器的操作(4)掌握表單、頁框、標簽、文本框、命令按鈕、列表框等常用對象的主要屬性、事件和方法2)實驗要求(1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度月子中心產(chǎn)后恢復中心合作框架協(xié)議
- 中國廣電手機產(chǎn)品白皮書2025年版
- 2025年度儲能設備箱涵項目施工臨時照明勞務分包合同
- 2025年發(fā)酵類制品項目建議書
- 2025年鉆采裝備項目發(fā)展計劃
- 2025年青霉素類抗菌藥物合作協(xié)議書
- 如何將個人成長納入月度工作計劃
- 學生發(fā)展報告與個案分析計劃
- 如何開展班級傳統(tǒng)文化教育計劃
- 幼兒閱讀推廣計劃
- 住院精神疾病患者自殺風險護理
- 供應室課件大全
- 浙江省大學生職業(yè)生涯規(guī)劃大賽賽前輔導課件
- 部編四下語文《口語交際:轉述》公開課教案教學設計【一等獎】
- 倉庫每日巡查制度
- 學校教育數(shù)字化工作先進個人事跡材料
- 動物防疫服務投標方案(技術方案)
- 2024年新課標全國Ⅰ卷語文高考真題試卷(含答案)
- 2024中國AI應用開發(fā)者生態(tài)調(diào)研報告-易觀分析
- -中國傳統(tǒng)節(jié)日之春節(jié)習俗介紹主題班會14
- 2024魯教版七年級下冊數(shù)學第七章綜合檢測試卷及答案
評論
0/150
提交評論