版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第4章表的基本操作(時間:4次課,8學(xué)時)第4章表的基本操作教學(xué)提示:在關(guān)系數(shù)據(jù)庫管理系統(tǒng)中,所有的操作都是在表基礎(chǔ)上進(jìn)行的。表在VisualFoxPro中分為數(shù)據(jù)庫表和自由表。本章主要介紹在VisualFoxPro環(huán)境下如何建立表,如何向表中輸入數(shù)據(jù)、瀏覽和修改表的結(jié)構(gòu)、修改表中數(shù)據(jù)及建立索引、多表間的關(guān)聯(lián)等內(nèi)容,最后介紹了有關(guān)數(shù)據(jù)庫表的相關(guān)操作。教學(xué)目標(biāo):通過本章的學(xué)習(xí),要求掌握如何建立、修改及刪除數(shù)據(jù)庫,如何建立和修改表,掌握表索引的建立及使用方法,會對表記錄進(jìn)行各種操作。通過上機(jī)實習(xí)進(jìn)一步掌握多表間的關(guān)聯(lián)及數(shù)據(jù)庫表的相關(guān)操作。
第4章表的基本操作4.1數(shù)據(jù)庫的操作4.2表的建立4.3對表記錄的操作4.4建立表索引4.5表中數(shù)值參數(shù)的統(tǒng)計4.6文件操作命令4.7多表間的關(guān)聯(lián)4.8數(shù)據(jù)庫表的相關(guān)設(shè)置4.9上機(jī)指導(dǎo)4.10習(xí)題4.1數(shù)據(jù)庫的操作在介紹數(shù)據(jù)表的操作之前,本節(jié)先介紹數(shù)據(jù)庫的操作,其中包括建立數(shù)據(jù)庫、修改數(shù)據(jù)庫,以及數(shù)據(jù)庫的打開、關(guān)閉和刪除操作。4.1.1建立數(shù)據(jù)庫4.1.2打開、修改及關(guān)閉數(shù)據(jù)庫4.1.3刪除數(shù)據(jù)庫4.1.1建立數(shù)據(jù)庫數(shù)據(jù)庫可以在項目管理器中利用【數(shù)據(jù)庫設(shè)計器】直接建立,還可以使用命令方式建立及菜單方式建立。用項目管理器建立數(shù)據(jù)庫操作方法:打開【項目管理器】對話框,在【數(shù)據(jù)】選項卡中選擇【數(shù)據(jù)庫】命令,并單擊【新建】按鈕。在彈出的【新建數(shù)據(jù)庫】對話框中,單擊【新建數(shù)據(jù)庫】按鈕,如圖所示。系統(tǒng)將彈出一個【創(chuàng)建】對話框,填寫文件名后打開一個數(shù)據(jù)庫設(shè)計器。4.1.1建立數(shù)據(jù)庫l
用菜單方式建立數(shù)據(jù)庫操作方法:在VisualFoxPro系統(tǒng)主菜單下,選擇【文件】│【新建】命令,然后選擇【數(shù)據(jù)庫】命令,單擊【新建文件】按鈕,彈出【創(chuàng)建】對話框。填寫文件名后進(jìn)入【數(shù)據(jù)庫設(shè)計器】。l
用命令方式建立數(shù)據(jù)庫命令格式:CREATEDATABASE<數(shù)據(jù)庫名>命令功能:創(chuàng)建一個數(shù)據(jù)庫,若省略擴(kuò)展名,則系統(tǒng)默認(rèn)其擴(kuò)展名為.DBC。
4.1.1建立數(shù)據(jù)庫例4.1建立一個空數(shù)據(jù)庫文件“學(xué)生管理”操作步驟如下:(1) 在VisualFoxPro系統(tǒng)主菜單下,選擇【文件】│【新建】命令,彈出【新建】對話框。(2) 在【新建】對話框中,選擇文件類型為【數(shù)據(jù)庫】,單擊【新建文件】按鈕,系統(tǒng)彈出【創(chuàng)建】對話框。(3) 在【創(chuàng)建】對話框,輸入新建數(shù)據(jù)庫的庫名“學(xué)生管理”,單擊【保存】按鈕,此時空數(shù)據(jù)庫文件“學(xué)生管理”已建成。4.1.1建立數(shù)據(jù)庫例4.2在A盤上建立名為“學(xué)生管理.DBC”的數(shù)據(jù)庫SETDEFAULTTOA&&設(shè)置A盤為默認(rèn)盤CREATEDATABASE學(xué)生管理
&&在A盤上創(chuàng)建“學(xué)生管理.DBC”提示:與前兩種方式不同,用命令方式創(chuàng)建數(shù)據(jù)庫后,數(shù)據(jù)庫設(shè)計器并沒有馬上打開。4.1.2打開、修改及關(guān)閉數(shù)據(jù)庫打開、修改及關(guān)閉一個已存在的數(shù)據(jù)庫可采用三種方式:即項目管理器方式、菜單方式和命令方式。
1.在項目管理器中打開、修改和關(guān)閉數(shù)據(jù)庫操作方法如下:(1) 打開數(shù)據(jù)庫時,打開【項目管理器】,在【數(shù)據(jù)】選項卡中選擇一個已經(jīng)存在的數(shù)據(jù)庫文件,并單擊【打開】按鈕。此時,被選擇的數(shù)據(jù)庫文件被打開,同時【打開】按鈕變成【關(guān)閉】按鈕。(2) 修改數(shù)據(jù)庫時,在【項目管理器】的【數(shù)據(jù)】選項卡中選擇要修改的數(shù)據(jù)庫文件,并單擊【修改】按鈕,此時,可在打開的【數(shù)據(jù)庫設(shè)計器】中,對數(shù)據(jù)庫文件進(jìn)行修改。(3) 關(guān)閉數(shù)據(jù)庫時,在【項目管理器】的【數(shù)據(jù)】選項卡中選擇要關(guān)閉的數(shù)據(jù)庫文件,并單擊【關(guān)閉】按鈕即可。4.1.2打開、修改及關(guān)閉數(shù)據(jù)庫2.用菜單方式打開、修改和關(guān)閉數(shù)據(jù)庫操作方法如下:(1) 在VisualFoxPro系統(tǒng)主菜單下,選擇【文件】│【打開】命令,進(jìn)入【打開】對話框。(2) 在【打開】對話框的文件類型下拉列表中,選擇數(shù)據(jù)庫類型,選擇數(shù)據(jù)庫文件或輸入數(shù)據(jù)庫名,單擊【確定】按鈕,進(jìn)入【數(shù)據(jù)庫設(shè)計器】
對話框,在該對話框中可對數(shù)據(jù)庫進(jìn)行修改。(3) 要關(guān)閉【數(shù)據(jù)庫設(shè)計器】只需單擊右上角的【關(guān)閉】按鈕或選擇【文件】菜單中的【關(guān)閉】命令。
4.1.2打開、修改及關(guān)閉數(shù)據(jù)庫3.用命令方式打開、修改和關(guān)閉數(shù)據(jù)庫(1) 打開數(shù)據(jù)庫命令格式:OPENDATABASE<數(shù)據(jù)庫名>命令功能:打開指定的數(shù)據(jù)庫文件。若以前有數(shù)據(jù)庫被打開,則同時關(guān)閉以前被打開的數(shù)據(jù)庫。(2) 修改數(shù)據(jù)庫命令格式:MODIFYDATABASE<數(shù)據(jù)庫名>[NOWAIT][NOEDIT]命令功能:打開【數(shù)據(jù)庫設(shè)計器】對話框,對數(shù)據(jù)庫進(jìn)行修改。[NOWAIT]:該選項只在程序中使用,在交互使用的命令窗口中無效。其作用是在【數(shù)據(jù)庫設(shè)計器】對話框打開后程序繼續(xù)執(zhí)行,即繼續(xù)執(zhí)行MODIFYDATABASENOWAIT之后的語句。如果不使用該選項,在打開【數(shù)據(jù)庫設(shè)計器】對話框后,應(yīng)用程序會暫停,直到【數(shù)據(jù)庫設(shè)計器】對話框關(guān)閉后應(yīng)用程序才會繼續(xù)執(zhí)行。[NOEDIT]:使用該選項只是打開【數(shù)據(jù)庫設(shè)計器】對話框,而禁止對數(shù)據(jù)庫進(jìn)行修改。
4.1.2打開、修改及關(guān)閉數(shù)據(jù)庫(3)關(guān)閉數(shù)據(jù)庫命令格式:CLOSEDATABASE命令功能:關(guān)閉當(dāng)前打開的數(shù)據(jù)庫,同時關(guān)閉該數(shù)據(jù)庫中已經(jīng)被打開的各種文件。
4.1.3刪除數(shù)據(jù)庫如果一個數(shù)據(jù)庫不再使用了隨時可以刪除。一般可以在項目管理器中刪除數(shù)據(jù)庫,也可以用命令刪除數(shù)據(jù)庫。1.從項目管理器中刪除數(shù)據(jù)庫從項目管理器中刪除數(shù)據(jù)庫比較簡單,直接選擇要刪除的數(shù)據(jù)庫然后單擊【移去】命令按鈕,這時會出現(xiàn)提示對話框,這時可以選擇:移去:從項目管理器中刪除數(shù)據(jù)庫,但并不從磁盤上刪除相應(yīng)的數(shù)據(jù)庫文件;刪除:從項目管理器中刪除數(shù)據(jù)庫,并從磁盤上刪除相應(yīng)的數(shù)據(jù)庫文件;取消:取消當(dāng)前的操作,即不進(jìn)行刪除數(shù)據(jù)庫的操作。4.1.3刪除數(shù)據(jù)庫2.用命令方式刪除數(shù)據(jù)庫命令格式:DELETEDATABASE<數(shù)據(jù)庫名>[DELETETABLES][RECYCLEl命令功能:從磁盤上刪除指定的數(shù)據(jù)庫,此時要刪除的數(shù)據(jù)庫必須處于關(guān)閉狀態(tài)。參數(shù)和選項的含義如下:DELETETABLES:選擇該選項則在刪除數(shù)據(jù)庫文件的同時從磁盤上刪除該數(shù)據(jù)庫所含的表等文件。RECYCLE:選擇該選項則將刪除的數(shù)據(jù)庫文件和表文件并放入Windows的回收站中,如果需要的話,還可以還原它們。
4.2表的建立本節(jié)主要介紹新建數(shù)據(jù)庫表和自由表,向數(shù)據(jù)庫添加表和從數(shù)據(jù)庫中移去表。本節(jié)還要介紹修改表的結(jié)構(gòu)。4.2.1新建表4.2.2修改表文件結(jié)構(gòu)4.2.1新建表1.數(shù)據(jù)庫表和自由表在數(shù)據(jù)庫設(shè)計器中建立的表稱為數(shù)據(jù)庫表,而不屬于任何數(shù)據(jù)庫的表是自由表(簡稱表)。在VisualFoxPro中創(chuàng)建表時,如果當(dāng)前沒有打開的數(shù)據(jù)庫,所創(chuàng)建的表是自由表。可將自由表添加到數(shù)據(jù)庫中使之成為數(shù)據(jù)庫表;也可以將數(shù)據(jù)庫表從數(shù)據(jù)庫中移出,使之成為自由表。4.2.1新建表2.新建自由表建立一個表文件包括兩部分工作:建立表文件結(jié)構(gòu)和輸入數(shù)據(jù)。定義表文件的文件名和每個字段的字段名、字段類型、字段寬度的工作稱為建立表文件結(jié)構(gòu)。在VisualFoxPro中,大部分操作既可用命令方式也可用菜單方式進(jìn)行操作。l命令方式建立表命令格式:CREATE[<表文件名>]命令功能:定義一個表文件結(jié)構(gòu),并把該文件存入磁盤。表文件名由命令給出,擴(kuò)展名默認(rèn)為.DBF。執(zhí)行該命令將打開【表設(shè)計器】如圖所示,要求用戶輸入二維表中的字段、字段類型、寬度、小數(shù)位數(shù)等內(nèi)容。
4.2.1新建表在表設(shè)計器的【字段】選項卡中涉及到的主要內(nèi)容解釋如下:(1) 字段名必須以字母或漢字開頭,由字母、漢字、數(shù)字和下劃線組成,不能包含空格。一個漢字算作兩個字符,字段名最長為10個字符。(2)字段的數(shù)據(jù)類型決定存儲在字段中的值的數(shù)據(jù)類型,數(shù)據(jù)類型通過寬度限制可以決定存儲數(shù)據(jù)的數(shù)量或精度。寬度是指字段值的總寬度,如果字段允許含有小數(shù),寬度還應(yīng)包含小數(shù)的寬度和一位小數(shù)點的寬度。有些數(shù)據(jù)類型要求寬度是固定的,如邏輯型字段要求寬度為1,日期型字段要求寬度為8等。(3)NULL欄用于設(shè)置當(dāng)前字段是否可以為NULL值(空值)??罩狄彩顷P(guān)系數(shù)據(jù)庫中的一個重要概念。在表中可能會遇到尚未存儲數(shù)據(jù)的字段,這時的空值(或空白)與空字符串、數(shù)值0的含義不同??罩稻褪侨敝祷蜻€沒有確定的值,不能把它理解為有意義的數(shù)據(jù)。如表示成績的一個字段值,空值表示沒有成績,而數(shù)值0表示成績?yōu)?分。在表設(shè)計器對話框中還有一些設(shè)置,如索引、表等將在后續(xù)章節(jié)中介紹。
4.2.1新建表l
利用菜單方式建立表操作步驟:(1) 在VisualFoxPro系統(tǒng)主菜單下,選擇【文件】│【新建】命令,彈出【新建】對話框。(2) 在【新建】對話框,單擊【表】│【新建文件】按鈕,彈出【創(chuàng)建】對話框。(3) 在【創(chuàng)建】對話框中輸入要建立的表的文件名,再單擊【保存】按鈕,進(jìn)入【表設(shè)計器】對話框,在該對話框中輸入表中的各個字段的字段名、字段類型、字段寬度和小數(shù)位數(shù)等信息。
4.2.1新建表l
利用項目管理器建立表操作步驟:(1) 打開【項目管理器】并選擇【數(shù)據(jù)】選項卡。(2) 在【數(shù)據(jù)】選項卡中選擇【自由表】|【新建】命令,彈出【新建表】對話框,在該對話框中單擊【新建表】按鈕,進(jìn)入【創(chuàng)建】對話框。(3) 在【創(chuàng)建】對話框輸入要建立的表的文件名,如“學(xué)生”,再單擊【保存】按鈕,進(jìn)入【表設(shè)計器】對話框,在該對話框中所要進(jìn)行的操作參見下圖。
4.2.1新建表3.建立數(shù)據(jù)庫表打開一個數(shù)據(jù)庫,選擇【文件】│【新建】│【表】命令或選擇【數(shù)據(jù)庫】菜單下的【新建表】命令或【在數(shù)據(jù)庫設(shè)計器】中右擊鼠標(biāo),選擇快捷菜單中的【新建表】命令均可新建一個表,我們稱之為數(shù)據(jù)庫表。建立數(shù)據(jù)庫表的表設(shè)計器界面,與上圖比較發(fā)現(xiàn)數(shù)據(jù)庫表可以建立字段有效性規(guī)則和約束等。事實上,與自由表相比數(shù)據(jù)庫表還具有以下特點:(1) 數(shù)據(jù)庫表可以使用長表名,在表中可以使用長字段名(2) 可為數(shù)據(jù)庫表規(guī)定字段級規(guī)則和記錄級規(guī)則(3) 可為數(shù)據(jù)庫表中的字段指定默認(rèn)值和輸入掩碼(4) 可為數(shù)據(jù)庫表中的字段指定標(biāo)題和添加注釋(5) 數(shù)據(jù)庫表的字段有默認(rèn)的控件類(6) 數(shù)據(jù)庫表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系(7) 支持INSERT、UPDATE和DELETE事件的觸發(fā)器
4.2.1新建表4.向數(shù)據(jù)庫中添加自由表有了數(shù)據(jù)庫文件,就可以向數(shù)據(jù)庫添加表了。向數(shù)據(jù)庫中添加表既可以在項目管理器或數(shù)據(jù)庫設(shè)計器中進(jìn)行,也可以使用命令方式進(jìn)行。l
在項目管理器中添加自由表在項目管理器的全部或數(shù)據(jù)選項卡中,將要添加自由表的數(shù)據(jù)庫展開至表,并選擇【表】命令。單擊【添加】按鈕,從彈出的【打開】對話框中選擇要添加到當(dāng)前數(shù)據(jù)庫的自由表。l
在數(shù)據(jù)庫設(shè)計器中添加自由表打開數(shù)據(jù)庫設(shè)計器,在【數(shù)據(jù)庫設(shè)計器】工具欄中單擊【添加表】按鈕,或使用菜單:選擇【數(shù)據(jù)庫】│【添加表】命令,或右擊鼠標(biāo),從快捷菜單中選擇【添加表】命令,然后從打開的對話框中選擇要添加到當(dāng)前數(shù)據(jù)庫的的自由表。4.2.1新建表例4.4向數(shù)據(jù)庫“學(xué)生管理”中添加“學(xué)生”表,“成績”表和“選課”表。操作步驟如下:①
在VisualFoxPro系統(tǒng)主菜單下,打開數(shù)據(jù)庫“學(xué)生管理”,進(jìn)入【數(shù)據(jù)庫設(shè)計器】。②
在【數(shù)據(jù)庫設(shè)計器】中,選擇【數(shù)據(jù)庫】菜單下的【添加表】命令,進(jìn)入【打開】對話框。③
在【打開】對話框,選擇要添加的表“學(xué)生”,單擊【確定】按鈕,則該表被添加到“學(xué)生管理”數(shù)據(jù)庫中,返回【數(shù)據(jù)庫設(shè)計器】。④
重復(fù)②、③步的操作,將“成績”表和“選課”表也添加到數(shù)據(jù)庫中。如下圖所示,該數(shù)據(jù)庫中已有三個表。4.2.1新建表4.2.1新建表l用命令方式添加自由表命令格式:ADDTABLE<自由表名>[NAME<長表名>]命令功能:向當(dāng)前打開的數(shù)據(jù)庫中添加指定的自由表??蛇x項[NAME<長表名>],為表指定一個長表名,最多可由128個字符組成。在程序中使用長表名可以提高程序的可讀性。
4.2.1新建表例4.5把自由表“學(xué)生”添加到“學(xué)生管理”數(shù)據(jù)庫,并給出長表名“中國大學(xué)學(xué)生管理數(shù)據(jù)庫系統(tǒng)”。
opendatabase學(xué)生管理
addtable學(xué)生
name"中國大學(xué)學(xué)生管理數(shù)據(jù)庫系統(tǒng)"
以后在數(shù)據(jù)庫中使用命令“USE學(xué)生”和使用命令“USE中國大學(xué)學(xué)生管理數(shù)據(jù)庫系統(tǒng)”是等價的。一個表只能屬于一個數(shù)據(jù)庫,當(dāng)把一個自由表添加到某個數(shù)據(jù)庫后就不是自由表了。所以不能把已經(jīng)屬于某個數(shù)據(jù)庫的表添加到當(dāng)前數(shù)據(jù)庫,只有將該表從所屬的數(shù)據(jù)庫中移出,在當(dāng)前的數(shù)據(jù)庫才能添加該表。
4.2.1新建表5.從數(shù)據(jù)庫中移去表從數(shù)據(jù)庫中移去表與添加表相對應(yīng),也有3種移去方法:(1)從項目管理器中移去表:打開項目管理器,選擇要移去的表,單擊【移去】按鈕,在彈出的對話框中單擊【移去】按鈕即可。(2)在數(shù)據(jù)庫設(shè)計器中移去表:打開數(shù)據(jù)庫,選中要移去的表,從【數(shù)據(jù)庫】菜單中選擇【移去】命令,在彈出的對話框中單擊【移去】按鈕即可。(3)使用命令移去表:打開數(shù)據(jù)庫,使用以下命令將表移去。命令格式:REMOVETABLE<表文件名>4.2.2修改表文件結(jié)構(gòu)對于所建的數(shù)據(jù)表若不滿意,比如缺少應(yīng)有的字段,字段名不合適,字段寬度或字段類型不對等等,可以再對表的結(jié)構(gòu)進(jìn)行修改。1.用命令方式修改表文件結(jié)構(gòu)命令格式:MODIFYSTRUCTURE命令功能:執(zhí)行此命令將會打開【表設(shè)計器】對話框,在該對話框中可對指定表進(jìn)行修改。若無當(dāng)前打開的表文件,系統(tǒng)將彈出【打開】對話框,要求用戶選擇一個表文件。此命令在執(zhí)行時,系統(tǒng)自動在磁盤上建立一個與當(dāng)前打開的表文件同名,擴(kuò)展名為.BAK的后備文件,如果當(dāng)前打開的表文件有備注型字段,系統(tǒng)也會自動建立一個同名但擴(kuò)展名為.TBK的備注文件的副本。在修改表文件結(jié)構(gòu)時,還可插入新的字段或刪除現(xiàn)有的字段。提示:若修改后的表文件數(shù)據(jù)因某種原因失去了一些原有數(shù)據(jù),可用以下方法恢復(fù):(1)刪除被修改了結(jié)構(gòu)的表文件及備注文件。(2)把.BAK和.TBK后備文件改為同名的.DBF和.FPT文件。4.2.2修改表文件結(jié)構(gòu)使用以上方法,當(dāng)選擇【移去】后,會彈出類似于右圖所示的對話框,選擇【移去】,則使被移去的表成為自由表;選擇【刪除】命令,則不僅從數(shù)據(jù)庫中將表移出,而且還從磁盤上刪除該表。一個表一旦從數(shù)據(jù)庫中移出,該表的長表名將不能再使用,與之聯(lián)系的所有主索引、默認(rèn)值及有關(guān)的規(guī)則都將隨之消失。所以,表的移出操作會影響到當(dāng)前數(shù)據(jù)庫中與該表有聯(lián)系的其他表。
4.2.2修改表文件結(jié)構(gòu)例4.6在“學(xué)生”表中“出生日期”字段前,增加“年齡”字段(字段名:年齡、數(shù)值型、寬度為3)。
USE學(xué)生
&&打開“學(xué)生”表
MODIFYSTRUCTURE在表設(shè)計器窗口中,單擊“出生日期”(選擇該字段為插入新字段的地方),再單擊【插入】按鈕。在【新字段】位置,輸入需插入的字段名、類型和寬度,單擊【確定】按鈕后,彈出如下圖所示對話框,單擊“是”,完成結(jié)構(gòu)的更改。4.2.2修改表文件結(jié)構(gòu)2.用菜單方式修改表文件結(jié)構(gòu)操作步驟如下:打開表文件,并在VisualFoxPro主窗口中選擇【顯示】|【表設(shè)計器】命令,此時在主窗口上彈出【表設(shè)計器】對話框。在【表設(shè)計器】對話框中可實現(xiàn)字段的修改、插入和刪除,操作方法可參照例4.6。4.3對表記錄的操作表建立完成后,不但可以對表結(jié)構(gòu)進(jìn)行修改,還可以對表中的記錄進(jìn)行修改。在講解這些命令之前,先來學(xué)習(xí)VisualFoxPro命令的一般格式。4.3.1VisualFoxPro命令的一般格式4.3.2表文件記錄瀏覽命令4.3.3打開和關(guān)閉表文件操作命令4.3.4記錄指針定位命令4.3.5記錄的追加命令4.3.6字段值的替換4.3.7表文件記錄的刪除和恢復(fù)4.3.1VisualFoxPro命令的一般格式在以前的學(xué)習(xí)中我們曾接觸過一些命令,但VisualFoxPro的命令很多,各有不同的命令形式,其中有許多命令具有一種類似的形式,稱為命令的一般形式。VisualFoxPro命令的一般格式為:<命令關(guān)鍵字>[<范圍>][<表達(dá)式清單>][FOR<條件1>][WHILE<條件2>]1.命令關(guān)鍵字命令關(guān)鍵字決定命令的性質(zhì),是一個英文動詞,用來表示該命令所要執(zhí)行的操作。我們已經(jīng)使用過的“USE”、“CREATE”等均屬于命令關(guān)鍵字。命令關(guān)鍵字必須是一條命令的第一項,而其他可選項的順序可任意排列。4.3.1VisualFoxPro命令的一般格式2.范圍范圍選項決定命令所作用的記錄范圍,其值可有以下5種選擇:ALL—范圍為從首記錄開始的所有記錄。NEXTn—范圍為從當(dāng)前記錄開始的n條記錄。RECORDn—范圍僅為第n條記錄。REST—范圍為從當(dāng)前記錄開始直到文件結(jié)束的所有記錄。缺省—若條件項也同時缺省,不同命令有不同的含義,有的等價于ALL,有的僅作用于當(dāng)前記錄。
4.3.1VisualFoxPro命令的一般格式3.
FOR<條件1>和WHILE<條件2>項條件是一個返回值為邏輯值的表達(dá)式。條件項的含義為:只對那些使表達(dá)式返回值為“真”(.T.)的記錄進(jìn)行命令規(guī)定的操作。FOR<條件1>是指對指定范圍內(nèi)滿足條件的所有記錄進(jìn)行操作;WHILE<條件2>是指對指定條件的記錄進(jìn)行操作,直到遇到一個不滿足條件的記錄,不管剩下范圍內(nèi)是否還有滿足條件的記錄,都將停止繼續(xù)執(zhí)行命令。命令執(zhí)行完畢后,記錄指針一般指向范圍內(nèi)的最后一條記錄。當(dāng)范圍為ALL時,指針指向表文件記錄個數(shù)加1,即指向文件結(jié)束標(biāo)志。注意:當(dāng)一條命令中既有FOR<條件1>又有WHILE<條件2>,在WHILE<條件2>首次不滿足前,將對滿足FOR<條件1>的所有記錄進(jìn)行操作,一旦WHILE<條件2>不滿足,則停止操作。4.3.1VisualFoxPro命令的一般格式4.表達(dá)式清單一般是指表文件中的字段名清單,或是包含字段名的表達(dá)式清單。各項之間用
“,”分隔。缺省此項,一般是指表文件中的全部字段。一條命令的各部分之間必須用一個或一個以上的空格分開,但總長度(包括命令中的所有空格)不能超過254個字符(一個漢字以兩個字符計算)。如果命令較長,可用“;”后跟一個回車鍵,轉(zhuǎn)到下一行去繼續(xù)輸入這條命令。系統(tǒng)在執(zhí)行時,將把它們看作一個整體。當(dāng)然,也可以不管它,連續(xù)輸入一條命令的全部內(nèi)容。輸入到行末時,系統(tǒng)會自動換行,這樣不會影響一條命令的完整性。但決不允許在一行快輸滿時,用回車鍵換到下一行,繼續(xù)輸入本條命令,這樣會破壞命令的完整性。下面是一條標(biāo)準(zhǔn)的命令格式的例子:LISTNEXT5姓名,出生日期
FOR性別="女"此命令的含義為:顯示從當(dāng)前記錄開始的5條記錄中女生的姓名和出生日期。
4.3.2表文件記錄瀏覽命令對于表記錄的操作,首先就是瀏覽查看表中的記錄。通常有兩種方式:一個是用瀏覽窗口瀏覽,另一個是在VisualFoxPro主窗口中輸出記錄內(nèi)容。本小節(jié)分別介紹。1.用瀏覽窗口瀏覽表的記錄l
使用【項目管理器】在【項目管理器】中選擇【數(shù)據(jù)】選項卡,選中對應(yīng)表文件名,單擊【瀏覽】按鈕。l
菜單方式在表文件打開的情況下,利用VisualFoxPro的菜單:選擇【顯示】│【瀏覽】命令,打開【瀏覽】對話框。此時【顯示】下拉菜單下又多了一項【編輯】命令。選擇【編輯】命令也可以瀏覽記錄,與前者的區(qū)別是:一個字段占一行,記錄是按頁顯示而不是按行顯示。4.3.2表文件記錄瀏覽命令l
命令方式命令格式:BROWSE[FIELDS<字段名清單>][FOR<條件表達(dá)式>][FREEZE<字段名>]命令功能:在瀏覽窗口分頁橫式顯示所有符合條件的記錄。有[FIELDS<字段名清單>]可選項時,將顯示字段名清單中給出的字段,否則顯示全部字段。有[FOR<條件表達(dá)式>]可選項時,只顯示使<條件表達(dá)式>為“真”(.T.)的記錄,否則顯示全部記錄。有[FREEZE<字段名>]可選項時,只能編輯FREEZE中給出的一個字段,否則可編輯全部字段。4.3.2表文件記錄瀏覽命令例4.7顯示“學(xué)生”表中所有黨團(tuán)員的學(xué)號、姓名和E_mail。(1) 使用命令:
USE學(xué)生
BROWSEFIELDS學(xué)號,姓名,E_mailFOR黨團(tuán)員瀏覽窗口顯示如圖
所示。
4.3.2表文件記錄瀏覽命令(2) 使用菜單:打開瀏覽窗口,此時主菜單上多了一項【表】。下拉【表】菜單,選擇【屬性】命令,打開【工作區(qū)屬性】對話框。如下左圖所示。①
在【數(shù)據(jù)過濾器】文本框中填寫:學(xué)生.黨團(tuán)員,這相當(dāng)于命令中的For黨團(tuán)員;②
選擇單選按鈕【字段篩選指定的字段】,單擊【字段篩選】按鈕,打開【字段選擇器】對話框。如下右圖所示。
4.3.2表文件記錄瀏覽命令在【字段選擇器】對話框中,將要選擇的字段“學(xué)號”、“姓名”、“E-mail”添加到“選擇字段”當(dāng)中,這相當(dāng)于命令方式中的Fields學(xué)號,姓名,E-mail。關(guān)閉表的瀏覽窗口后再重新打開,瀏覽窗口內(nèi)容相同。提示:在瀏覽窗口中同時具有編輯修改記錄的功能。4.3.2表文件記錄瀏覽命令2.輸出命令(LIST、DISPLAY)這兩個命令也可以瀏覽表的記錄,一般是在VisualFoxPro的主屏幕或是輸出至打印機(jī)。用這兩個命令還可以輸出顯示表文件的結(jié)構(gòu)。(1) LIST命令利用LIST命令可以以滾動方式輸出表文件的結(jié)構(gòu)和記錄的內(nèi)容。①
輸出表文件結(jié)構(gòu)命令格式:LISTSTRUCTURE[TOFILE<文件名>|TOPRINTER][NOCONSOLE]該命令用來輸出打開的表文件結(jié)構(gòu)。可選項[TOFILE<文件名>]表示將表文件結(jié)構(gòu)輸出到磁盤文件保存;[TOPRINTER]表示將表文件結(jié)構(gòu)輸出到打印機(jī)上打??;[NOCONSOLE]表示輸出的內(nèi)容不在VisualFoxPro主窗口顯示;無此可選項表示在VisualFoxPro主窗口顯示表文件結(jié)構(gòu)。4.3.2表文件記錄瀏覽命令例4.8輸出“學(xué)生.DBF”的表結(jié)構(gòu)
USE學(xué)生
&&打開“學(xué)生情況”表
LISTSTRUCTURE顯示結(jié)果為:
表結(jié)構(gòu):D:\學(xué)生管理系統(tǒng)\學(xué)生.DBF
數(shù)據(jù)記錄數(shù):12
最近更新的時間:02/08/04
備注文件塊大小:64
字段
字段名
類型
寬度
小數(shù)位
Nulls1 學(xué)號
字符型
7 否
2 班級編號
字符型
2 否
3 姓名
字符型
8 否
4 性別
字符型
2 否
5 出生日期
日期型
8 否
6 黨團(tuán)員
邏輯型
1 否
7 專業(yè)
字符型
8 否
8 入學(xué)成績
數(shù)值型
8 否
9 E_MAIL 字符型
15否
9 簡歷
備注型
4 否**總計**644.3.2表文件記錄瀏覽命令在實際輸出時,除了輸出表文件結(jié)構(gòu)外,還在前面給出了表文件名、已有記錄個數(shù)、最后更改日期和備注文件的大小。在最后一行中,給出了字段的總寬度,但這個寬度比各字段的寬度之和多1個字節(jié),該字節(jié)用來存放記錄的刪除標(biāo)記(*)。②
輸出記錄內(nèi)容命令格式:LIST[OFF][<范圍>][[<FIELDS>]<字段名清單>][FOR<條件1>][WHILE<條件2>][TOPRINTER|TOFILE<文件名>][NOCONSOLE]可選項
[OFF]:輸出時不輸出記錄號,否則輸出記錄號。缺省[<范圍>]項表示輸出全部記錄。4.3.2表文件記錄瀏覽命令(2) DISPLAY命令利用DISPLAY命令可以以分頁方式輸出表結(jié)構(gòu)和記錄內(nèi)容。命令格式:DISPLAYSTRUCTURE[TOFILE<文件名>|TOPRINTER][NOCONSOLE]DISPLAY[OFF][<范圍>][[<FIELDS>]<字段名清單>][FOR<條件1>][WHILE<條件2>][TOPRINTER|TOFILE<文件名>][NOCONSOLE](3) DISPLAY和LIST的異同DISPLAY命令和LIST命令的功能一樣,在使用時有如下兩點差別:①
DISPLAY命令以分頁方式顯示內(nèi)容,即顯示滿一頁時暫停,待用戶按任意鍵后繼續(xù)顯示下一頁,直至全部顯示完畢;LIST命令是以滾動方式顯示,如果顯示的內(nèi)容超過一頁,執(zhí)行該命令后,屏幕上只剩下最后一頁的內(nèi)容。②
當(dāng)命令中缺省“范圍”和“條件”選項時,LIST命令默認(rèn)為全部記錄,而DISPLAY命令默認(rèn)為當(dāng)前記錄。
4.3.3打開和關(guān)閉表文件操作命令數(shù)據(jù)表的打開和關(guān)閉是最常用的操作,在程序中要使用相關(guān)命令,在VisualFoxPro的交互方式下,可以用菜單完成該操作。下面分別介紹。1.打開表文件命令要使用一個表文件,必須先打開它。命令格式:USE<表文件名>命令功能:打開指定表文件,同時關(guān)閉原來已打開的表文件。如果該表文件有備注型字段,則同時打開與表文件同名、擴(kuò)展名為.FPT的備注文件。在打開表文件時如省略擴(kuò)展名,則系統(tǒng)默認(rèn)為.DBF。
4.3.3打開和關(guān)閉表文件操作命令2.關(guān)閉表文件命令表文件在使用或修改完畢后要進(jìn)行關(guān)閉。命令格式:USE命令功能:執(zhí)行此命令后,打開的表文件將從內(nèi)存中消失。3.使用菜單方式打開和關(guān)閉表文件(1) 打開表:在VisualFoxPro主窗口中選擇【文件】│【打開】命令(或用鼠標(biāo)單擊工具欄中的【打開】圖標(biāo)),在彈出的【打開】對話框中選擇要打開的表文件,單擊【確定】按鈕。(2) 關(guān)閉表:在VisualFoxPro主窗口中選擇【窗口】│【數(shù)據(jù)工作期】命令,在彈出的【數(shù)據(jù)工作期】對話框中選擇要關(guān)閉的表,單擊【確定】按鈕。注意:使用【文件】菜單中的關(guān)閉命令或直接關(guān)閉表的瀏覽窗口,并未關(guān)閉表文件,而只是關(guān)閉了表的瀏覽窗口。4.3.4記錄指針定位命令打開一個表文件后,系統(tǒng)給這個表文件提供一個記錄指針,簡稱指針。指針里存放一個十進(jìn)制數(shù)n,它是某個記錄的記錄號,此時表明記錄指針指向了這個記錄。我們把這個記錄稱為當(dāng)前記錄。剛打開一個表文件時,記錄指針指向首記錄。對表文件的操作是以當(dāng)前記錄為基準(zhǔn)的,在執(zhí)行某些命令時,會改變當(dāng)前記錄。在這里,我們先介紹用于改變當(dāng)前記錄的兩條命令——移動指針命令。4.3.4記錄指針定位命令1.絕對移動指針命令命令格式:GO[RECORD]<數(shù)值表達(dá)式>[TOP|BOTTOM]命令功能:命令關(guān)鍵字GO也可用GOTO代替。若選擇數(shù)值表達(dá)式,記錄指針指向記錄號等于此表達(dá)式的記錄;若選擇TOP,記錄指針指向首記錄;若選擇BOTTOM,記錄指針指向末記錄。當(dāng)GO后是一個具體數(shù)字時,可缺省此命令關(guān)鍵字。例4.9指針的絕對移動。USE學(xué)生GO8&&使8號記錄成為當(dāng)前記錄GOTOP&&記錄指針指向首記錄5&&使5號記錄成為當(dāng)前記錄GOBOTTOM&&記錄指針指向末記錄4.3.4記錄指針定位命令2.相對移動指針命令確定當(dāng)前記錄之后,可用SKIP命令向前或向后移動若干條記錄位置,稱為相對移動。命令格式:SKIP[±<數(shù)值表達(dá)式>]命令功能:使指針以當(dāng)前記錄為基準(zhǔn),向前或向后移動若干條記錄,移動記錄的個數(shù)等于命令中數(shù)值表達(dá)式的值。命令中的“+”號表示向后移動(“+”可省略),“–”號表示向前移動。當(dāng)缺省數(shù)值表達(dá)式(只使用命令SKIP)時等價于SKIP+1。例4.10指針的相對移動。USE學(xué)生SKIP8&&使9號記錄成為當(dāng)前記錄SKIP–3&&使6號記錄成為當(dāng)前記錄SKIP&&使7號記錄成為當(dāng)前記錄
4.3.4記錄指針定位命令3.使用菜單移動記錄指針利用VisualFoxPro所提供的菜單也可以實現(xiàn)記錄指針的移動,操作步驟如下。(1) 在VisualFoxPro主窗口中用鼠標(biāo)單擊工具欄中的【打開】圖標(biāo),彈出【打開】對話框,在【打開】對話框中選擇要打開的表文件,并單擊【確定】按鈕。(2) 在VisualFoxPro主菜單中選擇【顯示】│【瀏覽】命令,此時在主窗口中顯示表文件的記錄內(nèi)容(第一條記錄的左邊有一指針符號),并在菜單欄增加了【表】下拉菜單。(3) 選擇【表】下拉菜單中的【轉(zhuǎn)到記錄】命令,將顯示下級菜單,如下圖所示。4.3.4記錄指針定位命令在下級菜單中提供了6個選項,它們是【第一個】、【最后一個】、【下一個】、【上一個】、【記錄號】和【定位】。其中的【下一個】和【上一個】選項是指以當(dāng)前記錄為基準(zhǔn)的上一條記錄和下一條記錄?!径ㄎ弧窟x項將在下面章節(jié)中介紹。(4) 選擇完畢,瀏覽窗口中表記錄左邊的指針符號會根據(jù)選擇的結(jié)果而發(fā)生移動
4.3.4記錄指針定位命令4.直接用鼠標(biāo)移動記錄指針在打開的數(shù)據(jù)表瀏覽窗口中,直接用鼠標(biāo)單擊指定記錄的任一位置,即可使該記錄成為當(dāng)前記錄,記錄指針符號可顯示于記錄的左邊。此方法適用于在交互方式下,且所選記錄在小范圍的情況下使用。例4.11用菜單方式將“學(xué)生”表中的記錄指針定位在第六條記錄。操作步驟如下。①
在菜單欄中選擇【文件】│【打開】命令,在打開對話框中選擇要打開的表“學(xué)生”。②
在菜單欄中選擇【顯示】│【瀏覽】命令,在VisualFoxPro主窗口中顯示表“學(xué)生”的記錄內(nèi)容,且記錄指針指向第一條記錄。③
在菜單欄中選擇【表】│【轉(zhuǎn)到記錄】│【記錄號】命令,彈出【轉(zhuǎn)到記錄】對話框。④在該對話框的【記錄號】文本欄中輸入6,單擊【確定】按鈕,此時在主窗口的【瀏覽】窗口中指針已指向第6號記錄。4.3.5記錄的追加命令在已創(chuàng)建數(shù)據(jù)表中添加新的記錄,可以是追加一條,也可以是多條記錄,還可能是需要添加一條空白記錄,或者是將其他數(shù)據(jù)表中的記錄追加至本表,VisualFoxPro都提供了相應(yīng)的功能。4.3.5記錄的追加命令1.追加新記錄l
用菜單方式打開表文件,并在VisualFoxPro主窗口中選擇【顯示】│【瀏覽】命令,此時在主窗口上顯示打開的表文件的記錄內(nèi)容。u
選擇【表】│【追加新記錄】命令(或Ctrl+Y)。只追加一條新的空白記錄。u
選擇【顯示】│【追加方式】命令。輸入內(nèi)容后,可自動再添加一條新記錄。l
用命令方式當(dāng)需要向打開的表中追加新記錄或已創(chuàng)建了表文件結(jié)構(gòu)后,需要向表中加入記錄時,可使用“APPEND”命令。命令格式:APPEND[BLANK]命令功能:在表文件的末尾加入新記錄。執(zhí)行該命令時,將在VisualFoxPro主窗口顯示一個編輯窗口,等待用戶輸入新的記錄內(nèi)容。若有可選項[BLANK],則在表文件末增加一個空記錄。
4.3.5記錄的追加命令無論用以上兩種方式中的哪一個,結(jié)果是在屏幕上打開了表文件的【瀏覽】窗口,用戶可在【瀏覽】窗口末尾輸入新的記錄內(nèi)容。在該窗口中,按列顯示表文件的記錄結(jié)構(gòu),光標(biāo)停在第一個字段處,等待用戶逐個字段地輸入記錄內(nèi)容。要改變顯示方式為行顯示,可在【顯示】下拉菜單中選擇【瀏覽】命令。當(dāng)輸入某字段的數(shù)據(jù)與該字段不符時(如類型不符),系統(tǒng)拒絕接受,并要求用戶重新輸入。如要追加空記錄,可直接按回車鍵即可。在追加的新記錄中如需輸入備注型字段的內(nèi)容,可用鼠標(biāo)雙擊該字段,此時屏幕上顯示一個編輯備注型字段的窗口,用戶在該窗口輸入備注型字段的內(nèi)容。輸入完畢,可單擊關(guān)閉按鈕返回【瀏覽】窗口。備注型字段數(shù)據(jù)實際存儲在與表文件同名,擴(kuò)展名為“.FPT”的備注文件中。備注型字段如已存入內(nèi)容,則該字段顯示的“memo”中的第一個字符m顯示為大寫的M。
4.3.5記錄的追加命令2.從其他表中追加記錄用命令方式命令格式:APPENDFROM<表文件名>[FIELDS<字段名清單>][FOR<條件>]命令功能:將指定表文件(源文件)中的記錄追加到當(dāng)前表文件(目的文件)中。命令中若有可選項“FOR<條件>”,則只追加滿足條件的記錄,否則追加全部記錄;若有可選項“FIELDS<字段名清單>”,則將源文件中字段名清單列出的字段追加到目的文件中,否則追加全部字段,備注型字段也一同被追加。用菜單方式①
打開表文件,在VisualFoxPro主菜單中選擇【顯示】|【瀏覽】命令,打開【瀏覽】窗口。
②
選擇【表】│【追加記錄】命令,此時在屏幕上彈出【追加來源】對話框。單擊圖中【來源于】文本框右側(cè)的按鈕,在彈出的【打開】對話框中選擇源表文件。4.3.5記錄的追加命令③
若只追加部分字段或滿足條件的記錄,可單擊圖4.3.6中的【選項】按鈕,打開【追加來源選項】對話框,如圖4.3.7所示。單擊【字段】
按鈕,打開【字段選擇器】,單擊For按鈕打開【表達(dá)式生成器】,選擇需要追加的字段或設(shè)定記錄的條件。注意:目的文件和源文件中,被追加的字段的字段名、類型和寬度最好相同,否則很容易造成錯誤。4.3.6字段值的替換前面講到對數(shù)據(jù)表執(zhí)行瀏覽操作可以兼有編輯功能,即在【瀏覽】窗口可以對記錄進(jìn)行修改。但對于成批的大量的修改,在瀏覽環(huán)境下做就不太方便了。本小節(jié)介紹記錄字段的成批替換問題。4.3.6字段值的替換例4.12按下列條件修改字段,寫出相應(yīng)的命令。(1) 對當(dāng)前表中所有學(xué)生的入學(xué)成績加5分。REPLACEALL入學(xué)成績WITH入學(xué)成績+5(2) 對當(dāng)前表中所有專業(yè)為“計算機(jī)”的改為“計算機(jī)應(yīng)用”REPLACEALL專業(yè)WITH"計算機(jī)應(yīng)用"FOR專業(yè)="計算機(jī)"(3) 對當(dāng)前表中姓名為“李曉明”的學(xué)生的“黨團(tuán)員”字段改為“真”REPLACEALL黨團(tuán)員WITH.T.FOR姓名="李曉明"(4) 對當(dāng)前表中所有記錄的“班級編號”字段的值的第一個字符改為“1”REPLACEALL班級編號
WITH"1"+RIGHT(班級編號,1)4.3.6字段值的替換2.用菜單方式實現(xiàn)字段值的替換操作步驟如下:①
打開表文件,并在VisualFoxPro主窗口中選擇【顯示】|【瀏覽】命令,此時在【瀏覽】窗口中顯示打開的表文件的記錄內(nèi)容。②
選擇【表】│【替換字段】命令,此時在屏幕上顯示替換字段窗口③
該窗口中的【字段】文本框中,用戶可輸入被替換字段的字段名;或單擊【字段】文本框右邊的下箭頭,選擇要替換的字段名。如選擇“入學(xué)成績”字段。④
在【替換為】文本框中輸入替換的內(nèi)容;或單擊【替換為】文本框右邊的按鈕,彈出【表達(dá)式生成器】,在該對話框中輸入替換的內(nèi)容。單擊【確定】按鈕,返回【替換字段】對話框。⑤
在【替換字段】對話框可繼續(xù)選擇【作用范圍】、For和While命令(可在如圖4.3.8所示的表達(dá)式生成器中設(shè)置條件),然后單擊【替換】按鈕。返回【瀏覽】窗口,此時,所要替換的字段的值已替換。
4.3.7表文件記錄的刪除和恢復(fù)刪除表文件中的記錄分為邏輯刪除和物理刪除。邏輯刪除只是在記錄上加上一個刪除標(biāo)記“*”,這種標(biāo)記是可以取消的;物理刪除才是將記錄從表中徹底刪除掉。1.用命令方式實現(xiàn)表文件記錄的刪除和恢復(fù)(1) 用命令方式給表中的記錄加上刪除標(biāo)記命令結(jié)構(gòu):DELETE[<范圍>][FOR<條件1>][WHILE<條件2>]命令功能:對范圍內(nèi)滿足條件的記錄進(jìn)行邏輯刪除,即加上刪除標(biāo)記“*”。在缺省[<范圍>]和<條件>選項時,僅對當(dāng)前記錄加上刪除標(biāo)記。
4.3.7表文件記錄的刪除和恢復(fù)例4.13對“學(xué)生”表中的第1~3條記錄加刪除標(biāo)記。USE學(xué)生DELETENEXT3LIST顯示結(jié)果如下:(2)用命令方式撤消表中的記錄的刪除標(biāo)記命令結(jié)構(gòu):RECALL[<范圍>][FOR<條件1>][WHILE<條件2>]命令功能:對范圍內(nèi)滿足條件的記錄如果有刪除標(biāo)記“*”,將被撤消。.在缺省[<范圍>]和<條件>選項時,僅對當(dāng)前記錄撤消刪除標(biāo)記。例4.14對“學(xué)生”表中的刪除標(biāo)記全部撤消USE學(xué)生RECALLALLLIST&&顯示結(jié)果略4.3.7表文件記錄的刪除和恢復(fù)2.用菜單方式實現(xiàn)表文件記錄的刪除和恢復(fù)操作步驟如下:(1) 打開表文件,并在VisualFoxPro主窗口中選擇【顯示】│【瀏覽】命令,此時在主窗口上顯示打開的表文件的記錄內(nèi)容。(2) 選擇【表】│【刪除記錄】命令,此時彈出【刪除】對話框。(3) 在對話框中輸入加刪除標(biāo)記記錄【作用范圍】、【For】和【W(wǎng)hile】的條件,方法同前,然后單擊【刪除】按鈕。此時,表文件中滿足條件的記錄已加了刪除標(biāo)記。(4) 如果需要撤消某些記錄的刪除標(biāo)記,可在圖4.3.4所示的【表】下拉菜單中選擇【恢復(fù)記錄】命令,系統(tǒng)將彈出【恢復(fù)記錄】對話框,在該對話框中輸入需撤消刪除標(biāo)記記錄對話框【作用范圍】、【For】和【W(wǎng)hile】的條件,然后單擊【恢復(fù)記錄】按鈕。此時,表文件中滿足條件記錄上的刪除標(biāo)記已經(jīng)被撤消。4.3.7表文件記錄的刪除和恢復(fù)例4.15用菜單方式把“學(xué)生”表中性別為男的記錄加上刪除標(biāo)記操作步驟如下:①
打開“學(xué)生”表
②
選擇【顯示】│【瀏覽】命令③
選擇【表】│【刪除記錄】命令,在彈出的【刪除】對話框中,輸入【作用范圍】:ALL,【For】條件:學(xué)生.性別=“男”,單擊【刪除】按鈕。此時在【瀏覽】窗口中顯示加了刪除標(biāo)記的“學(xué)生”表。
4.3.7表文件記錄的刪除和恢復(fù)3.用鼠標(biāo)單擊實現(xiàn)表文件記錄的刪除和恢復(fù)在將表文件以【瀏覽】或【編輯】方式顯示在主窗口中時,可用鼠標(biāo)單擊記錄左邊的“小方格”,當(dāng)“小方格”變成黑色時,表示該記錄已加了刪除標(biāo)記。當(dāng)再次單擊“小方格”時,“小方格”變成白色,表示該記錄的刪除標(biāo)記已經(jīng)被撤消。另外,還可以用“<Ctrl>+<T>”對當(dāng)前記錄增加和撤消刪除標(biāo)記。4.SETDELETEDON/OFF命令記錄加了刪除標(biāo)記后,再執(zhí)行其他命令時是否有影響,要取決于“SETDELETED”命令。當(dāng)執(zhí)行了“SETDELETEDOFF”命令后,刪除標(biāo)記對任何命令均無影響;當(dāng)執(zhí)行了“SETDELETEDON”命令后再執(zhí)行其他命令時,一般不包括帶有刪除標(biāo)記的記錄。但有兩點例外:①命令中含有RECORD<表達(dá)式>或NEXT<表達(dá)式>范圍項,且范圍內(nèi)第一個記錄帶有刪除標(biāo)記的。②本章后面講到的INDEX和REINDEX命令不受“SETDELETED”命令的影響?!癝ETDELETED”命令的初始默認(rèn)值為OFF。
4.3.7表文件記錄的刪除和恢復(fù)5.物理刪除記錄l
用命令方式物理刪除帶刪除標(biāo)記的記錄命令格式:PACK命令功能:將表中帶有刪除標(biāo)記的記錄全部刪除掉,并且不能再恢復(fù)。例4.16將當(dāng)前表中有刪除標(biāo)記的記錄物理刪除PACKl
用菜單方式刪除帶刪除標(biāo)記的記錄操作步驟如下:(1) 打開要刪除記錄的表文件。(2) 選擇【顯示】|【瀏覽】命令(3) 選擇【表】│【徹底刪除】,彈出確定對話框,單擊“是”,則物理刪除帶有刪除標(biāo)記的記錄。
4.3.7表文件記錄的刪除和恢復(fù)l物理刪除表中的全部記錄命令格式:ZAP命令功能:物理刪除表中的全部記錄,不管是否有刪除標(biāo)記。但表結(jié)構(gòu)仍然存在。4.4建立表索引在VisualFoxPro中,表建立以后,其內(nèi)部記錄的排列順序是按照輸入的順序排列的,如果需要按某字段的順序重新排列記錄,則要進(jìn)行排序。排序分為物理排序和邏輯排序,物理排序(簡稱:排序)需占用較大的存儲空間,而邏輯排序(即:索引)是由指針構(gòu)成的排序文件,這些指針邏輯上按照索引關(guān)鍵字值進(jìn)行排序。索引文件和表的.dbf文件分別存儲,且不改變表中記錄的物理順序。表索引實際上是一個列表,它建立了索引表達(dá)式與記錄號之間的一種對應(yīng)關(guān)系,并可按索引表達(dá)式的排序查找相應(yīng)的記錄,從而可以確定對記錄的處理順序。其中的索引表達(dá)式可以是表的一個字段,也可以是由某些字段組成的表達(dá)式。4.4建立表索引對于已經(jīng)建好的表,可以利用索引對其中的數(shù)據(jù)進(jìn)行排序,以便加速檢索數(shù)據(jù)的速度,還可以利用索引快速顯示、查詢或者打印記錄,控制重復(fù)字段值的輸入并支持表間的關(guān)系操作。對同一個表可以建立多個索引,每一個索引代表一種記錄的處理順序,但在任何時刻,最多只有一個索引起作用,這個索引稱為主控索引。索引存放在結(jié)構(gòu)化復(fù)合索引文件中,該文件與相關(guān)的表文件同名,擴(kuò)展名為.CDX,如學(xué)生.CDX。通常情況下,每一個索引包含兩部分內(nèi)容:1.索引關(guān)鍵字表達(dá)式:它是用來創(chuàng)建索引的標(biāo)準(zhǔn),可以是表中的某個特定的字段、變量、函數(shù)等項的組合表達(dá)式。2.索引標(biāo)識:是索引的名稱,要求以字母或下劃線開頭,由字母、數(shù)字和下劃線組成,但不能超過10個字符。
4.4建立表索引4.4.1索引類型4.4.2用命令方式建立索引4.4.3在表設(shè)計器中建立索引4.4.4表記錄的查找4.4.1索引類型VisualFoxPro為數(shù)據(jù)庫表提供了主索引、候選索引、惟一索引和普通索引四種,自由表只有后三種索引。1.主索引起主關(guān)鍵字作用,并在指定字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引叫主索引。這里的“不允許出現(xiàn)重復(fù)值”是指建立索引的字段值不允許重復(fù)。如果需在含有重復(fù)數(shù)據(jù)的字段中建立主索引,則必須首先刪除重復(fù)字段值后才能建立主索引。建立主索引的字段可以看作是主關(guān)鍵字。一個表只能有一個主關(guān)鍵字,因此一個表只能建立一個主索引。主索引是一個不允許索引表達(dá)式值出現(xiàn)重復(fù)的索引。我們可以為數(shù)據(jù)庫中的每一個表建立一個主索引,如果一個表有了一個主索引,還可以為它添加候選索引。2.候選索引候選索引是主索引的候選索引。它和主索引具有相同的特性,建立候選索引的字段可以看作是候選關(guān)鍵字。候選索引和主索引一樣不允許索引表達(dá)式值出現(xiàn)重復(fù)的索引。在一個表中可以建立多個候選索引。4.4.1索引類型3.惟一索引惟一索引允許索引表達(dá)式有重復(fù)值,當(dāng)索引表達(dá)式值重復(fù)時,只有第一個記錄進(jìn)入索引。在一個表中可以建立多個惟一索引。4.普通索引普通索引允許索引表達(dá)式出現(xiàn)重復(fù)值,一個表中可以有多個普通索引。在一個表中可以建立多個索引,每個索引分別表示處理記錄的不同順序。但如果索引過多會降低系統(tǒng)的運行性能。
4.4.2用命令方式建立索引1.創(chuàng)建索引命令格式:INDEXON<關(guān)鍵字表達(dá)式>TAG<索引標(biāo)識>[FOR<條件表達(dá)式>][ASCENDING|DESCENDING]命令功能:根據(jù)<關(guān)鍵字表達(dá)式>為當(dāng)前打開的表文件創(chuàng)建一個索引,索引名為命令中給定的<索引標(biāo)識>。索引文件存放在與表文件同名,擴(kuò)展名為
.CDX的復(fù)合結(jié)構(gòu)索引文件中。命令中的<關(guān)鍵字表達(dá)式>可以是一個字段名,還可以是包含字段名的表達(dá)式,但該表達(dá)式只能是數(shù)值型、字符型或日期型。若命令中無[FOR<條件表達(dá)式>],則對所有記錄進(jìn)行索引;否則只對滿足條件的記錄進(jìn)行索引。[ASCENDING或
DESCENDING]選項:若缺省或選擇ASCENDING,索引將按關(guān)鍵字表達(dá)式的值升序排列;若選擇DESCENDING,索引將按關(guān)鍵字表達(dá)式的值降序排列。
4.4.2用命令方式建立索引例4.17對表文件“學(xué)生”,按“出生日期”的升序建立一索引文件,索引標(biāo)識為SY1。USE學(xué)生INDEXON出生日期
TAGSY1BROWSE瀏覽結(jié)果見圖如果在索引表達(dá)式中是由多個數(shù)值型字段組成,則索引將按照多個數(shù)值型字段的和進(jìn)行排序。
4.4.2用命令方式建立索引例4.18新建一個“成績”表,表結(jié)構(gòu)為:學(xué)號,字符型,寬度為7;姓名,字符型,寬度為8;計算機(jī)、英語、高等數(shù)學(xué)都為數(shù)值型,寬度均為4?,F(xiàn)根據(jù)三門課程成績的總和進(jìn)行降序索引,索引標(biāo)識為SY2。USE成績INDEXON計算機(jī)+英語+高等數(shù)學(xué)
TAGSY2DESCBROWSE瀏覽結(jié)果見右圖4.4.2用命令方式建立索引如果希望先按高等數(shù)學(xué)索引,高等數(shù)學(xué)成績相同時再按計算機(jī)索引,最后再按英語索引,索引標(biāo)識為SY3,則應(yīng)輸入以下命令:
INDEXONSTR(高等數(shù)學(xué),4)+STR(計算機(jī),4)+STR(英語,4)TAGSY3DESCBROWSE瀏覽結(jié)果見圖4.4.2用命令方式建立索引注意:按此方法進(jìn)行索引,如果索引關(guān)鍵字表達(dá)式中使用了非字符字段,則必須通過相關(guān)函數(shù)(如STR(),DTOC()等)將非字符型字段轉(zhuǎn)換成字符型字段。例4.19對“學(xué)生”表,對男生按入學(xué)成績進(jìn)行索引,索引標(biāo)識為SY4。USE學(xué)生INDEXON入學(xué)成績
TAGSY4FOR性別="男"BROWSE4.4.2用命令方式建立索引2.設(shè)置主控索引由于一個表可以建立多個索引,其中每個索引代表不同的記錄集合、不同的排列順序,根據(jù)需要我們可以選用適當(dāng)?shù)乃饕?。但在某一時刻,只有一個索引起作用,這就是主控索引。在給表建立多個索引時,最近建的索引自動成為主控索引。如要改變主控索引,則要使用“SETORDER”命令。命令格式:SETORDERTO<索引標(biāo)識>命令功能:將指定的索引成為當(dāng)前的主控索引。例4.20在上面例子中已建立了SY1,SY4兩個索引,執(zhí)行下列命令:USE學(xué)生SETORDERTOSY1&&將SY1設(shè)置成主控索引LISTSETORDERTOSY4&&將SY4設(shè)置成主控索引LIST請讀者分析執(zhí)行結(jié)果。4.4.2用命令方式建立索引3.刪除索引如果某個索引不再使用了則可以刪除它。命令格式:DELETETAG<索引標(biāo)識清單
|ALL>命令功能:該命令從結(jié)構(gòu)化復(fù)合索引文件中刪除索引標(biāo)識清單中列出的索引或全部索引。4.4.3在表設(shè)計器中建立索引索引除了可以在命令方式下建立,還可以在表設(shè)計器中建立。
1.單項索引在【表設(shè)計器】中有【字段】、【索引】和【表】三個選項卡,在【字段】選項卡中定義字段時就可以直接指定某些字段是否是索引項,用鼠標(biāo)單擊定義索引的下拉列表框可以看到有三個選項:無、升序和降序(默認(rèn)為無),如圖4.4.5所示。如果選定了升序或降序,則在對應(yīng)字段上建立了一個普通索引,索引名與字段名同名,索引表達(dá)式就是對應(yīng)的字段。如果要將索引定義為其他類型,須切換到【索引】選項卡,然后從【類型】下拉列表中選擇索引的類型。此時可根據(jù)需要選擇主索引、候選索引或惟一索引。4.4.3在表設(shè)計器中建立索引2.復(fù)合字段索引如果索引是由多個字段構(gòu)成的,則稱為復(fù)合字段索引。建立復(fù)合字段索引的方法是:(1) 在【索引】選項卡中單擊【插入】按鈕,此時會在屏幕上出現(xiàn)一個新行。(2) 在索引名欄中輸入索引名。(3) 從索引類型下拉列表中選擇索引類型。(4) 單擊表達(dá)式欄右側(cè)的按鈕,打開表達(dá)式生成器。(5) 在表達(dá)式生成器中輸入索引表達(dá)式,最后單擊【確定】按鈕。4.4.3在表設(shè)計器中建立索引例4.21用表設(shè)計器對例4.18作如下操作
(1) 打開
“成績”數(shù)據(jù)表。(2) 選擇【顯示】|【表設(shè)計器】命令,選擇【索引】選項卡。(3) 在【索引】選項卡中單擊【插入】按鈕,并在【索引名】欄中輸入“SY2”。(4) 可在【表達(dá)式】欄中輸入“計算機(jī)+英語+高等數(shù)學(xué)”或單擊表達(dá)式欄右側(cè)的按鈕,彈出表達(dá)式生成器,在【表達(dá)式】欄中輸入“計算機(jī)+英語+高等數(shù)學(xué)”,單擊【確定】按鈕。(5) 如果需要篩選條件,可單擊【篩選】欄直接輸入條件或單擊【篩選】欄右側(cè)的按鈕,打開【表達(dá)式生成器】,輸入篩選條件。如輸入“計算機(jī)>=95”。(6) 如需進(jìn)行“升序”排列,可單擊【索引】選項【排序】中的按鈕,最后單擊【確定】按鈕。(7) 選擇【表】│【屬性】命令,打開【工作區(qū)屬性】對話框。在【索引順序】下拉菜單中選擇“成績:Sy2”,單擊【確定】按鈕。4.4.4表記錄的查找VisualFoxPro提供了兩種查找記錄的方法:一種是順序查找法;另一種是利用索引文件查找,簡稱索引查找法。1.順序查找命令命令格式:LOCATE[<范圍>][FOR<條件1>][WHILE<條件2>]命令功能:在指定范圍內(nèi),按照記錄順序查找滿足條件的第一條記錄。若找到,則記錄指針指向該記錄,置FOUND()函數(shù)為.T.,并停止查找;若未找到,則置FOUND()函數(shù)為.F.,也停止查找。當(dāng)<范圍>為NEXTn時,指針指向范圍內(nèi)最后一條記錄;當(dāng)<范圍>為ALL時,指針指向表文件末尾,即最大記錄號加1,并置為EOF()為.T.。缺省<范圍>選項時默認(rèn)為ALL。4.4.4表記錄的查找例4.22在“學(xué)生”表中,查找英語專業(yè)的學(xué)生。USE學(xué)生LOCATEFOR專業(yè)="英語"BROWSE瀏覽窗口顯示結(jié)果。指針定位于第一個專業(yè)為“英語”的記錄。4.4.4表記錄的查找2.繼續(xù)查找命令LOCATE命令在找到第一個滿足條件的記錄后,就停止查找,如想繼續(xù)查找滿足條件的記錄可使用CONTINUE命令。命令格式:CONTINUE命令功能:用于LOCATE命令后,在剩下的范圍內(nèi)繼續(xù)順序查找滿足條件的記錄。3.索引查找命令當(dāng)數(shù)據(jù)表設(shè)置了主控索引后,其記錄的順序為邏輯順序。我們可根據(jù)索引關(guān)鍵字進(jìn)行查找,從而加快查找速度。命令格式:SEEK<表達(dá)式>命令功能:根據(jù)主控索引,查找與命令中<表達(dá)式>值相匹配的記錄。如果查找成功,指針指向邏輯順序中第一條滿足條件的記錄,并置FOUND()為.T.,EOF().為F.,RECNO()為該記錄號;若查找失敗,則記錄指針指向表文件末尾,F(xiàn)OUND()為.F.,EOF()為.T.,RECNO()為表記錄數(shù)加1。當(dāng)主控索引的關(guān)鍵字是字符型時,命令中的表達(dá)式可以是該關(guān)鍵字值的全部,也可以是從它左邊開始的一部分。當(dāng)主控索引的關(guān)鍵字是數(shù)值型時,表達(dá)式必須等于關(guān)鍵字?jǐn)?shù)值。4.4.4表記錄的查找例4.23對“學(xué)生”表,查找姓李的學(xué)生。USE學(xué)生INDEXON姓名
TAGXMSEEK"李"DISPLAY顯示結(jié)果如下:4.5表中數(shù)值參數(shù)的統(tǒng)計VisualFoxPro系統(tǒng)提供了多條對數(shù)值型字段進(jìn)行統(tǒng)計的命令。4.5.1統(tǒng)計記錄個數(shù)命令4.5.2求和命令4.5.3求平均值命令4.5.4分類求和命令4.5.1統(tǒng)計記錄個數(shù)命令命令格式:COUNT[<范圍>][FOR<條件1>][WHILE<條件2>][TO<內(nèi)存變量名>]命令功能:對當(dāng)前打開的表文件,統(tǒng)計<范圍>內(nèi)符合給定條件的記錄個數(shù)。若有[TO<內(nèi)存變量名>]選項,則將統(tǒng)計結(jié)果存入指定內(nèi)存變量,否則只在屏幕上顯示統(tǒng)計結(jié)果。缺省[<范圍>]可選項時默認(rèn)為ALL。例4.24統(tǒng)計“學(xué)生”表中,年齡在20歲及以上的人數(shù)。COUNTFORyear(DATE())-year(出生日期)>=20toa?a顯示結(jié)果:64.5.2求和命令命令格式:SUM[<表達(dá)式清單>][<范圍>][FOR<條件1>][WHILE<條件2>][TO<內(nèi)存變量名>|TOARRAY<數(shù)組名>]命令功能:對當(dāng)前打開的表文件中滿足條件的記錄進(jìn)行縱向求和。若命令中缺省[<表達(dá)式清單>]可選項時,表示對表文件中所有數(shù)值型字段求和;若缺省[<范圍>]可選項,默認(rèn)為ALL;若命令中含有[TO<內(nèi)存變量名>]可選項,則將求和結(jié)果存入對應(yīng)的內(nèi)存變量中;如果命令中含有[TOARRAY<數(shù)組名>]可選項,則將求和結(jié)果存入指定數(shù)組中,若數(shù)組不存在,系統(tǒng)會自動建立,若數(shù)組過小,系統(tǒng)會自動擴(kuò)大數(shù)組。
4.5.3求平均值命令命令格式:AVERAGE[<表達(dá)式清單>][<范圍>][FOR<條件1>][WHILE<條件2>][TO<內(nèi)存變量名>|TOARRAY<數(shù)組名>]命令功能:對當(dāng)前打開的表文件滿足條件的記錄進(jìn)行縱向求平均。該命令對可選項的規(guī)定與SUM相同。例4.25統(tǒng)計出“成績”表中計算機(jī),英語,高等數(shù)學(xué)三門課程的總分及平均分,將三門課程的總分分別存入jsj、yy和gs三個內(nèi)存變量中,平均分分別存入pjsj、pyy和pgs三個內(nèi)存變量中。USE成績SUM計算機(jī),英語,高等數(shù)學(xué)
tojsj,yy,gs
AVERAGE計算機(jī),英語,高等數(shù)學(xué)topjsj,pyy,pgs?jsj,yy,gs,pjsj,pyy,pgs顯示結(jié)果為:1104.001121.001100.0092.0093.4291.67
4.5.4分類求和命令命令格式:TOTALON<關(guān)鍵字段>]TO<目的表文件名>[FIELDS<字段名清單>][<范圍>][FOR<條件1>][WHILE<條件2>]命令功能:對當(dāng)前打開的表文件滿足條件的記錄進(jìn)行分類求和。執(zhí)行該命令時,要求當(dāng)前打開的表文件必須是已經(jīng)按此命令中的“關(guān)鍵字段”進(jìn)行了排序或索引。命令中的<字段名清單>項列出了需分類求和的字段名,它們必須是數(shù)值型字段。若命令中缺省此項,則對打開的表文件中的所有數(shù)值型字段分類求和。未求和的字段,生成的記錄字段值等于具有相同關(guān)鍵字記錄中的第一條記錄的字段值;在求和字段上生成記錄的字段值等于分類求和的結(jié)果。若某個字段的求和結(jié)果超過了該字段的寬度,則系統(tǒng)會截去一部分小數(shù)或采用科學(xué)計數(shù)法。如果還不夠?qū)挾?,則以一串“*”號填滿該字段。當(dāng)缺省[<范圍>]項時,系統(tǒng)默認(rèn)為ALL。4.5.4分類求和命令例4.26對“學(xué)生”表,按班級統(tǒng)計出入學(xué)成績總分?jǐn)?shù),并將結(jié)果存入“入學(xué)成績匯總”表中。USE學(xué)生INDEXON班級編號
TAGSY5TOTALON班級編號
to入學(xué)成績匯總
FIELDS入學(xué)成績USE入學(xué)成績匯總LIST班級編號,入學(xué)成績顯示結(jié)果為:記錄號
班級編號
入學(xué)成績1 01 24092 02 23963 03 24184.6文件操作命令本節(jié)介紹有關(guān)文件操作的命令,如文件的復(fù)制、刪除、重命名等。4.6.1文件的復(fù)制命令4.6.2文件管理操作命令4.6.1文件的復(fù)制命令把一個文件的的全部或部分拷貝到一個新文件中叫文件的復(fù)制,文件的復(fù)制由COPY命令實現(xiàn)。根據(jù)需要,VisualFoxPro提供了多種形式的COPY命令。1.文件的復(fù)制(1) 復(fù)制各類文件命令命令格式:COPYFILE<源文件名>TO<目的文件名>命令功能:將源文件完整地復(fù)制到目的文件。在使用本命令時應(yīng)注意以下幾點:①
源文件名和目的文件名必須帶上擴(kuò)展名。②
被復(fù)制的源文件不能處于打開狀態(tài)。③
若源文件是一個含有備注字段和結(jié)構(gòu)化復(fù)合索引文件的表文件,在文件復(fù)制時,應(yīng)分別進(jìn)行復(fù)制。4.6.1文件的復(fù)制命令例4.27把“學(xué)生”表文件復(fù)制到名為“新學(xué)生1”的新表文件中COPYFILE學(xué)生.DBFTO新學(xué)生1.DBFCOPYFILE學(xué)生.FPTTO新學(xué)生1.FPTCOPYFILE學(xué)生.CDXTO新學(xué)生1.CDX(2) 復(fù)制數(shù)據(jù)表文件命令從打開的表文件中將部分記錄或部分字段復(fù)制成一個新的表文件。命令格式:COPYTO<目的表文件名>[FIELDS<字段名清單>][<范圍>][FOR<條件1>][WHILE<條件2>]命令功能:把源表文件中指定范圍內(nèi)滿足條件的記錄復(fù)制到目的表文件。若缺省[FIELDS<字段名清單>]則表示復(fù)制源表文件中的全部字段,否則只復(fù)制
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度化妝品銷售業(yè)務(wù)合同范本(品質(zhì)保障)2篇
- 2025年度灑水車租賃及消防應(yīng)急服務(wù)合同范本3篇
- 新零售領(lǐng)域下的企業(yè)并購動因及績效分析
- 可解釋AI綜述及其在地震科學(xué)領(lǐng)域中的應(yīng)用展望
- 2024年科技園區(qū)土地房屋股權(quán)轉(zhuǎn)讓與技術(shù)研發(fā)合同范本3篇
- 2024年版:量子計算技術(shù)研發(fā)合作合同
- 城市性質(zhì)分析
- 班主任的工作計劃表格
- 關(guān)鍵事項在審計報告中的位置
- 非木竹材林產(chǎn)品采集與生態(tài)文化傳承考核試卷
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
- 《中華民族共同體概論》考試復(fù)習(xí)題庫(含答案)
- 中石油度員工HSE培訓(xùn)計劃
- (完整版)Adams課程設(shè)計
- 30課時羽毛球教案
- 客服部相關(guān)報表解
- 全踝關(guān)節(jié)置換術(shù)ppt課件
- 學(xué)術(shù)英語寫作范文17篇
- 任發(fā)改委副主任掛職鍛煉工作總結(jié)范文
- 中華任姓字輩源流
- 2021年人事部年度年終工作總結(jié)及明年工作計劃
評論
0/150
提交評論