5.1 表的基本操作一
目的與要求: 通過(guò)本次課的學(xué)習(xí),掌握數(shù)據(jù)表的基本操作方法,能夠建立、打開(kāi)、顯示數(shù)據(jù)表。 | |||
教學(xué)內(nèi)容與時(shí)間安排、教學(xué)方法: 教學(xué)安排: 表的創(chuàng)建、打開(kāi)、關(guān)閉、表結(jié)構(gòu)修改 40分鐘 表的記錄定位 40分鐘 教學(xué)方法: CAI、圖形、表格 | |||
教學(xué)重點(diǎn)及如何突出重點(diǎn)、難點(diǎn)及如何突破難點(diǎn): 教學(xué)重點(diǎn): 表的創(chuàng)建、打開(kāi)、關(guān)閉、表結(jié)構(gòu)修改、表的記錄定位 教學(xué)難點(diǎn): 表的創(chuàng)建、表結(jié)構(gòu)修改、表的記錄定位 | |||
基本內(nèi)容 | 教學(xué) | 課堂設(shè)計(jì) | |
4.1表的建立與修改 VFP的數(shù)據(jù)以表的形式存儲(chǔ)在磁盤中,可稱為表文件。表文件的擴(kuò)展名為.DBF。 VFP的表有兩種存在方式:自由表和數(shù)據(jù)庫(kù)表。 自由表與數(shù)據(jù)庫(kù)表的區(qū)別: ①自由表不與任何數(shù)據(jù)庫(kù)相關(guān)聯(lián),獨(dú)立存在。 ②數(shù)據(jù)庫(kù)表存在于某一個(gè)數(shù)據(jù)庫(kù)中,具有一些自由表所沒(méi)有的特性。如果沒(méi)有特別說(shuō)明,本章所指的表均是自由表。 1.表的基本概念 VFP是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它的表就是我們工作、學(xué)習(xí)、生活中遇到的有規(guī)則的二維表,例如【表4-1】學(xué)生情況表。 ①二維表的第一橫行:稱表結(jié)構(gòu)。 ②從二維表的第二橫行開(kāi)始及下的每一橫行:稱為一條記錄。 ③二維表的每一列稱為一個(gè)字段,字段有字段名與字段值之分,每列的第一個(gè)單元格稱字段名,其下稱數(shù)據(jù)。每個(gè)字段是同一類型的數(shù)據(jù)集合,是不可分割的基本數(shù)據(jù)項(xiàng)。(例見(jiàn)表姓名字段、年齡字段解釋)。 表的建立過(guò)程分為三個(gè)步驟: ①設(shè)計(jì)表結(jié)構(gòu), ②建立和修改表結(jié)構(gòu), ③輸入數(shù)據(jù)。 2.表的基本操作 本節(jié)主要介紹對(duì)表的基本操作,包括: ●表的建立●表的打開(kāi)與關(guān)閉表 ●向表中增加記錄 ●顯示表中的記錄 ●記錄定位 ●修改表中的記錄 ●刪除和恢復(fù)表中的記錄 ●邏輯表的設(shè)置 3.表的建立 【命令格式】CREATE <表文件名> 下面以【表4-1】學(xué)生情況表為例,來(lái)說(shuō)明表的建立過(guò)程。
4.2 打開(kāi)與關(guān)閉表 說(shuō)明: ①對(duì)任何一個(gè)表只有打開(kāi)后才能打開(kāi)編輯窗口對(duì)它進(jìn)行操作,這就是說(shuō),使用任何一個(gè)表之前,都必需先打開(kāi)表文件,這是今后對(duì)表進(jìn)行操作的原則。 ②編輯窗口的關(guān)閉,表文件并沒(méi)有關(guān)閉,在表關(guān)閉時(shí)數(shù)據(jù)會(huì)自動(dòng)存盤。 1.使用USE命令打開(kāi)表 【格式】USE [<表文件名>|?] [EXCLUSIVE]|[SHARED] 【功能】打開(kāi)指定的表文件。 【說(shuō)明】 ①<表文件名>:表示被打開(kāi)的表文件名,其擴(kuò)展名.DBF可以省略。 ②如果打開(kāi)一個(gè)表前已打開(kāi)了一個(gè)表,則先關(guān)閉已打開(kāi)表,再打開(kāi)指定表。 ③打開(kāi)表文件時(shí),若該表有備注型或通用型字段,則同名的.ftp文件同時(shí)被打開(kāi)。 ④?:出現(xiàn)“使用”對(duì)話框,要求用戶選擇一個(gè)表文件。 ⑤對(duì)打開(kāi)的表,表中有一個(gè)記錄指針,指針?biāo)傅挠涗浄Q"當(dāng)前記錄"。對(duì)剛打開(kāi)的表,記錄指針指向第一個(gè)記錄。 ⑥[EXCLUSIVE]子句:以“獨(dú)占”方式打開(kāi)當(dāng)前文件夾或者默認(rèn)文件夾中的表文件,系統(tǒng)默認(rèn)獨(dú)占方式. ⑦[SHARED]子句:會(huì)以“共享”形式打開(kāi)表文件 【例】使用USE命令打開(kāi)d:\myvfp\student.ddf 表文件.在命令窗口執(zhí)行以下命令: use d:\myvfp\student<回車> &&通過(guò)狀態(tài)行可看到該文件的狀態(tài). use d:\myvfp\student exclusive<回車>&&以獨(dú)占方式打開(kāi)表文件student.dbf use d:\myvfp\student shared<回車>&&以共享方式打開(kāi)表文件student.dbf USE ? &&出現(xiàn)“使用”對(duì)話框,選擇一個(gè)表文件 【例】設(shè)置默認(rèn)路徑,打開(kāi)d:\myvfp\student表文件.在命令窗口執(zhí)行以下命令: set default to d:\myvfp <回車>&&設(shè)置默認(rèn)路徑為:d:\myvfp use student <回車>&&設(shè)置了默認(rèn)文件夾,在打開(kāi)命令中可省略路徑. 2.表文件的關(guān)閉 【格式1】USE 【功能】關(guān)閉表文件。 【格式2】quit 【功能】通過(guò)退出vfp來(lái)關(guān)閉表文件。 3.顯示記錄 【格式】LIST|DISPLAY [FIELDS <字段名表>][<范圍>][FOR <條件表達(dá)式1>] [WHILE <條件表達(dá)式2>][OFF][TO PRINTER[PROMPT]|TO FILES <文件名>] 【功能】顯示當(dāng)前表中的記錄。 【說(shuō)明】FIELDS <字段名表>子句用于指定要顯示的字段,字段名之間用逗號(hào)分隔,其中[FIELDS]選項(xiàng)可選可不選。若不選, FIELDS子句,則顯示表中所有字段,但備注字段、通用字段的內(nèi)容不被顯示。若備注型和通用型字段中有數(shù)據(jù),會(huì)顯示Memo或Gen,否則顯示memo或gen。若在字段名表中指定備注字段名,也可以顯示其內(nèi)容,但是通用型字段的內(nèi)容不可以被顯示。 使用范圍和條件只顯示指定范圍內(nèi)滿足條件的記錄。 使用選OFF選項(xiàng)時(shí),只顯示記錄內(nèi)容不顯示記錄號(hào)。 LIST和DISPLAY的區(qū)別有兩點(diǎn): ①若范圍和條件短語(yǔ)均省略,LIST顯示所有記錄,DISPLAY只顯示當(dāng)前記錄;②若記錄很多,一屏顯示不下,LIST命令連續(xù)顯示,DISPLAY命令分屏顯示,并提示“按任意鍵繼續(xù)…”,閱讀完當(dāng)前屏幕內(nèi)容后按空格鍵或回車鍵繼續(xù)顯示其它內(nèi)容。 【例】顯示"STUDENT,DBF"表中的全部記錄。執(zhí)行“l(fā)ist”命令,進(jìn)行如下操作:可以得到如下結(jié)果: SET DEFAULT TO D:\MYVFP USE STUDENT LIST &&顯示"STUDENT,DBF"表中的全部記錄,結(jié)果見(jiàn)演示。 4.3表結(jié)構(gòu)的修改 【命令】modify structure 【功能】打開(kāi)表結(jié)構(gòu)對(duì)話框,修改當(dāng)前表文件的結(jié)構(gòu)。 -----------本節(jié)課結(jié)束----------- 4.4記錄定位 記錄定位,就是將記錄指針移到某條記錄上,使其成為當(dāng)前記錄。剛打開(kāi)表文件時(shí),記錄指針總是指向第一條記錄的。 一、記錄指針 VFP提供了四個(gè)函數(shù)來(lái)對(duì)記錄指針進(jìn)行管理。分別說(shuō)明這四個(gè)函數(shù)與表文件中的記錄指針的關(guān)系。 根據(jù)表4-4,可以知道: 1、測(cè)試當(dāng)前記錄函數(shù) 【格式】RECNO( ) 【功能】測(cè)試當(dāng)前記錄指針指向幾號(hào)記錄,返回一個(gè)數(shù)值,該數(shù)值表示當(dāng)前記錄指針指向的記錄號(hào)。該記錄為當(dāng)前記錄。 【說(shuō)明】 表文件中沒(méi)有記錄號(hào)為0的記錄;數(shù)據(jù)表的最大記錄數(shù)可用函數(shù)RECCOUNT( )得到,這是表的真正記錄數(shù),但最大的記錄號(hào)是RECCOUNT( )+1,因此RECNO( )的范圍是1至RECCOUNT( )+1。 【例4.2-15】測(cè)試當(dāng)前記錄為幾號(hào)記錄,以STUDENT.DBF為例。 SET DEFAULT TO D:\MYVFP USE STUDENT ? RECNO() 1 && 表示當(dāng)前記錄是1號(hào)記錄 3 ? RECNO() && 表示當(dāng)前記錄是3號(hào)記錄 2、測(cè)試表文件開(kāi)始函數(shù) 【格式】BOF( ) 【功能】測(cè)試表文件開(kāi)始 【說(shuō)明】 記錄指針指向第一條記錄時(shí),函數(shù)BOF( )的值為.F.,記錄指針指向開(kāi)始標(biāo)志(1號(hào)記錄的上邊)時(shí),函數(shù)BOF( )的值為.T.。 3、測(cè)試文件尾(文件結(jié)束)函數(shù) 【格式】EOF( ) 【功能】測(cè)試表文件是否結(jié)束。 【說(shuō)明】 記錄指針指向結(jié)束標(biāo)志(尾記錄的下邊)時(shí),函數(shù)EOF( )值為.T.,否則為.F.。以上函數(shù)的使用在下個(gè)問(wèn)題中一起舉例說(shuō)明。 二、用命令方式來(lái)實(shí)現(xiàn)記錄定位 1.絕對(duì)定位 絕對(duì)定位;指不管當(dāng)前指針正指向幾號(hào)記錄,便可直接將指針移動(dòng)到指定記錄上。 【格式一】GO|GOTO TOP|BOTTOM 【格式二】[GO|GOTO] <數(shù)值表達(dá)式> 【功能】將指針定位到指定記錄上。 【說(shuō)明】 GO和GOTO可任選一種,作用是等價(jià)的。 GO TOP命令將記錄指針定位在第一條記錄上,GO BOTTOM命令將記錄指針定位在最后一條記錄上。 格式二中的GO或GOTO可選可不選,<數(shù)值表達(dá)式>的值為記錄號(hào)。 例4.2-16】記錄指針定位操作例 use student && 打開(kāi)學(xué)生表,這時(shí)當(dāng)前記錄號(hào)為1 ? recno() && 顯示:1 go bottom && 記錄指針指向第10條記錄(尾記錄) ? recno() && 顯示:10(最后一條記錄的記錄號(hào)為10) go 1 && 將記錄指針指向記錄號(hào)為1的記錄 ? bof ( ) && 顯示:.F. 10 && 將記錄指針指向記錄號(hào)為10的記錄,GO可省去 ? eof ( ) && 顯示:.F. go 11 && 顯示“記錄超出范圍”提示信息 use && 關(guān)閉打開(kāi)表 2.相對(duì)定位 相對(duì)定位是在當(dāng)前記錄指針位置的基礎(chǔ)上,將記錄指針向前或向后移動(dòng)N條,(不包括當(dāng)前記錄)。 【格式】SKIP [<數(shù)值表達(dá)式>] 【功能】從當(dāng)前記錄開(kāi)始,向前或者向后移動(dòng)指針。 【說(shuō)明】 <數(shù)值表達(dá)式>表示移動(dòng)記錄的個(gè)數(shù),缺省時(shí)是1。數(shù)值表達(dá)式的值為正時(shí),正號(hào)可以忽略。若為負(fù)值表示從當(dāng)前記錄開(kāi)始向前移動(dòng)指針。 【例4.2-17】相對(duì)定位命令示例。 use student && 打開(kāi)學(xué)生表,這時(shí)當(dāng)前記錄號(hào)為1 skip -1 && 將記錄指針向前移動(dòng)1條記錄 ? recno( ),bof ( ) && 顯示:.1 .T. skip -1 && 顯示“已到文件頭”提示信息 skip 10 && 將記錄指針向后移動(dòng)10條記錄 ? recno( ),eof ( ) && 顯示:.11 .T. skip && 顯示“已到文件尾”提示信息 use && 關(guān)閉打開(kāi)表 | 講述
|
表的基本概念5分鐘
表的建立10分鐘
表的打開(kāi)與關(guān)閉10分鐘
顯示記錄5分鐘
表結(jié)構(gòu)修改5分鐘
記錄指針的測(cè)試15分鐘
記錄指針的定位20分鐘
|