6.1表的基本操作二
目的與要求: 通過本次課的學(xué)習(xí),掌握數(shù)據(jù)表的編輯方法,能夠復(fù)制表文件和表文件結(jié)構(gòu)。 | ||
教學(xué)內(nèi)容與時間安排、教學(xué)方法: 教學(xué)安排: 表結(jié)構(gòu)和數(shù)據(jù)的復(fù)制、記錄的添加和刪除 40分鐘 記錄的刪除、恢復(fù)和修改 40分鐘 教學(xué)方法: CAI、圖形、表格 | ||
教學(xué)重點(diǎn)及如何突出重點(diǎn)、難點(diǎn)及如何突破難點(diǎn): 教學(xué)重點(diǎn): 表的創(chuàng)建、打開、關(guān)閉、表結(jié)構(gòu)修改、表的記錄定位 教學(xué)難點(diǎn): 表的創(chuàng)建、表結(jié)構(gòu)修改、表的記錄定位 | ||
基本內(nèi)容 | 教學(xué) | 課堂設(shè)計(jì) |
4.5表結(jié)構(gòu)和記錄的復(fù)制 1.復(fù)制任何類型的文件 【命令】copy file <文件名1> to <文件名2> 【功能】從文件<文件名1>復(fù)制得到<文件名2> 2.復(fù)制表文件 【命令】copy to <文件名>[范圍][filelds<字段名表>][for<條件>][while<條件>] 【功能】將當(dāng)前表文件選定的部分記錄和部分字段復(fù)制成一個新表或者其它類型文件。 3.復(fù)制表文件結(jié)構(gòu) 【命令】copy structure to <文件名> [filelds<字段名表>] 【功能】將當(dāng)前表文件的結(jié)構(gòu)復(fù)制到一個新表文件中。
4.6 增加記錄 增加記錄是指在表文件尾記錄后追加新記錄或空白記錄或在某兩個記錄之間插入一個新記錄或空白記錄。 1.追加新記錄 【格式】APPEND [BLANK] 【功能】在表末尾追加一條或多條記錄。 【說明】 省略[BLANK]子句,可以交互方式追加若干條記錄或追加空記錄。 使用BLANK子句不進(jìn)入交互方式,只在表尾添加一條空白記錄,以便以后添加數(shù)據(jù)。 【例】在STUDENT.DBF表文件尾追加一個新記錄,填寫個人情況.再在STUDENT.DBF表文件尾追加一個空白記錄. SET DEFAULT TO D:\MYVFP &&設(shè)置默認(rèn)路徑 USE STUDENT &&打開STUDENT.DBF表文件 APPEND &&執(zhí)行該命令后,在表文件尾追加一個新記錄,并進(jìn)入交互方式,在此輸入個人信息. APPEND BLANK &&執(zhí)行該命令后,在表文件尾追加一個空白記錄,不進(jìn)入交互方式. 單擊"顯示"菜單→"瀏覽"命令打開"表瀏覽窗口或表編輯窗口"→進(jìn)行瀏覽記錄 2.插入新記錄 【格式】INSERT [BLANK] [BEFORE] 【功能】在打開表中插入新記錄。 【說明】 該命令可以在打開的表文件中某兩個記錄間插入新記錄或空白記錄 使用INSERT BEFORE(子句):可以在當(dāng)前記錄之前插入新記錄,省略BEFORE子句則在當(dāng)前記錄之后插入新記錄,并進(jìn)入交互方式。 使用INSERT BLANK(子句):表示在當(dāng)前表中插入一條空白記錄,省略該子句會出現(xiàn)記錄編輯窗口,等待用戶輸入記錄內(nèi)容。 使用該命令需和記錄指針定位命令配合使用 若對表文建立了索引,則該命令只能在尾紀(jì)錄后追加紀(jì)錄。 注:該命令不支持菜單操作。 【例】在STUDENT.DBF表文件的3號記錄前插入一個新記錄,再在STUDENT.DBF表文件尾追加一個空白記錄. SET DEFAULT TO D:\MYVFP &&設(shè)置默認(rèn)路徑 USE STUDENT &&打開STUDENT.DBF表文件 GO 3 &&記錄指針定位到3號記錄,使之成為當(dāng)前記錄 INSERT BEFORE &&在當(dāng)前記錄(3號)前插入一個新記錄,進(jìn)入編輯窗口 【例】在STUDENT.DBF表文件的3號記錄之后插入一個新記錄. GO 3 INSER &&在當(dāng)前記錄(3號)之后插入一個新記錄,進(jìn)入編輯窗口 【例】在STUDENT.DBF表文件的2號記錄之前插入一個新空白記錄記錄. GO 2 INSERT BEFORE BLANK 在當(dāng)前記錄(2號)之前插入一個新空白記錄。 3.成批追加記錄 【格式】APPEND FROM <文件名>|?[FIELDS <字段名表>] [FOR<條件表達(dá)式>] 【功能】將指定數(shù)據(jù)表(稱源表,關(guān)閉的)中的記錄或其他類型文件中的數(shù)據(jù)追加到當(dāng)前表(稱目標(biāo)表,打開的)中。圖4-21 源表文件與目標(biāo)表文件的狀態(tài) 【說明】 把源表文件中的內(nèi)容追加到當(dāng)前表文件尾部 使用?選項(xiàng),會出現(xiàn)“打開”對話框,要求用戶選擇源文件。源文件可以是表,也可以是其他類型的文件。 當(dāng)源文件為表時,被追加表中的字段至少要有一個與當(dāng)前表的字段同名、同類型,否則一條記錄也不能追加。即只有同名、同類型的字段內(nèi)容被追加。 FIELDS短語用來指定追加哪些字段,F(xiàn)OR短語用來指定滿足條件的記錄被追加。不使用FOR短語,會將所有記錄追加到當(dāng)前表中。 【例】將表student.dbf中的女生記錄追加到表stu.dbf中,可以用以下命令。 USE stu && 打開數(shù)據(jù)表stu.dbf,源表student.dbf不需要打開。 Append from D:\myvfp\student for 性別="女" FIELDS 姓名,性別
-----------本節(jié)課結(jié)束-----------
4.7 修改記錄 修改記錄可以在瀏覽窗口或編輯窗口中以手工方式進(jìn)行,也可以使用replace命令自動修改。 一、記錄修改命令: 1.編輯修改 【格式】EDIT|CHANGE [FIELDS <字段名表>] [<范圍>][FOR <條件表達(dá)式>][WHILE <條件表達(dá)式>] 【功能】在編輯窗口顯示并編輯指定的字段。 【說明】 ①EDIT和CHANGE的功能相同。 ②缺省范圍和條件,表示從當(dāng)前記錄編輯到最后的記錄。 ③FIELDS短語用來指定顯示和編輯的字段。 ③該命令執(zhí)行后會打開表編輯窗口,用前邊學(xué)習(xí)的編輯方法對各字段的修改.若放棄此次修改可按Esc鍵或Ctrl+Q鍵。 【例4.2-18】編輯修改student表中的學(xué)號、姓名、性別和年齡字段。 use student edit fields 學(xué)號,姓名,性別,年齡 &&打開標(biāo)編輯窗口,進(jìn)行修改 注:修改后,單擊關(guān)閉按鈕或鍵入ctrl+w存盤。 2.瀏覽修改 【格式】BROWSE [FIELDS <字段名表>] [<范圍>][FOR <條件表達(dá)式>] [WHILE <條件表達(dá)式>] 【功能】打開瀏覽窗口,可以顯示、添加、刪除、修改記錄。 【說明】 ①FIELDS短語用來指定對表中哪些字段進(jìn)行編輯修改,瀏覽窗口中顯示字段的次序與<字段名表>給出的次序相同。 ②執(zhí)行該命令后,打開表瀏覽窗口。用戶可以單擊要修改的記錄(或者用其他記錄定位方法),使其成為當(dāng)前記錄,對于字符型、數(shù)值型、邏輯型、日期型等字段,可以把插入點(diǎn)放在字段中修改數(shù)據(jù)。如果要修改備注型字段,可以雙擊Memo,等出現(xiàn)帶備注字段內(nèi)容的編輯窗口,再進(jìn)行編輯。如果要修改通用型字段,可以雙擊Gen,等出現(xiàn)帶通用型字段內(nèi)容的編輯窗口后,就可以清除或更換嵌入或鏈接的OLE對象。修改結(jié)束后關(guān)閉窗口或按Ctrl+W存盤,若放棄此次修改可按Esc鍵或Ctrl+Q鍵。
3.替換命令 【格式】REPLACE <字段名1> WITH <表達(dá)式1> [ADDITIVE] [,<字段名2> WITH <表達(dá)式2>][ADDITIVE]][,…] [<范圍>][FOR <條件表達(dá)式>][WHILE <條件表達(dá)式>] 【功能】根據(jù)命令中指定的范圍和條件,用表達(dá)式的值去替換WITH前的字段的值 【說明】 ①該命令可以實(shí)現(xiàn)對多個字段內(nèi)容的替換,但命令中至少有一個〈字段名〉 WITH 〈表達(dá)式〉 ②如果不選用范圍和條件項(xiàng),則只替換當(dāng)前記錄 ③表達(dá)式的值與WITH前給出的字段類型一定要一致。如:姓名是字符型的WITH后表達(dá)式一定是字符型的數(shù)據(jù) 【例4.2-22】將2號記錄的型名“張宇飛”替換為“張飛宇” 2 &&將2號記錄置為當(dāng)前記錄 REPLACE 姓名 WITH '張宇飛' disp 或 list record 2 &&顯示當(dāng)前2號記錄
4.8 刪除和恢復(fù)記錄 一、記錄的刪除 據(jù)實(shí)際情況,對于表中的記錄,有些需要去掉,這就用到了vfp提供的記錄刪除功能。 注:VFP中刪除記錄是分兩步進(jìn)行的: 第一步是邏輯刪除, 第二步是物理刪除。 說明:邏輯刪除的記錄只是對記錄加上了一個刪除標(biāo)記,并未從表中真正刪除。若要真正刪除作了刪除標(biāo)記的記錄,還需要進(jìn)行物理刪除操作。 1.記錄的邏輯刪除 【格式】DELETE [<范圍>] [FOR <條件表達(dá)式1>][WHILE <條件表達(dá)式2>] 【功能】給指定的記錄作刪除標(biāo)記。 【說明】 ①省略范圍和條件時,僅給當(dāng)前記錄作刪除標(biāo)記。使用范圍和條件時,對全部符合條件的記錄或?qū)χ付ǚ秶鷥?nèi)的符合條件的記錄作刪除標(biāo)記。 ②使用函數(shù)DELETE( )可以測試記錄是否已經(jīng)加上刪除標(biāo)記(.T.加)(.F.未)。 ③一般情況下,邏輯刪除的記錄可以同其它記錄一樣參與操作,可以使用隱藏/顯示命令:SET DELETE ON/OFF,將作了刪除標(biāo)記的記錄隱藏起來,隱藏的記錄不參加任何操作,需要時將它們再顯示出來。 【隱藏/顯示作了刪除標(biāo)記錄命令的格式】: SET DELETE <ON>/<OFF> 【說明】 ①SET DELETE ON &&為隱藏作了刪標(biāo)的記錄。 ②SET DELETE OFF &&為顯示隱藏的記錄的記錄。系統(tǒng)默認(rèn)狀態(tài)。 2.記錄的物理刪除(對作了刪標(biāo)的記錄) 【格式】PACK 【功能】真正刪除帶有刪除標(biāo)記的記錄,進(jìn)行物理刪除后,記錄不能再恢復(fù)。 3.記錄清除命令 【格式】ZAP 【功能】物理刪除當(dāng)前表中的所有記錄,不管記錄是否帶有刪除標(biāo)記。 【說明】 ZAP等效于DELETE ALL和PACK兩條命令連用。由于通過ZAP命令刪除的記錄不能恢復(fù),所以要慎用。執(zhí)行該命令時,系統(tǒng)會出現(xiàn)提示框要求用戶確認(rèn)。 二、記錄恢復(fù) 恢復(fù)記錄的操作指的是將作了刪除標(biāo)記的記錄再恢復(fù)成正常記錄。方法與刪除記錄的方法類似,其命令的使用方法如下。 【格式】RECALL [<范圍>][FOR <條件表達(dá)式1>][WHILE <條件表達(dá)式2>] 【功能】恢復(fù)已作過刪除標(biāo)記的記錄。 【說明】若不選范圍、條件,則只恢復(fù)當(dāng)前記錄的刪除標(biāo)記。 【例4.2-26】記錄作刪除標(biāo)記、隱藏/顯示作刪除標(biāo)記的記錄、刪除記錄(包括物理刪、清除)、恢復(fù)作刪除標(biāo)記的記錄示例。 說明:使用list或display命令顯示記錄時,已作刪除標(biāo)記的記錄,在記錄號和第一個字段之間會加上一個“*”號。在表“瀏覽窗口”顯示時,在被刪除記錄前的小方塊為黑色顯示。
-----------本節(jié)課結(jié)束-----------
|
講述
|
表結(jié)構(gòu)和記錄的復(fù)制10分鐘
追加記錄5分鐘
插入記錄15分鐘
成批追加記錄10分鐘
編輯修改記錄5分鐘
瀏覽修改記錄5分鐘
替換修改10分鐘
記錄的邏輯刪除5分鐘
記錄的物理刪除3分鐘
記錄的清除3分鐘
記錄的恢復(fù)8分鐘 |