版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第4章VFP數(shù)據(jù)表的基本操作第4章VFP數(shù)據(jù)表的基本操作1主要內(nèi)容4.1VFP數(shù)據(jù)表概述4.2VFP數(shù)據(jù)表結構的建立與維護4.3VFP數(shù)據(jù)表記錄的錄入4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.7VFP數(shù)據(jù)表數(shù)據(jù)的查詢4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.9多工作區(qū)操作復習思考題第4章VFP數(shù)據(jù)表的基本操作主要內(nèi)容4.1VFP數(shù)據(jù)表概述第4章VFP數(shù)據(jù)表的基本操4.1.1VFP數(shù)據(jù)表的相關知識1.自由表與數(shù)據(jù)庫表VFP中數(shù)據(jù)表區(qū)分為自由表和數(shù)據(jù)庫表兩類。自由表是不屬于任何數(shù)據(jù)庫的表,數(shù)據(jù)庫表是包含在一個數(shù)據(jù)庫中的表。2.表文件名與備注文件名VFP數(shù)據(jù)表是一個磁盤文件,數(shù)據(jù)表文件名可以由字母、數(shù)字或下劃線組成,系統(tǒng)自動給出的擴展名為.dbf。當表中有備注型或通用型字段時,系統(tǒng)自動生成與所屬數(shù)據(jù)表的表名相同、擴展名為.fpt的備注文件名。4.1VFP數(shù)據(jù)表概述4.1.1VFP數(shù)據(jù)表的相關知識1.自由表與數(shù)據(jù)庫表4.14.1.1VFP數(shù)據(jù)表的相關知識3.VFP數(shù)據(jù)表的字段屬性VFP數(shù)據(jù)表是由記錄組成的,記錄又由字段組成,每個字段都有其自身的屬性。字段的屬性主要包括字段名、數(shù)據(jù)類型、字段寬度、小數(shù)位數(shù)、空值支持等。其中數(shù)據(jù)類型、字段寬度、小數(shù)位數(shù)、空值是實現(xiàn)關系的域完整性的重要保證。(1)字段名:表中的每個字段都是有名稱的。字段名必須以字母開頭,可由字母、數(shù)字、下劃線組合而成,字母大、小寫無區(qū)別,但其中不許有空格或其它字符。自由表的字段名最多由10個字符組成,數(shù)據(jù)庫表的字段名支持長名,最多可達128個字符。4.1VFP數(shù)據(jù)表概述4.1.1VFP數(shù)據(jù)表的相關知識3.VFP數(shù)據(jù)表的字段屬性4.1.1VFP數(shù)據(jù)表的相關知識(2)數(shù)據(jù)類型:用于描述該字段的數(shù)據(jù)特征。在數(shù)據(jù)表中使用的數(shù)據(jù)類型有字符型、貨幣型、數(shù)字型、浮點型、日期型、日期時間型、雙精度型、整型、邏輯型、備注型、通用型、字符型(二進制)、備注型(二進制)這13類。(3)字段寬度:指該字段所能容納的數(shù)據(jù)的最大字節(jié)數(shù)。與字段的數(shù)據(jù)類型也有關系。(4)小數(shù)位數(shù):主要用于指定當字段類型為數(shù)值型、符點型、雙精度型數(shù)據(jù)時所需保留的小數(shù)位數(shù)。此時的字段寬度為整數(shù)位數(shù)加小數(shù)位數(shù)再加1。(5)NULL值(空值):無明確的值。NULL表示任何不出現(xiàn)的值,NULL值不等同于零或空格。一個NULL值不能認為比某個值(包括另一個NULL值)大或小或相等或不同。4.1VFP數(shù)據(jù)表概述4.1.1VFP數(shù)據(jù)表的相關知識(2)數(shù)據(jù)類型:用于描述該4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型1.VFP數(shù)據(jù)表常用數(shù)據(jù)類型
4.1VFP數(shù)據(jù)表概述4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型1.VFP數(shù)據(jù)表常用數(shù)據(jù)類4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型4.1VFP數(shù)據(jù)表概述4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型4.1VFP數(shù)據(jù)表概述4.2.1設計表結構1.設計數(shù)據(jù)表結構
4.2VFP數(shù)據(jù)表結構的建立與維護4.2.1設計表結構1.設計數(shù)據(jù)表結構4.2VFP數(shù)4.2.1設計表結構2.設計數(shù)據(jù)表應注意的問題(1)字段的數(shù)據(jù)類型要與存儲在其中的信息類型相匹配;(2)字段的寬度應該足夠容納將要存儲的信息內(nèi)容;(3)數(shù)值型、浮點型、雙精度型字段必須設置正確的小數(shù)位數(shù);(4)如果需要將字段設置為能接收空值,必須選中NULL欄。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.1設計表結構2.設計數(shù)據(jù)表應注意的問題4.2V4.2.2建立表結構1.準備工作--設置默認路徑為方便操作與管理,建議建立一文件夾“D:\MYVFP”然后將其設為默認目錄。設置默認目錄方法可采用命令方式或菜單方式。(1)使用命令方式命令格式:SETDEFAULTTO[路徑]功能:將指定的目錄設置為默認目錄,該命令僅對當前環(huán)境有效,關閉VFP系統(tǒng)后該設置失效。使用示例:SETDEFAULTTOD:\MYVFP&&將D:\MYVFP設為默認目錄4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構1.準備工作--設置默認路徑4.24.2.2建立表結構(2)使用菜單方式“工具”“選項(O)…”“文件位置”“默認目錄”“修改(M)…”在“更改文件位置”對話框中選中“使用(U)默認目錄”,這時“定位(L)默認目錄”文本框由灰色(不可用)變?yōu)檎n伾?可用)單擊…按鈕在“選擇目錄”對話框中首先從“驅動器(V)”下拉式列表框中選D:在“當前工作目錄:”列表框中選擇“MYVFP”文件夾“選定”返回“更改文件位置”對話框“確定”返回“選項”對話框“設為默認值”“確定”按鈕,從而將D:\MYVFP設為了默認目錄。通過這種方法設置的默認目錄長期有效。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構(2)使用菜單方式4.2VFP數(shù)據(jù)4.2.2建立表結構2.利用表設計器建立數(shù)據(jù)表結構
(1)菜單方式進入表設計器(2)命令方式進入表設計器命令格式:CREATE[文件名|?]功能:生成一個新的數(shù)據(jù)表。如果在創(chuàng)建表時打開了一個數(shù)據(jù)庫,則表自動添加到該數(shù)據(jù)庫中。使用示例:①CREATED:\MYVFP\STUDENT②CREATE③CREATE?(3)使用項目管理器3.利用表向導創(chuàng)建數(shù)據(jù)表結構
4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構2.利用表設計器建立數(shù)據(jù)表結構4.24.2.2建立表結構4.利用復制方法間接建立表結構表結構的建立也可以利用已有的數(shù)據(jù)表間接建立,主要是采用復制的方法。(1)利用當前表復制數(shù)據(jù)表結構命令格式:COPYSTRUCTURETO新表文件名[FIELDS<字段名列表>][[WITH]CDX[DATABASE數(shù)據(jù)庫名[NAME長表名]]]功能:用當前表結構創(chuàng)建一個新的數(shù)據(jù)表結構。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構4.利用復制方法間接建立表結構4.24.2.2建立表結構例4.3設當前打開表為teacher.dbf,且存在結構復合索引文件,有如下命令:COPYSTRUCTURETOJS1
&&將TEACHER表結構復制為JS1表結構COPYSTRUTOJS2FIEL教師編號,姓名,性別&&JS2表結構中只有指定字段COPYSTRUTOJS3CDX&&建立JS3表結構同時建立JS3.CDX文件COPYSTRUTOJS4WITHCDX&&建立JS4表結構同時建立JS4.CDX文件COPYSTRUTOJS5DATA學籍管理&&建立JS5表結構且加入數(shù)據(jù)庫“學籍管理”
4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構例4.3設當前打開表為teache4.2.2建立表結構(2)利用表的結構信息文件創(chuàng)建另一個新表結構可以利用表結構信息文件生成另一個表結構。操作方法分為兩步:先創(chuàng)建一個有當前表結構信息的新表,然后再由含有結構信息的新表創(chuàng)建另一個數(shù)據(jù)表結構。①創(chuàng)建一個當前表結構信息的新表命令格式:COPYSTRUCTUREEXTENDEDTO新表名[DATABASE數(shù)據(jù)庫名[NAME長表名]][FIELDS字段名列表]功能:創(chuàng)建一個新表,其中的字段包含當前表的結構信息。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構(2)利用表的結構信息文件創(chuàng)建另一個新4.2.2建立表結構例4.4設當前打開表為teacher.dbf,試保存teacher表的結構信息。COPYSTRUEXTETOJSJG1
&&保存原表所有字段信息COPYSTRUEXTETOJSJG2FIEL教師編號,姓名,性別,職稱&&保存指定的3個字段信息COPYSTRUEXTETOJSJG3DATA學籍管理
&&產(chǎn)生的JSJG3表屬于“學籍管理”數(shù)據(jù)庫
②利用結構信息表創(chuàng)建另一個新表命令格式:CREATE新表名[DATABASE數(shù)據(jù)庫名[NAME長表名]]FROM含有結構信息的表名功能:使用保存有結構信息的表去創(chuàng)建一個新的數(shù)據(jù)表。例4.5利用教師結構信息表“JSJG2.DBF”創(chuàng)建一個新表,命令如下:CREATETEACHER1FROMJSJG2&&利用JSJG2新建表TEACHER15.利用SQL命令直接創(chuàng)建數(shù)據(jù)表結構可使用CREATETABLE-SQL語句直接建立表結構4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構例4.4設當前打開表為teacher.4.2.3數(shù)據(jù)表的打開與關閉1.工作區(qū)與當前工作區(qū)工作區(qū)指用來標識一張打開的表的區(qū)域。VFP6系統(tǒng)允許用戶使用32767個工作區(qū),并允許在各個工作區(qū)中打開不同的數(shù)據(jù)庫表或自由表。每個工作區(qū)都有一個工作區(qū)號,分別用1~32767表示。每個表打開后至少有兩個默認的別名,一個是表名自身,一個是工作區(qū)別名。為使用方便,編號為1~10的前10個工作區(qū)的默認別名分別用A~J這10個字母表示。當前工作區(qū)就是正在操作的工作區(qū),當前工作區(qū)上打開的表稱為當前工作表。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉1.工作區(qū)與當前工作區(qū)4.24.2.3數(shù)據(jù)表的打開與關閉2.當前工作區(qū)選擇指定當前工作區(qū)可以使用SELECT命令或數(shù)據(jù)工作期窗口操作。(1)SELECT命令命令格式:SELECT<工作區(qū)號>|<別名>功能:將指定工作區(qū)號作為當前工作區(qū)。使用說明:工作區(qū)號可使用1~32767。別名指在該工作區(qū)打開的表的名稱或別名,前面的1~10#工作區(qū)還可以用字母A~J表示其別名。若工作區(qū)號為0則表示選擇當前未使用的最小工作區(qū)號為當前工作區(qū)。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉2.當前工作區(qū)選擇4.2V4.2.3數(shù)據(jù)表的打開與關閉使用示例:SELE1&&選擇1#工作區(qū)為當前工作區(qū)USESTUDENTALIASXS&&在該區(qū)打開STUDENT表且為該表取別名XSSELE15&&選擇15#工作區(qū)為當前工作區(qū)USETEACHERALIASJS&&在該區(qū)打開TEACHER表且為該表取別名JS4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉使用示例:SELE14.2.3數(shù)據(jù)表的打開與關閉(2)“數(shù)據(jù)工作期”窗口3.數(shù)據(jù)表的打開選擇工作區(qū)后就可以打開數(shù)據(jù)表了。(1)菜單方式(2)命令方式命令格式:USE[表名][IN工作區(qū)號|別名][AGAIN][INDEX索引文件列表][ALIAS別名][EXCLUSIVE][SHARED][NOUPDATE]功能:打開一個表及其相關索引文件。例4.6使用USE命令以獨占方式在2#工作區(qū)打開表STUDENT.DBF,并指定別名為XS。USED:\MYVFP\STUDENTIN2ALIASXSEXCLUSIVE&&D:\MYVFP表示文件位置,可不指定。思考:當前工作區(qū)是2#工作區(qū)否?4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉(2)“數(shù)據(jù)工作期”窗口4.4.2.3數(shù)據(jù)表的打開與關閉4.數(shù)據(jù)表的關閉(1)菜單方式(2)命令方式USE[IN工作區(qū)號]:關閉當前或指定工作區(qū)上的表。CLOSEALL:關閉所有工作區(qū)中打開的數(shù)據(jù)庫、表和索引,并選擇工作區(qū)1為當前工作區(qū)。CLOSETABLES:關閉所有當前選中數(shù)據(jù)庫中的所有表。若沒有已打開的數(shù)據(jù)庫,則關閉所有工作區(qū)內(nèi)的自由表。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉4.數(shù)據(jù)表的關閉4.2VF4.2.3數(shù)據(jù)表的打開與關閉CLOSETABLESALL:關閉所有數(shù)據(jù)庫中的所有表以及自由表,但所有數(shù)據(jù)庫保持打開。CLOSEDATABASES:關閉當前數(shù)據(jù)庫和表。若沒有當前數(shù)據(jù)庫,則關閉所有工作區(qū)內(nèi)所有打開的自由表、索引和格式文件,并選擇工作區(qū)1為當前工作區(qū)。CLOSEDATABASESALL:所有打開的數(shù)據(jù)庫和其中的表、所有打開的自由表、所有工作區(qū)內(nèi)所有索引和格式文件,并選擇工作區(qū)1為當前工作區(qū)。CLEARALL:關閉所有表,包括所有相關的索引、格式和備注文件,并且選擇工作區(qū)1為當前工作區(qū)。從內(nèi)存中釋放所有的內(nèi)存變量和數(shù)組以及所有用戶自定義菜單欄、菜單和窗口的定義。QUIT:退出VFP系統(tǒng),則關閉所有的表。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉CLOSETABLESAL4.2.4修改表結構1.使用表設計器
命令格式:MODIFYSTRUCTURE功能:進入表設計器修改表結構2.使用ALTERTABLE-SQL命令可使用ALTERTABLE-SQL語句直接修改表結構4.2VFP數(shù)據(jù)表結構的建立與維護4.2.4修改表結構1.使用表設計器4.2VFP數(shù)據(jù)表4.2.5瀏覽表結構命令格式:LIST|DISPLAYSTRUCTURE[IN工作區(qū)號|別名][NOCONSOLE][TOPRINTER[PROMPT]TOFILE文件名]功能:對指定工作區(qū)上打開的表結構列表或分屏的方式進行顯示輸出。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.5瀏覽表結構命令格式:LIST|DISPLAYST4.2.5瀏覽表結構例4.7分別將學生表的結構輸出到文件和屏幕上。SELE2&&選擇2#工作區(qū)為當前工作區(qū)USESTUDENTEXCL&&在2#上以獨占方式打開STUDENT表LISTSTRUCTURETOXS&&在屏幕上不分頁顯示表結構且將顯示結果保存到XS.TXTDISPLAYSTRUCTURE &&在屏幕上分頁顯示表的結構TYPEXS.TXT&&在屏幕上顯示文件XS.TXT的內(nèi)容4.2VFP數(shù)據(jù)表結構的建立與維護4.2.5瀏覽表結構例4.7分別將學生表的結構輸出到文件和4.3.1VFP數(shù)據(jù)表記錄錄入方式1.立即向數(shù)據(jù)表中輸入記錄新建表結構后保存時彈出“現(xiàn)在就輸入記錄嗎?”,單擊“是”2.用菜單方式追加記錄“顯示”“瀏覽”“顯示”“追加方式”3.用命令方式追加記錄在VFP6系統(tǒng)中可用APPEND等命令實施數(shù)據(jù)表記錄的添加,具體命令使用方法見4.3.2。4.3VFP數(shù)據(jù)表記錄的錄入4.3.1VFP數(shù)據(jù)表記錄錄入方式1.立即向數(shù)據(jù)表中輸入記4.3.2VFP數(shù)據(jù)表記錄的錄入命令1.APPEND命令命令格式:APPEND[BLANK][IN工作區(qū)號|別名][NOMENU]功能:在表的末尾添加一個或多個新記錄。2.APPENDFROM命令命令格式:APPENDFROM[文件名|?][FIELDS字段名列表][FOR條件表達式][DELIMITED[WITH分隔符][WITHBLANK|WITHTAB|WITHCHARACTER分隔符]SDF]]功能:將其它表(或其它文件如電子表格中表)中記錄數(shù)據(jù)追加到當前表記錄末尾。若不指定源文件的類型,則源文件為表文件。4.3VFP數(shù)據(jù)表記錄的錄入4.3.2VFP數(shù)據(jù)表記錄的錄入命令1.APPEND命令44.3.2VFP數(shù)據(jù)表記錄的錄入命令3.APPENDFROMARRAY命令命令格式:APPENDFROMARRAY數(shù)組名[FOR條件表達式][FIELDS字段名列表|FIELDSLIKE字段特征框架|FIELDSEXCEPT字段特征框架]功能:將數(shù)組中的每一行作為一條記錄,在當前表的記錄末尾追加,并從相應的數(shù)組行中取出數(shù)據(jù)添加到記錄中。4.APPENDGENERAL命令命令格式:APPENDGENERAL通用型字段名FROM文件名功能:從文件中導入OLE對象并將其放入當前記錄的通用字段中。4.3VFP數(shù)據(jù)表記錄的錄入4.3.2VFP數(shù)據(jù)表記錄的錄入命令3.APPENDF4.3.2VFP數(shù)據(jù)表記錄的錄入命令5.APPENDMEMO命令命令格式:APPENDMEMO備注型字段名FROM文件名[OVERWRITE]功能:將文本文件的內(nèi)容復制到當前記錄的備注字段中。6.INSERT-SQL命令該命令的命令格式、功能及其應用見第6章。4.3VFP數(shù)據(jù)表記錄的錄入4.3.2VFP數(shù)據(jù)表記錄的錄入命令5.APPENDME4.3.3表記錄中各種數(shù)據(jù)的錄入1.字符型數(shù)據(jù)錄入2.數(shù)值型、浮點型、貨幣型、整型、雙精度型數(shù)據(jù)錄入3.日期型、日期時間型數(shù)據(jù)錄入4.邏輯性數(shù)據(jù)錄入邏輯型字段只能接受T、Y、F、N這4個字母之一(不論大小寫皆可)5.備注型數(shù)據(jù)錄入6.通用型數(shù)據(jù)錄入7.記錄數(shù)據(jù)的傳遞4.3VFP數(shù)據(jù)表記錄的錄入4.3.3表記錄中各種數(shù)據(jù)的錄入1.字符型數(shù)據(jù)錄入4.34.4.1數(shù)據(jù)表記錄定位1.記錄指針與當前記錄一張數(shù)據(jù)表往往有多條記錄,VFP系統(tǒng)按照輸入時的順序對數(shù)據(jù)表中的記錄進行順序編號,這個編號稱為記錄號。系統(tǒng)為每個打開的數(shù)據(jù)表設置一個記錄指針,記錄指針指向的記錄被稱為當前記錄,使用RECNO()函數(shù)可以獲得指定工作區(qū)當前記錄的記錄號。2.文件頭與文件尾VFP數(shù)據(jù)表文件有兩個特殊的位置:文件頭(表起始標記)和文件尾(表結束標記)。文件頭位于表中第一條記錄之前,當記錄指針指向文件頭時,函數(shù)BOF()的值為.T.,但此時的記錄號為第一條記錄的記錄號。文件尾在最后一條記錄之后,當記錄指針指向文件尾時,函數(shù)EOF()的值為.T.,此時的記錄號為數(shù)據(jù)表記錄總數(shù)加1,即RECCOUNT()+1。4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.1數(shù)據(jù)表記錄定位1.記錄指針與當前記錄4.4V4.4.1數(shù)據(jù)表記錄定位3.數(shù)據(jù)表記錄指針定位
(1)使用菜單方式定位記錄指針“顯示”“瀏覽”“表”“轉到記錄…”
(2)使用命令方式定位記錄指針命令格式:GO|GOTO[RECORD]記錄號[IN工作區(qū)號|別名]GO|GOTOTOP|BOTTOM[IN工作區(qū)號|別名]功能:移動記錄指針到指定的記錄。命令格式2:SKIP±N[IN工作區(qū)號|別名]4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.1數(shù)據(jù)表記錄定位3.數(shù)據(jù)表記錄指針定位4.44.4.2數(shù)據(jù)表數(shù)據(jù)顯示1.使用菜單方式“顯示”“瀏覽”2.使用?、??命令命令格式:?|??[<表達式列表>]功能:??—在當前光標處開始輸出表達式的值
?—在下行輸出表達式的值4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.2數(shù)據(jù)表數(shù)據(jù)顯示1.使用菜單方式4.4VFP數(shù)4.4.2數(shù)據(jù)表數(shù)據(jù)顯示例4.8使用?、??命令顯示數(shù)據(jù)表STUDENT和TEACHER的有關內(nèi)容。Select1USESTUDENTALIASXSEXCLGO6SELECT2USETEACHERALIASJSEXCL3SELE1?學號,姓名,家庭地址??性別,婚否姓名="張三“?姓名+M.姓名?LEFT(學號,4)+ALLT(RIGHT(姓名,2))?LEFT(學號,4)+RIGHT(ALLT(姓名),2)?姓名+JS.姓名??性別+B.性別?學號,B.姓名,家庭地址,B.職稱4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.2數(shù)據(jù)表數(shù)據(jù)顯示例4.8使用?、??命令顯示數(shù)據(jù)4.4.2數(shù)據(jù)表數(shù)據(jù)顯示3.使用LIST、DISPLAY命令命令格式:LIST|DISPLAY[[FIELDS]字段列表][范圍][FOR條件表達式][WHILE條件表達式][OFF][NOCONSOLE][TOPRINTER[PROMPT]|TOFILE文件名]功能:在VFP6系統(tǒng)主窗口中顯示與當前表有關的信息。4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.2數(shù)據(jù)表數(shù)據(jù)顯示3.使用LIST、DISPLAY命4.4.2數(shù)據(jù)表數(shù)據(jù)顯示4.使用BROWSE命令
命令格式:BROWSE[LAST][FIELDS字段列表][FONT字體[,字號]][STYLE字形][FOR條件表達式[REST]][FREEZE字段名][LOCKN][NOAPPEND][NODELETE][NOEDIT|NOMODIFY][NOLINK][NOMENU][NOREFRESH][NORMAL][NOWAIT][TITLE標題]功能:打開瀏覽窗口,顯示當前或選定表的記錄。4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.2數(shù)據(jù)表數(shù)據(jù)顯示4.使用BROWSE命令4.44.4.3數(shù)據(jù)表數(shù)據(jù)過濾1.用菜單操作方式實現(xiàn)數(shù)據(jù)表數(shù)據(jù)過濾
2.用命令方式控制數(shù)據(jù)表數(shù)據(jù)訪問(1)設置記錄過濾的命令命令格式:SETFILTERTO條件表達式功能:指定訪問當前表中記錄時必須滿足的條件。(2)設置字段過濾的命令命令1格式:SETFIELDSTO[字段列表]|ALL命令2格式:SETFIELDSON|OFF
功能:指定可以訪問表中的哪些字段。4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.4.3數(shù)據(jù)表數(shù)據(jù)過濾1.用菜單操作方式實現(xiàn)數(shù)據(jù)表數(shù)據(jù)過4.5.1數(shù)據(jù)表記錄插入命令格式:INSERT[BEFORE][BLANK]功能:在表的當前記錄前(后)添加一條或多條新記錄。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.1數(shù)據(jù)表記錄插入命令格式:INSERT[BEFO4.5.2數(shù)據(jù)表記錄修改1.使用菜單方式2.使用BROWSE命令
3.使用EDIT、CHANGE命令命令格式:EDIT|CHANGE[FIELDS字段列表][范圍][FOR條件][WHILE條件][FONT字體[,字號]][STYLE字形][FREEZE字段名][LAST][PARTITIONN][NOAPPEND][NODELETE][NOEDIT|NOMODIFY][NOLINK][NOMENU][NORMAL][NOWAIT][TITLE標題]功能:以編輯方式顯示、修改數(shù)據(jù)表記錄
4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.2數(shù)據(jù)表記錄修改1.使用菜單方式4.5VFP數(shù)4.5.2數(shù)據(jù)表記錄修改4.使用REPLACE命令
命令格式:REPLACE[范圍][FOR條件][WHILE條件]字段名1WITH表達式1[ADDITIVE][,字段名>WITH表達式2[ADDITIVE]][IN工作區(qū)號|別名]功能:更新指定工作表的指定記錄內(nèi)容。5.使用REPLACEFROMARRAY命令命令格式:REPLACEFROMARRAY數(shù)組名[FIELDS字段列表][范圍][FOR條件][WHILE條件]功能:使用內(nèi)存變量數(shù)組中的值更新字段內(nèi)容。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.2數(shù)據(jù)表記錄修改4.使用REPLACE命令4.54.5.3數(shù)據(jù)表數(shù)據(jù)的刪除1.數(shù)據(jù)表記錄的邏輯刪除與恢復(1)菜單方式(2)命令方式①DELETE命令命令格式:DELETE[范圍][FOR條件][WHILE條件]功能:為當前數(shù)據(jù)表中指定范圍內(nèi)滿足條件的記錄添加刪除標志。②RECALL命令命令格式:RECALL[范圍][FOR條件][WHILE條件]功能:將當前數(shù)據(jù)表中指定范圍內(nèi)滿足條件的記錄的刪除標志取消。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.3數(shù)據(jù)表數(shù)據(jù)的刪除1.數(shù)據(jù)表記錄的邏輯刪除與恢復44.5.3數(shù)據(jù)表數(shù)據(jù)的刪除2.數(shù)據(jù)表記錄的物理刪除(1)菜單方式(2)命令方式①PACK命令,功能是把當前數(shù)據(jù)庫中做過刪除標記的記錄從文件中真正刪除掉。②ZAP命令,功能是刪除當前數(shù)據(jù)表中全部記錄。在執(zhí)行ZAP時,屏幕會出現(xiàn)信息框詢問是否清除已打開數(shù)據(jù)表文件中的記錄。③使用DELETE–SQL命令3.帶邏輯刪除標志數(shù)據(jù)表設置
命令格式:SETDELETEDON|OFF功能:指定VFP6是否處理標有刪除標記的記錄,以及其它命令是否可以操作它們。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.3數(shù)據(jù)表數(shù)據(jù)的刪除2.數(shù)據(jù)表記錄的物理刪除4.54.5.4數(shù)據(jù)表數(shù)據(jù)傳遞1.記錄與數(shù)組(1)將當前記錄復制到數(shù)組或內(nèi)存變量命令格式:SCATTER[FIELDS字段列表|FIELDSLIKE字段特征框架|FIELDSEXCEPT字段特征框架][MEMO]TO數(shù)組名|TO數(shù)組名BLANK|MEMVAR功能:將當前記錄的字段值按字段列表順序依次送入數(shù)組元素中,或依次送入一組內(nèi)存變量。(2)將數(shù)組或內(nèi)存變量的數(shù)據(jù)復制到當前記錄命令格式:GATHERFROM<數(shù)組名>|MEMVAR[FIELDS字段列表|FIELDSLIKE字段特征框架|FIELDSEXCEPT字段特征框架][MEMO]功能:將數(shù)組或內(nèi)存變量的數(shù)據(jù)依次復制到當前記錄,以替換相應字段值。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.4數(shù)據(jù)表數(shù)據(jù)傳遞1.記錄與數(shù)組4.5VFP數(shù)據(jù)表4.5.4數(shù)據(jù)表數(shù)據(jù)傳遞(3)將數(shù)據(jù)表記錄復制到數(shù)組命令格式:COPYTOARRAY數(shù)組名[FIELDS字段列表|FIELDSLIKE字段特征框架|FIELDSEXCEPT字段特征框架][范圍][FOR條件][WHILE條件]功能:將當前選定表中指定范圍內(nèi)滿足條件記錄的制定字段數(shù)據(jù)復制到數(shù)組。(4)將數(shù)組復制到數(shù)據(jù)表可以用前面講述的APPENDFROMARRAY將數(shù)組中的數(shù)據(jù)復制到新表中的記錄。也可以用GATHER將數(shù)組或一組內(nèi)存變量中的數(shù)據(jù)復制到表中的記錄。還可以使用REPLACEFROMARRAY命令。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5.4數(shù)據(jù)表數(shù)據(jù)傳遞(3)將數(shù)據(jù)表記錄復制到數(shù)組4.54.5VFP數(shù)據(jù)表數(shù)據(jù)的維護2.數(shù)據(jù)表的復制
(1)任意文件間的復制命令格式:COPYFILE源文件TO目標文件功能:從源文件復制得到目標文件(2)從當前表復制出表或其它類型文件命令格式:COPYTO文件名[FIELDS字段列表|FIELDSLIKE/EXCEPT字段匹配特征框架][范圍][FOR/WHILE條件][[WITH]CDX][[SDF|DELIMITED[WITH字符字段界限符|WITHCHARACTER分隔符]]]功能:用當前表的結構和內(nèi)容去創(chuàng)建一個既有結構又有內(nèi)容的新文件。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護2.數(shù)據(jù)表的復制4.54.5VFP數(shù)據(jù)表數(shù)據(jù)的維護3.數(shù)據(jù)的導入與導出
(1)數(shù)據(jù)導入數(shù)據(jù)的導入是指把其他外部數(shù)據(jù)數(shù)據(jù)導入VFP6數(shù)據(jù)表,供VFP應用程序系統(tǒng)使用。其中數(shù)據(jù)可以是文本、電子表格或表文件格式,利用系統(tǒng)提供的“導入”對話框來實現(xiàn)。(2)數(shù)據(jù)導出數(shù)據(jù)的導出是指把數(shù)據(jù)從VFP6數(shù)據(jù)表傳送到另外一個應用程序所使用的文件中,供其它應用程序系統(tǒng)使用。其中數(shù)據(jù)可以是文本、電子表格或表文件格式,利用系統(tǒng)提供的“導出”對話框來實現(xiàn)。4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護3.數(shù)據(jù)的導入與導出4.54.6.1VFP數(shù)據(jù)表數(shù)據(jù)的排序1.排序的概念
排序就是將數(shù)據(jù)表中的記錄按照某個字段(或某幾個字段)值的大小順序重新排列,作為排序依據(jù)的字段稱為關鍵字。2.數(shù)據(jù)表排序命令格式:SORTTO文件名ON字段1[/A|/D][/C][,字段2[/A|/D][/C]...][ASCENDING|DESCENDING][范圍][FOR條件][WHILE條件][FIELDS字段列表|FIELDSLIKE字段特征框架|FIELDSEXCEPT字段特征框架]功能:對當前數(shù)據(jù)表中的記錄,按指定的字段及順序排序,排序后產(chǎn)生新表文件。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.1VFP數(shù)據(jù)表數(shù)據(jù)的排序1.排序的概念4.64.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引1.索引的概念“索引”是一組邏輯排序的指針,索引用于按關鍵字對記錄進行排序,但并不改變表中記錄的物理順序,只是與表記錄建立一種邏輯關系。索引的主要作用是:按指定的關鍵字排序后,可以快速顯示、查詢、選擇記錄,可以建立表間的關聯(lián)關系。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引1.索引的概念4.6V4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引2.索引及索引文件
(1)索引關鍵字:索引關鍵字指在數(shù)據(jù)表中建立索引用的字段或字段表達式,它可以是表中的單個字段,也可以是表中幾個字段組成的表達式。(2)索引類型在VFP系統(tǒng)中,數(shù)據(jù)表的索引類型有以下4種:①主索引(PRIMARYINDEX)②候選索引(CANDIDATEINDEX)③唯一索引(UNIQUEINDEX)④普通索引(REGULARINDEX)4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引2.索引及索引文件4.64.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引(3)索引文件的類型①獨立索引文件:又稱單索引文件,文件擴展名為.IDX。②結構復合索引文件:文件擴展名為.CDX。③非結構復合索引文件:與結構復合索引文件相同,非結構復合索引文件也包含多個索引項,擴展名也是.CDX,但文件名與數(shù)據(jù)表文件名不相同,它不會隨數(shù)據(jù)表文件的打開而打開,需要時使用單獨的打開命令。(4)索引與索引文件的關系在VFP6系統(tǒng)中,結構復合索引文件是數(shù)據(jù)庫中使用得最普遍,也是最重要的索引文件。由于主索引與候選索引必須與表一起打開和關閉,所以它只能存儲在結構復合索引文件.CDX中,不能放在非結構復合索引文件與獨立索引文件中。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引(3)索引文件的類型4.4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引3.索引文件建立(1)菜單方式“顯示”“表設計器”“索引”(2)命令方式命令格式:INDEXON索引表達式TO單索引文件名|TAG索引項標記名[OF復合索引文件名][FOR條件][COMPACT][ASCENDING|DESCENDING][UNIQUE][ADDITIVE]功能:創(chuàng)建一個索引文件,利用該文件可以按某種邏輯順序顯示和訪問表記錄。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引3.索引文件建立4.64.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引4.索引文件使用
(1)打開索引文件①同時打開數(shù)據(jù)表文件和索引文件命令格式:USE表文件名[INDEX索引文件名表|?][ORDER[數(shù)值表達式]|單索引文件名|[TAG]標識名[OF復合索引文件名]]功能:打開表文件的同時打開一個或多個索引文件。②打開數(shù)據(jù)表文件后再打開索引文件命令格式:SETINDEXTO索引文件名表[ADDITIVE]功能:打開當前表的一個或多個索引文件并確定主控索引文件。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引4.索引文件使用4.64.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引(2)確定主控索引①菜單方式“顯示”“瀏覽”“表”“屬性”②命令方式命令格式:SETORDERTO[N|單索引文件名|[TAG]索引標識名[OF復合索引文件名]]功能:在打開的索引文件中指定主控索引文件,或在打開的復合索引文件中設置主控索引。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引(2)確定主控索引4.64.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引(3)更新索引命令格式:REINDEX[COMPACT]功能:重新建立打開的索引文件。(4)刪除索引①菜單方式“顯示”“表設計器”“索引”②命令方式命令格式:DELETETAGALL|<索引標識1>[,<索引標識2>…]功能:刪除復合索引文件中指定索引標識。4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.6.2VFP數(shù)據(jù)表數(shù)據(jù)的索引(3)更新索引4.64.7.1順序查詢1.LOCATE命令命令格式:LOCATE[范圍][FOR條件]|[WHILE條件]功能:在指定范圍內(nèi)查找滿足條件的第一條記錄,并將記錄指針定位該記錄。2.CONTINUE命令命令格式:CONTINUE功能:與LOCATE命令連用,繼續(xù)查找LOCATE命令指定條件的記錄4.7VFP數(shù)據(jù)表數(shù)據(jù)的查詢4.7.1順序查詢1.LOCATE命令4.7VFP數(shù)據(jù)4.7.2索引查詢命令格式:SEEK表達式[ORDERN|單索引文件名|[TAG]索引標識[ASCENDING|DESCENDING]][IN工作區(qū)號|別名]功能:在打開的索引文件中查找主索引關鍵字值與表達式值相匹配的第一條記錄,并將記錄指針定位在該記錄。4.7VFP數(shù)據(jù)表數(shù)據(jù)的查詢4.7.2索引查詢命令格式:SEEK表達式[ORDER4.8.1計數(shù)命令COUNT命令格式:COUNT[范圍][FOR條件|WHIIE條件][TO內(nèi)存變量]功能:統(tǒng)計當前表文件中指定范圍內(nèi)滿足條件的記錄個數(shù)。4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.8.1計數(shù)命令COUNT命令格式:COUNT[范圍]4.8.2求和命令SUM命令格式:SUM[范圍][N型字段列表或N型字段表達式列表][FOR條件|WHILE條件][TO內(nèi)存變量表|ARRAY數(shù)組名]功能:對當前表文件中指定范圍內(nèi)滿足條件的N型字段按列求和。4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.8.2求和命令SUM命令格式:SUM[范圍][N型4.8.3求平均命令AVERAGE命令格式:AVERAGE[范圍][N型字段名表或N型字段表達式表][FOR/WHILE條件][TO內(nèi)存變量表|ARRAY數(shù)組名]功能:對當前數(shù)據(jù)表中滿足條件的N型字段求平均值。4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.8.3求平均命令AVERAGE命令格式:AVERAG4.8.4計算命令CALCULATE命令格式:CALCULATE[范圍][表達式列表][FOR/WHILE條件][TO內(nèi)存變量表|ARRAY數(shù)組名]功能:在打開的表中,分別計算表達式表的值。4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.8.4計算命令CALCULATE命令格式:CALCUL4.8.5匯總命令TOTAL命令格式:TOTALON關鍵字段名T0文件名[范圍][FOR/WHILE條件][FIELDSN型字段名表]功能:在當前表中,對指定范圍內(nèi)滿足條件的記錄按關鍵字段名分類匯總求和,并生成一個新表文件,新表文件又稱為匯總文件4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.8.5匯總命令TOTAL命令格式:TOTALON關4.9.1工作區(qū)、別名及數(shù)據(jù)訪問1.對非主工作區(qū)字段的訪問
別名調用格式:工作區(qū)號字段名、別名字段名、別名.字段名2.數(shù)據(jù)工作期
“窗口”“數(shù)據(jù)工作期”4.9多工作區(qū)操作4.9.1工作區(qū)、別名及數(shù)據(jù)訪問1.對非主工作區(qū)字段的訪問4.9.2表的關聯(lián)1.表關聯(lián)的含義各個工作區(qū)表文件的記錄指針是彼此獨立,互不影響。所謂關聯(lián)就是在兩個表文件的記錄指針之間建立一種臨時關系,當一個表的記錄指針移動時,與之關聯(lián)的另一個表的記錄指針也做相應的移動。關聯(lián)不是生成一個表文件,只是形成了一種聯(lián)系。相互關聯(lián)的兩張表中,主動建立關聯(lián)的表稱為父表,被關聯(lián)的表稱為子表。關聯(lián)條件:條件是首先為子表按關聯(lián)關鍵字建立索引(對記錄號進行關聯(lián)時,可以不索引),然后進行關聯(lián)。關聯(lián)后,當父表指針移動時,子表指針也會自動移動到滿足關聯(lián)條件的記錄上。4.9多工作區(qū)操作4.9.2表的關聯(lián)1.表關聯(lián)的含義4.9多工作區(qū)操作4.9.2表的關聯(lián)2.表關聯(lián)的建立
(1)菜單方式“窗口”“數(shù)據(jù)工作期”(2)命令方式命令格式:SETRELATIONTO[關聯(lián)表達式1]INTO別名1[,[關聯(lián)表達式2]INTO別名2…][ADDITIVE]功能:以當前表為父表與一個或多個子表建立關聯(lián)。4.9多工作區(qū)操作4.9.2表的關聯(lián)2.表關聯(lián)的建立4.9多工作區(qū)操作4.9.2表的關聯(lián)3.說明一對多關系的命令若兩表關聯(lián)是一對多關系,需要加以說明。要說明兩表的一對多關系,可以利用數(shù)據(jù)工作期窗口的“一對多”按鈕,還可使用SETSKIPTO命令。命令格式:SETSKIPTO[表別名1,[表別名2…]]功能:用在SETRELATION命令之后,說明已經(jīng)建立的關聯(lián)為一對多關系。使用說明:表別名表示一對多關系中位于多方的子表。不帶任何選擇項的“SETSKIPTO”將取消一對多關系,但不取消已經(jīng)建立的多對一關系。4.9多工作區(qū)操作4.9.2表的關聯(lián)3.說明一對多關系的命令4.9多工作4.9.2表的關聯(lián)例4.39中,以student.dbf為主表與studing.dbf建立關聯(lián),這里使用的是一對多關系。CLOSEALLSELECT1USESTUDINGEXCLUSIVEINDEXON學號TAG學號SELECT2USESTUDENTEXCLUSIVESETRELATIONTO學號INTOASETSKIPTOA4.9多工作區(qū)操作4.9.2表的關聯(lián)例4.39中,以student.dbf為4.9.2表的關聯(lián)4.表間的數(shù)據(jù)更新當兩個相關的數(shù)據(jù)表分別在不同的工作區(qū)打開后,即可用另一個數(shù)據(jù)表中的數(shù)據(jù)來批量更新當前數(shù)據(jù)表中的有關數(shù)據(jù)。命令格式:UPDATEON<關鍵字段名>FROM<工作區(qū)號/別名>REPLACE<字段名1>WITH<表達式1>…RANDOM功能:當<工作區(qū)號/別名>表中記錄的關鍵字段值與當前表中記錄的關鍵字段值匹配時,用所指定的表達式的值來替換當前表中匹配記錄指定字段的值。
4.9多工作區(qū)操作4.9.2表的關聯(lián)4.表間的數(shù)據(jù)更新4.9多工作區(qū)操作4.9.3表之間的連接表文件之間的連接就是將兩個表的相關字段組合起來,構成一個新的表文件。這種連接稱為物理連接。命令格式:JOINWITH工作區(qū)號|別名TO新表名FOR連接條件[FIELDS字段名]功能:將當前表文件與指定別名的表文件之間建立連接生成一個新的表文件。4.9多工作區(qū)操作4.9.3表之間的連接表文件之間的連接就是將兩個表的相關字4.9.3表之間的連接例4.40按學號將student.dbf和studing.dbf兩表連接起來生成新表xsxx.dbf并顯示連接后的結果。SELECT1USESTUDENTEXCLUSIVESELECT2USESTUDINGEXCLUSIVEJOINWITHATOXSXXFOR學號=A.學號USEXSXXBROWSE4.9多工作區(qū)操作4.9.3表之間的連接例4.40按學號將student.4.9.3表之間的連接應用實例:設有增加工資表zjgz.dbf(編號,姓名,增資額)和職工檔案表zgda.dbf(其中有基本工資字段),現(xiàn)在將原基本工資與增資額相加作為新的基本工資。USEZGDAINDEXON編號TAGBHSELECT0USEZJGZINDEXON編號TAGBHSELECTZGDAUPDATEON編號FROMZJGZREPLACE基本工資WITH基本工資+ZJGZ.增資額BROWSECLOSEDATABASE4.9多工作區(qū)操作4.9.3表之間的連接應用實例:設有增加工資表zjgz.d4.9.4多工作區(qū)操作實例例4.40計算章立同學的各門功課平均成績分析:學生成績保存在studing.dbf數(shù)據(jù)表中,學生姓名保存在student.dbf數(shù)據(jù)表中,要計算章立同學各門功課的平均成績,一是先在student表中查詢到章立的學號,根據(jù)該學號在studing表中即可計算出章立的各門功課平均成績;二是兩表關聯(lián)后查詢計算;三是兩表連接成一張表后查詢計算。4.9多工作區(qū)操作4.9.4多工作區(qū)操作實例例4.40計算章立同學的各門功4.9.4多工作區(qū)操作實例**方法一 **方法二CLOSEALL CLOSEALLSELECT1 SELECT1USESTUDENTEXCLUSIVE USESTUDENTEXCLUSIVELOCATEFOR姓名="章立" INDEXON學號TAG學號SELECT2 SELECT2USESTUDINGEXCLUSIVE USESTUDINGEXCLUSIVEAVERAGE成績TOPJCJFOR學號=A.學號SETRELATIONTO學號INTOA?PJCJ AVERAGE成績TOPJCJFORA.姓名="章立"**方法三 ?PJCJCLOSEALLSELECT1USESTUDENTEXCLUSIVESELECT2USESTUDINGEXCLUSIVEJOINWITHATOXSXXFOR學號=A.學號USEXSXXAVERAGE成績TOPJCJFOR姓名="章立"?PJCJ4.9多工作區(qū)操作4.9.4多工作區(qū)操作實例**方法一 **方4.9.4多工作區(qū)操作實例例4.41查詢章立同學選修課程名稱、成績、學時、學分、任課教師、職稱。CLOSEALLSELECT1USETEACHEREXCLUSIVEINDEXON教師編號TAG教師編號SELECT2USECOURSEEXCLUSIVEINDEXON課程編號TAG課程編號SELECT3USESTUDENTEXCLUSIVEINDEXON學號TAG學號SELECT4USESTUDINGEXCLUSIVESETRELATIONTO學號INTOCSETRELATIONTO課程編號INTOBADDITIVESETRELATIONTO教師編號INTOAADDITIVEBROWSEFIELDSC.學號,C.姓名,B.課程名,B.開課學期,B.上課學時,B.實驗學時,B.學分,A.姓名:H="任課教師",A.職稱FORC.姓名="章立"4.9多工作區(qū)操作4.9.4多工作區(qū)操作實例例4.41查詢章立同學選修課程4.9.4多工作區(qū)操作實例例4.42查詢各位老師的任課情況,查詢結果見圖4.75所示。分析:教師基本情況數(shù)據(jù)在teacher表中,課程基本情況在course數(shù)據(jù)表中,各位老師的任課情況可以通過teaching數(shù)據(jù)表得知。下面采用關聯(lián)、連接方法實施查詢。**方法一CLOSEALLSELECT1USETEACHEREXCLUSIVEINDEXON教師編號TAG教師編號SELECT2USECOURSEEXCLUSIVEINDEXON課程編號TAG課程編號SELECT3USETEACHINGEXCLUSIVESETRELATIONTO教師編號INTOA.課程編號INTOBADDITIVEBROWSEFIELDS教師編號,A.姓名,A.性別,A.職稱,B.課程名,B.上課學時,B.開課學期,B.課程性質4.9多工作區(qū)操作4.9.4多工作區(qū)操作實例例4.42查詢各位老師的任課情4.9.4多工作區(qū)操作實例**方法二CLOSEALLSELECT1USETEACHEREXCLUSIVESELECT2USETEACHINGEXCLUSIVEJOINWITHATOJSJXFOR教師編號=A.教師編號USEJSJXSELECT3USECOURSEEXCLUSIVEJOINWITHBTOJSRKFOR課程編號=B.課程編號USEJSRKBROWSEFIELDS教師編號,姓名,性別,職稱,課程名,上課學時,開課學期,課程性質4.9多工作區(qū)操作4.9.4多工作區(qū)操作實例**方法二4.9多工作區(qū)操作復習思考題1.表的創(chuàng)建有哪幾種方法?各種創(chuàng)建方法有何特點?2.如何修改表結構?都有哪些方法?怎樣添加、修改刪除和重命令字段?3.如何更改、添加、刪除、插入一條記錄?怎么理解記錄的邏輯刪除與物理刪除?4.編輯、修改記錄的命令有哪些?各自有何用途?5.篩選字段或記錄的作用是什么?如何對字段或記錄進行篩選?它與LIST或BROWSE命令中的字段選擇有何不同?6.索引文件有哪幾種?各有什么特點?索引類型有哪些?各自的用途是什么?7.如何實現(xiàn)數(shù)據(jù)表數(shù)據(jù)的查詢?有哪些方法?查詢的本質是否是移動記錄指針?8.數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計命令都有哪些?各自怎么應用?9.為什么要使用多工作區(qū)?命令SELECT和SELECT()的作用分別是什么?10.將兩張表進行邏輯聯(lián)接,可使用什么方式?它們的區(qū)別何在?如何為兩個以上的表文件創(chuàng)建一對多關系?11.怎樣使用別名數(shù)據(jù)表中的字段?如何利用別名表的數(shù)據(jù)對當前表的數(shù)據(jù)進行更新替換?物理連接兩張表時,需要注意什么?復習思考題復習思考題1.表的創(chuàng)建有哪幾種方法?各種創(chuàng)建方法有何特點?第4章VFP數(shù)據(jù)表的基本操作第4章VFP數(shù)據(jù)表的基本操作77主要內(nèi)容4.1VFP數(shù)據(jù)表概述4.2VFP數(shù)據(jù)表結構的建立與維護4.3VFP數(shù)據(jù)表記錄的錄入4.4VFP數(shù)據(jù)表數(shù)據(jù)的訪問4.5VFP數(shù)據(jù)表數(shù)據(jù)的維護4.6VFP數(shù)據(jù)表數(shù)據(jù)的排序、索引4.7VFP數(shù)據(jù)表數(shù)據(jù)的查詢4.8VFP數(shù)據(jù)表數(shù)據(jù)的統(tǒng)計4.9多工作區(qū)操作復習思考題第4章VFP數(shù)據(jù)表的基本操作主要內(nèi)容4.1VFP數(shù)據(jù)表概述第4章VFP數(shù)據(jù)表的基本操4.1.1VFP數(shù)據(jù)表的相關知識1.自由表與數(shù)據(jù)庫表VFP中數(shù)據(jù)表區(qū)分為自由表和數(shù)據(jù)庫表兩類。自由表是不屬于任何數(shù)據(jù)庫的表,數(shù)據(jù)庫表是包含在一個數(shù)據(jù)庫中的表。2.表文件名與備注文件名VFP數(shù)據(jù)表是一個磁盤文件,數(shù)據(jù)表文件名可以由字母、數(shù)字或下劃線組成,系統(tǒng)自動給出的擴展名為.dbf。當表中有備注型或通用型字段時,系統(tǒng)自動生成與所屬數(shù)據(jù)表的表名相同、擴展名為.fpt的備注文件名。4.1VFP數(shù)據(jù)表概述4.1.1VFP數(shù)據(jù)表的相關知識1.自由表與數(shù)據(jù)庫表4.14.1.1VFP數(shù)據(jù)表的相關知識3.VFP數(shù)據(jù)表的字段屬性VFP數(shù)據(jù)表是由記錄組成的,記錄又由字段組成,每個字段都有其自身的屬性。字段的屬性主要包括字段名、數(shù)據(jù)類型、字段寬度、小數(shù)位數(shù)、空值支持等。其中數(shù)據(jù)類型、字段寬度、小數(shù)位數(shù)、空值是實現(xiàn)關系的域完整性的重要保證。(1)字段名:表中的每個字段都是有名稱的。字段名必須以字母開頭,可由字母、數(shù)字、下劃線組合而成,字母大、小寫無區(qū)別,但其中不許有空格或其它字符。自由表的字段名最多由10個字符組成,數(shù)據(jù)庫表的字段名支持長名,最多可達128個字符。4.1VFP數(shù)據(jù)表概述4.1.1VFP數(shù)據(jù)表的相關知識3.VFP數(shù)據(jù)表的字段屬性4.1.1VFP數(shù)據(jù)表的相關知識(2)數(shù)據(jù)類型:用于描述該字段的數(shù)據(jù)特征。在數(shù)據(jù)表中使用的數(shù)據(jù)類型有字符型、貨幣型、數(shù)字型、浮點型、日期型、日期時間型、雙精度型、整型、邏輯型、備注型、通用型、字符型(二進制)、備注型(二進制)這13類。(3)字段寬度:指該字段所能容納的數(shù)據(jù)的最大字節(jié)數(shù)。與字段的數(shù)據(jù)類型也有關系。(4)小數(shù)位數(shù):主要用于指定當字段類型為數(shù)值型、符點型、雙精度型數(shù)據(jù)時所需保留的小數(shù)位數(shù)。此時的字段寬度為整數(shù)位數(shù)加小數(shù)位數(shù)再加1。(5)NULL值(空值):無明確的值。NULL表示任何不出現(xiàn)的值,NULL值不等同于零或空格。一個NULL值不能認為比某個值(包括另一個NULL值)大或小或相等或不同。4.1VFP數(shù)據(jù)表概述4.1.1VFP數(shù)據(jù)表的相關知識(2)數(shù)據(jù)類型:用于描述該4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型1.VFP數(shù)據(jù)表常用數(shù)據(jù)類型
4.1VFP數(shù)據(jù)表概述4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型1.VFP數(shù)據(jù)表常用數(shù)據(jù)類4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型4.1VFP數(shù)據(jù)表概述4.1.2VFP數(shù)據(jù)表中數(shù)據(jù)類型4.1VFP數(shù)據(jù)表概述4.2.1設計表結構1.設計數(shù)據(jù)表結構
4.2VFP數(shù)據(jù)表結構的建立與維護4.2.1設計表結構1.設計數(shù)據(jù)表結構4.2VFP數(shù)4.2.1設計表結構2.設計數(shù)據(jù)表應注意的問題(1)字段的數(shù)據(jù)類型要與存儲在其中的信息類型相匹配;(2)字段的寬度應該足夠容納將要存儲的信息內(nèi)容;(3)數(shù)值型、浮點型、雙精度型字段必須設置正確的小數(shù)位數(shù);(4)如果需要將字段設置為能接收空值,必須選中NULL欄。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.1設計表結構2.設計數(shù)據(jù)表應注意的問題4.2V4.2.2建立表結構1.準備工作--設置默認路徑為方便操作與管理,建議建立一文件夾“D:\MYVFP”然后將其設為默認目錄。設置默認目錄方法可采用命令方式或菜單方式。(1)使用命令方式命令格式:SETDEFAULTTO[路徑]功能:將指定的目錄設置為默認目錄,該命令僅對當前環(huán)境有效,關閉VFP系統(tǒng)后該設置失效。使用示例:SETDEFAULTTOD:\MYVFP&&將D:\MYVFP設為默認目錄4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構1.準備工作--設置默認路徑4.24.2.2建立表結構(2)使用菜單方式“工具”“選項(O)…”“文件位置”“默認目錄”“修改(M)…”在“更改文件位置”對話框中選中“使用(U)默認目錄”,這時“定位(L)默認目錄”文本框由灰色(不可用)變?yōu)檎n伾?可用)單擊…按鈕在“選擇目錄”對話框中首先從“驅動器(V)”下拉式列表框中選D:在“當前工作目錄:”列表框中選擇“MYVFP”文件夾“選定”返回“更改文件位置”對話框“確定”返回“選項”對話框“設為默認值”“確定”按鈕,從而將D:\MYVFP設為了默認目錄。通過這種方法設置的默認目錄長期有效。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構(2)使用菜單方式4.2VFP數(shù)據(jù)4.2.2建立表結構2.利用表設計器建立數(shù)據(jù)表結構
(1)菜單方式進入表設計器(2)命令方式進入表設計器命令格式:CREATE[文件名|?]功能:生成一個新的數(shù)據(jù)表。如果在創(chuàng)建表時打開了一個數(shù)據(jù)庫,則表自動添加到該數(shù)據(jù)庫中。使用示例:①CREATED:\MYVFP\STUDENT②CREATE③CREATE?(3)使用項目管理器3.利用表向導創(chuàng)建數(shù)據(jù)表結構
4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構2.利用表設計器建立數(shù)據(jù)表結構4.24.2.2建立表結構4.利用復制方法間接建立表結構表結構的建立也可以利用已有的數(shù)據(jù)表間接建立,主要是采用復制的方法。(1)利用當前表復制數(shù)據(jù)表結構命令格式:COPYSTRUCTURETO新表文件名[FIELDS<字段名列表>][[WITH]CDX[DATABASE數(shù)據(jù)庫名[NAME長表名]]]功能:用當前表結構創(chuàng)建一個新的數(shù)據(jù)表結構。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構4.利用復制方法間接建立表結構4.24.2.2建立表結構例4.3設當前打開表為teacher.dbf,且存在結構復合索引文件,有如下命令:COPYSTRUCTURETOJS1
&&將TEACHER表結構復制為JS1表結構COPYSTRUTOJS2FIEL教師編號,姓名,性別&&JS2表結構中只有指定字段COPYSTRUTOJS3CDX&&建立JS3表結構同時建立JS3.CDX文件COPYSTRUTOJS4WITHCDX&&建立JS4表結構同時建立JS4.CDX文件COPYSTRUTOJS5DATA學籍管理&&建立JS5表結構且加入數(shù)據(jù)庫“學籍管理”
4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構例4.3設當前打開表為teache4.2.2建立表結構(2)利用表的結構信息文件創(chuàng)建另一個新表結構可以利用表結構信息文件生成另一個表結構。操作方法分為兩步:先創(chuàng)建一個有當前表結構信息的新表,然后再由含有結構信息的新表創(chuàng)建另一個數(shù)據(jù)表結構。①創(chuàng)建一個當前表結構信息的新表命令格式:COPYSTRUCTUREEXTENDEDTO新表名[DATABASE數(shù)據(jù)庫名[NAME長表名]][FIELDS字段名列表]功能:創(chuàng)建一個新表,其中的字段包含當前表的結構信息。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構(2)利用表的結構信息文件創(chuàng)建另一個新4.2.2建立表結構例4.4設當前打開表為teacher.dbf,試保存teacher表的結構信息。COPYSTRUEXTETOJSJG1
&&保存原表所有字段信息COPYSTRUEXTETOJSJG2FIEL教師編號,姓名,性別,職稱&&保存指定的3個字段信息COPYSTRUEXTETOJSJG3DATA學籍管理
&&產(chǎn)生的JSJG3表屬于“學籍管理”數(shù)據(jù)庫
②利用結構信息表創(chuàng)建另一個新表命令格式:CREATE新表名[DATABASE數(shù)據(jù)庫名[NAME長表名]]FROM含有結構信息的表名功能:使用保存有結構信息的表去創(chuàng)建一個新的數(shù)據(jù)表。例4.5利用教師結構信息表“JSJG2.DBF”創(chuàng)建一個新表,命令如下:CREATETEACHER1FROMJSJG2&&利用JSJG2新建表TEACHER15.利用SQL命令直接創(chuàng)建數(shù)據(jù)表結構可使用CREATETABLE-SQL語句直接建立表結構4.2VFP數(shù)據(jù)表結構的建立與維護4.2.2建立表結構例4.4設當前打開表為teacher.4.2.3數(shù)據(jù)表的打開與關閉1.工作區(qū)與當前工作區(qū)工作區(qū)指用來標識一張打開的表的區(qū)域。VFP6系統(tǒng)允許用戶使用32767個工作區(qū),并允許在各個工作區(qū)中打開不同的數(shù)據(jù)庫表或自由表。每個工作區(qū)都有一個工作區(qū)號,分別用1~32767表示。每個表打開后至少有兩個默認的別名,一個是表名自身,一個是工作區(qū)別名。為使用方便,編號為1~10的前10個工作區(qū)的默認別名分別用A~J這10個字母表示。當前工作區(qū)就是正在操作的工作區(qū),當前工作區(qū)上打開的表稱為當前工作表。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉1.工作區(qū)與當前工作區(qū)4.24.2.3數(shù)據(jù)表的打開與關閉2.當前工作區(qū)選擇指定當前工作區(qū)可以使用SELECT命令或數(shù)據(jù)工作期窗口操作。(1)SELECT命令命令格式:SELECT<工作區(qū)號>|<別名>功能:將指定工作區(qū)號作為當前工作區(qū)。使用說明:工作區(qū)號可使用1~32767。別名指在該工作區(qū)打開的表的名稱或別名,前面的1~10#工作區(qū)還可以用字母A~J表示其別名。若工作區(qū)號為0則表示選擇當前未使用的最小工作區(qū)號為當前工作區(qū)。4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉2.當前工作區(qū)選擇4.2V4.2.3數(shù)據(jù)表的打開與關閉使用示例:SELE1&&選擇1#工作區(qū)為當前工作區(qū)USESTUDENTALIASXS&&在該區(qū)打開STUDENT表且為該表取別名XSSELE15&&選擇15#工作區(qū)為當前工作區(qū)USETEACHERALIASJS&&在該區(qū)打開TEACHER表且為該表取別名JS4.2VFP數(shù)據(jù)表結構的建立與維護4.2.3數(shù)據(jù)表的打開與關閉使用示例:SELE14.2.3數(shù)據(jù)表的打開與關閉(2)“數(shù)據(jù)工作期”窗口3.數(shù)據(jù)表的打開選擇工作區(qū)后就可以打開數(shù)據(jù)表了。(1)菜單方式(2)命令方式命令格式:USE[表名][IN工作區(qū)號|別名][AGAIN][INDEX索引文件列表][ALIAS別名][EXCLUSIVE][SHARED][NOUPDATE]功能:打開一個
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶市西南大學附中2024-2025學年高一上定時檢測(一)語文試題含答案
- 2024年合作經(jīng)營權益分配協(xié)議
- 2024年新款智能手機購銷協(xié)議范本
- 二級建造師聘用協(xié)議范本2024年
- 2024年房屋建筑鋼筋施工協(xié)議
- 2024年石材批發(fā)買賣協(xié)議格式
- 2024頂管工程建設項目施工協(xié)議范本
- 2024年協(xié)議履行細則管理規(guī)程
- 2024建筑工程監(jiān)理及管理服務協(xié)議
- 2024年二手注塑機交易協(xié)議指南
- 設備維護保養(yǎng)流程
- 【教學課件】海陸變遷示范課件
- 冷彎薄壁型鋼房屋結構介紹(PPT19)
- 二年級下冊道德與法治課件 節(jié)約糧食 北師大版
- 寶石的分類及命名課件
- 九江市都昌縣鄉(xiāng)鎮(zhèn)街道社區(qū)行政村統(tǒng)計表
- 二甲醫(yī)院麻醉科相關工作制度匯編
- 農(nóng)業(yè)生產(chǎn)統(tǒng)計pp課件
- 車間每月安全隱患排查記錄表(車間每月)
- 特種設備作業(yè)人員資格復審申請表
- 醫(yī)院創(chuàng)新思維的幾種基本形式與作用
評論
0/150
提交評論