全國二級VFP等級考試培訓(xùn)課件(3)_第1頁
全國二級VFP等級考試培訓(xùn)課件(3)_第2頁
全國二級VFP等級考試培訓(xùn)課件(3)_第3頁
全國二級VFP等級考試培訓(xùn)課件(3)_第4頁
全國二級VFP等級考試培訓(xùn)課件(3)_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第三章第三章 數(shù)據(jù)庫及其操作數(shù)據(jù)庫及其操作3.1 數(shù)據(jù)庫及其建立數(shù)據(jù)庫及其建立3.1.1 基本概念基本概念 數(shù)據(jù)庫是一種容器,是以數(shù)據(jù)庫是一種容器,是以.DBC為擴展名的一種數(shù)據(jù)格式為擴展名的一種數(shù)據(jù)格式文件,它存儲了所包含的表、表之間的聯(lián)系以及依賴于表的文件,它存儲了所包含的表、表之間的聯(lián)系以及依賴于表的視圖、連接和存儲過程等信息的集合視圖、連接和存儲過程等信息的集合 。 建立數(shù)據(jù)庫時,除了建立建立數(shù)據(jù)庫時,除了建立.dbc文件還會自動建立與之相文件還會自動建立與之相關(guān)的關(guān)的.dct(數(shù)據(jù)庫備注文件數(shù)據(jù)庫備注文件)和和.dcx(數(shù)據(jù)庫索引文件數(shù)據(jù)庫索引文件).3.1.2 數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫的

2、創(chuàng)建 1、在項目管理器中啟動數(shù)據(jù)庫設(shè)計器、在項目管理器中啟動數(shù)據(jù)庫設(shè)計器 在某一項目管理器中,選中在某一項目管理器中,選中“數(shù)據(jù)庫數(shù)據(jù)庫”,單擊,單擊“新建新建”,在在“創(chuàng)建創(chuàng)建”對話框中輸入數(shù)據(jù)庫存儲位置和數(shù)據(jù)庫名,對話框中輸入數(shù)據(jù)庫存儲位置和數(shù)據(jù)庫名,“保保存存”.2、菜單或工具欄、菜單或工具欄 “新建”“數(shù)據(jù)庫”“新建文件”在創(chuàng)建對話框中鍵入數(shù)據(jù)庫名“保存” 3、命令命令: CREATE DATABASE 功能:在指定的位置建立一個數(shù)據(jù)庫文件 例:例:CREATE DATABASE 學(xué)生學(xué)籍學(xué)生學(xué)籍注意:前注意:前2種方法建數(shù)據(jù)庫,會打開數(shù)據(jù)庫設(shè)計器。命令方種方法建數(shù)據(jù)庫,會打開數(shù)據(jù)庫設(shè)

3、計器。命令方式建立,只是讓數(shù)據(jù)庫處于打開狀態(tài)。式建立,只是讓數(shù)據(jù)庫處于打開狀態(tài)。 所有這所有這3種方法都是建立一個新的數(shù)據(jù)庫,若有同名數(shù)種方法都是建立一個新的數(shù)據(jù)庫,若有同名數(shù)據(jù)庫存在,默認情況下會警示用戶據(jù)庫存在,默認情況下會警示用戶“是否改寫是否改寫”相當于在相當于在新建操作前使用了新建操作前使用了 set safety on; 若使用了若使用了set safety off 會直接改寫覆蓋。會直接改寫覆蓋。 一一. 在項目中添加數(shù)據(jù)庫在項目中添加數(shù)據(jù)庫 在一個項目中添加數(shù)據(jù)庫的步驟為在一個項目中添加數(shù)據(jù)庫的步驟為 1、新建或打開一個項目、新建或打開一個項目 2、在項目管理器中選擇、在項目管

4、理器中選擇“數(shù)據(jù)數(shù)據(jù) | 數(shù)據(jù)庫數(shù)據(jù)庫” 3、單擊、單擊“添加添加”,在,在“打開打開”對話框中選擇要添對話框中選擇要添加到加到 項目中的數(shù)據(jù)庫,項目中的數(shù)據(jù)庫,“確定確定”。 3.1.3 使用數(shù)據(jù)庫使用數(shù)據(jù)庫二、打開數(shù)據(jù)庫二、打開數(shù)據(jù)庫當前版本中打開數(shù)據(jù)庫中的表不一定必須打開數(shù)據(jù)庫當前版本中打開數(shù)據(jù)庫中的表不一定必須打開數(shù)據(jù)庫方法:方法: 1、“文件文件| 打開打開”,在,在“打開打開”對話框中選擇類型為對話框中選擇類型為“數(shù)據(jù)庫數(shù)據(jù)庫”,單擊要打開的文件,單擊要打開的文件,“確定確定”。注:要注:要修改修改數(shù)據(jù)庫,須選中數(shù)據(jù)庫,須選中“獨占獨占”方式。方式。 2、在項目管理器中,選中相應(yīng)的

5、數(shù)據(jù)庫,該數(shù)據(jù)庫就自、在項目管理器中,選中相應(yīng)的數(shù)據(jù)庫,該數(shù)據(jù)庫就自動打開。動打開。 3、命令:、命令: OPEN DATABASE NOUPDATE VALIDATE功能:功能: 以指定方式打開一個指定的已存在的數(shù)據(jù)庫以指定方式打開一個指定的已存在的數(shù)據(jù)庫 說明:說明: (1) NOUPDATE :指明數(shù)據(jù)庫以只讀方式打開。:指明數(shù)據(jù)庫以只讀方式打開。不允許修改。不允許修改。 (2) VALIDATE :指明打開數(shù)據(jù)庫時做合法性檢查:指明打開數(shù)據(jù)庫時做合法性檢查 注:注: 系統(tǒng)可同一時間打開多個數(shù)據(jù)庫,但系統(tǒng)可同一時間打開多個數(shù)據(jù)庫,但當前數(shù)據(jù)庫只有一當前數(shù)據(jù)庫只有一個個。最后打開的數(shù)據(jù)庫為

6、當前數(shù)據(jù)庫??捎妹顏碇付ó斍?。最后打開的數(shù)據(jù)庫為當前數(shù)據(jù)庫??捎妹顏碇付ó斍皵?shù)據(jù)庫數(shù)據(jù)庫 命令:命令: SET DATABASE TO 說明:說明: SET DATABASE TO 表使所有的數(shù)據(jù)庫都不是表使所有的數(shù)據(jù)庫都不是當前數(shù)據(jù)庫當前數(shù)據(jù)庫 也可以通過標準工具欄上的數(shù)據(jù)庫下拉列表框來指定當也可以通過標準工具欄上的數(shù)據(jù)庫下拉列表框來指定當前數(shù)據(jù)庫。前數(shù)據(jù)庫。3.1.4.修改數(shù)據(jù)庫修改數(shù)據(jù)庫 在數(shù)據(jù)庫設(shè)計器中對數(shù)據(jù)庫修改主要包含向數(shù)據(jù)庫中在數(shù)據(jù)庫設(shè)計器中對數(shù)據(jù)庫修改主要包含向數(shù)據(jù)庫中添加、移去或刪除對象等。添加、移去或刪除對象等。 用用OPEN DATABASE 命令打開了數(shù)據(jù)庫,但并沒

7、命令打開了數(shù)據(jù)庫,但并沒有打開數(shù)據(jù)庫設(shè)計器。要打開數(shù)據(jù)庫設(shè)計器,用命令:有打開數(shù)據(jù)庫設(shè)計器。要打開數(shù)據(jù)庫設(shè)計器,用命令: MODIFY DATABASE NOEDIT NOWAIT 功能:打開數(shù)據(jù)庫設(shè)計器,并允許修改當前數(shù)據(jù)庫。功能:打開數(shù)據(jù)庫設(shè)計器,并允許修改當前數(shù)據(jù)庫。 說明:說明: (1) NOEDIT : 禁止對數(shù)據(jù)庫修改禁止對數(shù)據(jù)庫修改 (2) NOWAIT:在程序方式下有效。表示程序不等:在程序方式下有效。表示程序不等待而繼續(xù)執(zhí)行下一條語句待而繼續(xù)執(zhí)行下一條語句3.1.5 關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫 1、若數(shù)據(jù)庫在項目中打開,則在項目管理器中選擇、若數(shù)據(jù)庫在項目中打開,則在項目管理器中選

8、擇要關(guān)閉的數(shù)據(jù)庫,單擊要關(guān)閉的數(shù)據(jù)庫,單擊“關(guān)閉關(guān)閉” 2、 命令:命令: CLOSE ALL :關(guān)閉所有已打開的文件:關(guān)閉所有已打開的文件 CLOSE DATABASE :關(guān)閉當前數(shù)據(jù)庫:關(guān)閉當前數(shù)據(jù)庫 CLOSE DATABASE ALL : 關(guān)閉所有已打開的數(shù)據(jù)庫關(guān)閉所有已打開的數(shù)據(jù)庫3.1.6 刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫1.從項目管理器中刪除數(shù)據(jù)庫從項目管理器中刪除數(shù)據(jù)庫移去,刪除,取消。移去,刪除,取消。2.使用命令:使用命令: DELETE DATABASE 數(shù)據(jù)庫名數(shù)據(jù)庫名|? DELETEDATABASERECYCLE 其中其中 數(shù)據(jù)庫名:數(shù)據(jù)庫名:給出要刪除的數(shù)據(jù)庫名,此時數(shù)據(jù)庫必

9、須處于給出要刪除的數(shù)據(jù)庫名,此時數(shù)據(jù)庫必須處于關(guān)閉狀態(tài);關(guān)閉狀態(tài);?:?:打開對話框請用戶選擇要刪除的數(shù)據(jù)庫;打開對話框請用戶選擇要刪除的數(shù)據(jù)庫; deletedatabase: 在刪除數(shù)據(jù)庫文件的同時刪除該數(shù)據(jù)在刪除數(shù)據(jù)庫文件的同時刪除該數(shù)據(jù)庫包含的所有數(shù)據(jù)庫文件;庫包含的所有數(shù)據(jù)庫文件; recycle:將刪除的數(shù)據(jù)庫文件和表文件等放入將刪除的數(shù)據(jù)庫文件和表文件等放入windows的回收站中,可以進行還原。的回收站中,可以進行還原。 set safety on :刪除時提示。刪除時提示。 Set safety off:直接刪除:直接刪除 3.2 創(chuàng)建數(shù)據(jù)庫表創(chuàng)建數(shù)據(jù)庫表 3.2.1、在數(shù)據(jù)

10、庫中創(chuàng)建新表、在數(shù)據(jù)庫中創(chuàng)建新表 會創(chuàng)建.dbf的表文件,若有備注型和通用型字段還會有.fpt文件。方法方法: (在數(shù)據(jù)庫打開的情況下在數(shù)據(jù)庫打開的情況下) 1、在命令窗口中鍵入、在命令窗口中鍵入CREATE 命令命令. 2、選擇、選擇”數(shù)據(jù)庫數(shù)據(jù)庫”菜單菜單,再選再選”新建表新建表” 3、右擊、右擊”數(shù)據(jù)庫數(shù)據(jù)庫”, 從右鍵菜單中選擇從右鍵菜單中選擇”新表新表” 4、單擊、單擊”數(shù)據(jù)庫設(shè)計器數(shù)據(jù)庫設(shè)計器”工具欄上的工具欄上的”新表新表”按鈕按鈕 5、在項目管理器中、在項目管理器中,選中選中“表表”, 單擊單擊“新建新建”按鈕按鈕 進行上面任何一種操作進行上面任何一種操作,系統(tǒng)都會調(diào)出表設(shè)計器

11、讓用戶系統(tǒng)都會調(diào)出表設(shè)計器讓用戶在其中生成新表,且在其中生成新表,且表都屬于該數(shù)據(jù)庫表都屬于該數(shù)據(jù)庫。表設(shè)計器(各項說明見P100) 表的建立表的建立 表由表由結(jié)構(gòu)結(jié)構(gòu)和和數(shù)據(jù)數(shù)據(jù)兩部分組成兩部分組成 數(shù)據(jù)表的結(jié)構(gòu)數(shù)據(jù)表的結(jié)構(gòu) 一、表名一、表名 二、表頭:確定表中的字段二、表頭:確定表中的字段 1、字段名、字段名 由一個字母、漢字或下劃線開頭由一個字母、漢字或下劃線開頭,字母、數(shù)字或下劃線字母、數(shù)字或下劃線組成組成 。自由表。自由表10個字符,數(shù)據(jù)庫表個字符,數(shù)據(jù)庫表128個字符。個字符。 2、字段類型與寬度、字段類型與寬度 (1)字符型字符型字段字段(C) 寬度:最多寬度:最多254個字符個

12、字符 (2)數(shù)值型數(shù)值型字段字段(N) 寬度:最多寬度:最多20個字節(jié)個字節(jié) 寬度寬度=1(負號負號)+整數(shù)位數(shù)整數(shù)位數(shù)+1(小數(shù)點小數(shù)點)+小數(shù)位數(shù)小數(shù)位數(shù) (3)邏輯型邏輯型字段字段(L) 寬度:寬度:1個字節(jié)個字節(jié)(系統(tǒng)默認系統(tǒng)默認) (4)日期型日期型字段字段(D) 寬度:寬度:8個字節(jié)個字節(jié)(系統(tǒng)默認系統(tǒng)默認) (5)備注型備注型字段字段(M) 寬度:寬度:4個字節(jié)個字節(jié)(系統(tǒng)默認系統(tǒng)默認) (6)通用型通用型字段字段(G) 寬度:寬度:4個字節(jié)個字節(jié)(系統(tǒng)默認系統(tǒng)默認) 說明:備注型與通用型的說明:備注型與通用型的4個字節(jié)用于個字節(jié)用于存儲一個指針存儲一個指針,該指針指向存儲備注或

13、通用內(nèi)容的該指針指向存儲備注或通用內(nèi)容的.FPT文件文件 表結(jié)構(gòu)的建立表結(jié)構(gòu)的建立 1、菜單方式、菜單方式 “文件文件 | 新建新建 | 表表”,“新建文件新建文件”,在在“創(chuàng)建創(chuàng)建”窗窗口中輸入口中輸入:保存路徑和保存路徑和“文件名文件名”,“保存保存”。 2、命令、命令方式方式 命令:命令:CREATE | ? 說明:使用?參數(shù)時,打開說明:使用?參數(shù)時,打開“創(chuàng)建創(chuàng)建”窗,用戶輸入表窗,用戶輸入表文件名。文件名。 3、項目方式、項目方式 在項目管理器中,在項目管理器中,“數(shù)據(jù)數(shù)據(jù) | 自由表自由表”,“新建新建”。 上述方法都可打開表設(shè)計器。上述方法都可打開表設(shè)計器。 表數(shù)據(jù)的輸入表數(shù)據(jù)

14、的輸入 1、立即型追加數(shù)據(jù)、立即型追加數(shù)據(jù) 說明說明: (1) 邏輯型邏輯型字段只能接受字段只能接受T、Y、F、N這這4個字母之一個字母之一 (2)要輸入備注型與通用型字段數(shù)據(jù),按要輸入備注型與通用型字段數(shù)據(jù),按Ctrl+PgDn或或雙擊雙擊MEMO或或GEN可打開編輯窗口;按可打開編輯窗口;按Ctrl+W或或單擊單擊窗窗口口“關(guān)閉關(guān)閉”按鈕可保存輸入內(nèi)容按鈕可保存輸入內(nèi)容,按按ESC或或Ctrl+ Q放棄放棄本次操作本次操作 2、增加記錄、增加記錄 (1) “顯示顯示|瀏覽瀏覽”,再選擇,再選擇“顯示顯示|追加方式追加方式 ”即可添加即可添加記錄記錄 (2) Append命令方式命令方式 格

15、式:格式: Append blank Append需要立即交互輸入數(shù)據(jù),需要立即交互輸入數(shù)據(jù),append blank 在尾部在尾部增加一條空白記錄,然后可以用增加一條空白記錄,然后可以用edit ,chang,browse命令交命令交互輸入空白記錄的值,或用互輸入空白記錄的值,或用replace 直接修改空白記錄的值。直接修改空白記錄的值。 (3) insert命令命令 格式:格式: insert beforeblank 說明:如不加上說明:如不加上before指在當前記錄后插入一條新記錄,指在當前記錄后插入一條新記錄,否則在當前記錄前插入一條新記錄。否則在當前記錄前插入一條新記錄。 bla

16、nk 在尾部增加一條空白記錄在尾部增加一條空白記錄,然后可以用然后可以用edit ,chang,browse命令交互輸入空白記錄的值,或用命令交互輸入空白記錄的值,或用replace 直接修改直接修改空白記錄的值??瞻子涗浀闹怠?數(shù)據(jù)表的打開、顯示和關(guān)閉數(shù)據(jù)表的打開、顯示和關(guān)閉 打開表打開表 表在使用之前一定要先打開表在使用之前一定要先打開 一、菜單方式一、菜單方式 “文件文件 | 打開打開”,在,在“打開打開”對話框中,對話框中,“文件類型文件類型”選為選為“表表(*.DBF)” ,然后選路徑和表名,再選中,然后選路徑和表名,再選中“獨占獨占”復(fù)選框復(fù)選框 注:若不選中注:若不選中“獨占獨占

17、”,打開的表是,打開的表是只讀只讀的,不能修的,不能修改。改。 二、命令方式二、命令方式 格式:格式:USE EXCLUSIVE SHARED 說明:說明:EXCLUSIVE:獨占方式:獨占方式 SHARED:只讀方式:只讀方式 關(guān)閉表關(guān)閉表 一、菜單方式一、菜單方式 通過退出通過退出VFP來關(guān)閉表來關(guān)閉表 二、命令方式二、命令方式 格式格式1 :USE 功能:關(guān)閉當前打開的表文件功能:關(guān)閉當前打開的表文件 格式格式2 :CLOSE ALL 功能:關(guān)閉所有工作區(qū)中的所有各類型文件,但不釋功能:關(guān)閉所有工作區(qū)中的所有各類型文件,但不釋 放內(nèi)存變量放內(nèi)存變量 格式格式3 :CLEAR ALL 功能

18、:關(guān)閉所有工作區(qū)中的所有各類型文件,并釋放功能:關(guān)閉所有工作區(qū)中的所有各類型文件,并釋放內(nèi)存變量內(nèi)存變量 格式格式4 :QUIT 功能:關(guān)閉所有工作區(qū)中的各類型文件,釋放內(nèi)存變功能:關(guān)閉所有工作區(qū)中的各類型文件,釋放內(nèi)存變量并返回到操作系統(tǒng)量并返回到操作系統(tǒng) 二、二、 添加表到數(shù)據(jù)庫添加表到數(shù)據(jù)庫 操作操作: (1) 選擇選擇”數(shù)據(jù)庫數(shù)據(jù)庫”菜單菜單,再選再選”添加表添加表” (2) 單擊單擊”數(shù)據(jù)庫設(shè)計器數(shù)據(jù)庫設(shè)計器”工具欄上的工具欄上的”添加表添加表”按鈕按鈕 (3) 右擊右擊”數(shù)據(jù)庫數(shù)據(jù)庫”,從右鍵菜單中選擇從右鍵菜單中選擇“添加表添加表” 系統(tǒng)會顯示出系統(tǒng)會顯示出”打開打開”對話框?qū)υ?/p>

19、框,在其中打開需要的表在其中打開需要的表. 注注:一個表最多只能屬于一個數(shù)據(jù)庫一個表最多只能屬于一個數(shù)據(jù)庫。 三、刪除三、刪除(移去移去)表表 1、選擇表后、選擇表后,選擇數(shù)據(jù)庫上的選擇數(shù)據(jù)庫上的“移去移去”菜單項菜單項. 2、在數(shù)據(jù)庫工具欄上選擇、在數(shù)據(jù)庫工具欄上選擇“移去表移去表”,會出現(xiàn)會出現(xiàn)一個一個 對話框?qū)υ捒?選擇是從數(shù)據(jù)庫中移走表選擇是從數(shù)據(jù)庫中移走表(即變?yōu)樽约醋優(yōu)樽杂杀碛杀?, 還是從磁盤上刪除該表還是從磁盤上刪除該表.3.2.2 修改表結(jié)構(gòu)修改表結(jié)構(gòu)表結(jié)構(gòu)的顯示表結(jié)構(gòu)的顯示 命令:命令:LIST | DISPLAY STRUCTURE TO PRINTER PROMPT |

20、 TO FILE 菜單方式:打開表,菜單方式:打開表,“顯示顯示 | 表設(shè)計器表設(shè)計器” 表結(jié)構(gòu)的修改表結(jié)構(gòu)的修改 數(shù)據(jù)庫設(shè)計器中修改:數(shù)據(jù)庫設(shè)計器中修改: 選中要修改的數(shù)據(jù)庫表,選中要修改的數(shù)據(jù)庫表,“修改修改”,出現(xiàn)表設(shè)計器。出現(xiàn)表設(shè)計器。 菜單菜單:以以獨占獨占方式打開要修改的表,方式打開要修改的表,“顯示顯示 | 表設(shè)計器表設(shè)計器” 命令:命令:MODIFY STRUCTURE 說明:使用該命令前先打開表說明:使用該命令前先打開表 修改完畢,修改完畢,“確定確定”(或或Ctrl+W)保存保存3.3 表的基本操作 3.3.1 瀏覽數(shù)據(jù)庫表瀏覽數(shù)據(jù)庫表 一、項目管理器中操作一、項目管理器中

21、操作 選中要修改的數(shù)據(jù)庫表,選中要修改的數(shù)據(jù)庫表,“瀏覽瀏覽” 二、命令方式顯示記錄二、命令方式顯示記錄 菜單方式:打開表,菜單方式:打開表,“顯示顯示 | 瀏覽瀏覽” 命令:命令: LIST | DISPLAY OFF FIELDSFOR | WHILE 說明:說明: 1、 :指定輸出記錄的范圍:指定輸出記錄的范圍 有四種范圍選項有四種范圍選項:ALL : (默認值默認值) 顯示所有記錄顯示所有記錄 RECORD : 顯示第顯示第N條記錄條記錄 NEXT :顯示從當前記錄開始的顯示從當前記錄開始的N條記錄條記錄 REST :顯示從當前記錄到表文件末的記錄:顯示從當前記錄到表文件末的記錄 LI

22、ST與與 DISPLAY的區(qū)別的區(qū)別: (1)不接任何子句,不接任何子句, LIST顯示顯示所有記錄所有記錄; DISPLAY只只顯示顯示當前記錄當前記錄 (2) LIST滾動滾動顯示記錄;顯示記錄;DISPLAY分屏分屏顯示顯示 例例1:(1)顯示學(xué)生表中的所有記錄顯示學(xué)生表中的所有記錄 USE 學(xué)生學(xué)生 LIST 或:或:DISPLAY ALL (2)顯示當前表中第顯示當前表中第3條記錄條記錄 LIST RECORD 3 或:或:DISP RECORD 3 (3)假設(shè)現(xiàn)在在第二條記錄處,則下列命令顯示哪些記錄假設(shè)現(xiàn)在在第二條記錄處,則下列命令顯示哪些記錄 LIST NEXT 4 &顯示第顯

23、示第2,3,4,5條記錄條記錄 (4)顯示從當前記錄開始的顯示從當前記錄開始的3條記錄條記錄 DISP NEXT 3 (5)顯示從當前記錄開始一直到文件尾的記錄顯示從當前記錄開始一直到文件尾的記錄 LIST REST 2、 OFF:顯示輸出時不顯示記錄號:顯示輸出時不顯示記錄號 例例2: LIST LIST OFF 3、 FIELDS :指定顯示的字段名。不用該:指定顯示的字段名。不用該子句,則默認輸出所有字段子句,則默認輸出所有字段 例例3:顯示學(xué)生表中所有學(xué)生的姓名、性別和入校總分,同:顯示學(xué)生表中所有學(xué)生的姓名、性別和入??偡?,同時不顯示記錄號時不顯示記錄號 LIST OFF FIELD

24、S 姓名姓名,性別性別 或或 DISP ALL 姓名姓名, 性別性別 OFF 4、 FOR | WHILE:指定輸出顯示記錄:指定輸出顯示記錄所需要滿足的條件。所需要滿足的條件。 例例4:(1)顯示學(xué)生表中所有女生的記錄顯示學(xué)生表中所有女生的記錄 LIST FOR 性別性別=“女女” (2)顯示所有入??偡执笥陲@示所有入校總分大于560分的女生記錄分的女生記錄 LIST FOR 性別性別=“女女” .AND. 入??偡秩胄?偡?560 (3)顯示所有三好學(xué)生顯示所有三好學(xué)生 LIST FOR 三好生三好生 (4)寫出下列命令寫出下列命令 顯示學(xué)號為顯示學(xué)號為S0201106的學(xué)生記錄的學(xué)生記錄

25、 LIST FOR 學(xué)號學(xué)號=“S0201106” 顯示所有在顯示所有在1984年年10月份以后出生的男生記錄月份以后出生的男生記錄 LIST FOR 性別性別=“男男” .AND. 出生年月出生年月= 10/01/84 顯示所有入??偡衷陲@示所有入??偡衷?70分分(含含570)以下的非三好學(xué)生以下的非三好學(xué)生 LIST FOR 入??偡秩胄?偡?60 LIST FOR 入校總分入??偡?60 的區(qū)別的區(qū)別 (3) 當當FOR 與與 WHILE同時使用時,同時使用時,WHILE優(yōu)先優(yōu)先進行進行,即先即先選取滿足選取滿足WHILE條件的記錄條件的記錄,然后在選出的記錄中再用然后在選出的記錄中再

26、用FOR條條件選取滿足條件的記錄件選取滿足條件的記錄 例:例: LIST FOR 性別性別=“女女” WHILE 入??偡秩胄?偡?560 (二二) 命令:命令:BROWSE FIELDS FOR REST 功能:打開瀏覽窗口顯示記錄功能:打開瀏覽窗口顯示記錄 例:在瀏覽窗口顯示女生的姓名、性別和入??偡掷涸跒g覽窗口顯示女生的姓名、性別和入??偡?BROWSE FIELDS 姓名姓名, 性別性別, 入??偡秩胄?偡?FOR 性別性別=“女女” 三、瀏覽窗口顯示記錄有三、瀏覽窗口顯示記錄有編輯編輯和和瀏覽瀏覽兩種格式,通過兩種格式,通過“顯示顯示”可相互切換可相互切換 瀏覽窗口左下角有一個窗口

27、分割器,向右拖動可將瀏覽瀏覽窗口左下角有一個窗口分割器,向右拖動可將瀏覽窗口分為兩個窗口。窗口分為兩個窗口。 1、測試文件頭函數(shù)、測試文件頭函數(shù) 格式:格式:BOF () 功能:測試指定工作區(qū)表中記錄指針是否指向文件頭功能:測試指定工作區(qū)表中記錄指針是否指向文件頭 說明:說明:打開一個表打開一個表,當前記錄指針指向,當前記錄指針指向第第1條條記錄,記錄, BOF( )返回返回.F. ,若使用命令使記錄指針再,若使用命令使記錄指針再往前移動往前移動1條記條記 錄錄,BOF( )返回返回.T. 3.3.2表文件測試函數(shù)(教材P69) 2、測試文件尾函數(shù)、測試文件尾函數(shù) 格式:格式:EOF () 功

28、能:測試指定工作區(qū)表中記錄指針是否指向文件尾功能:測試指定工作區(qū)表中記錄指針是否指向文件尾說明:當記錄指針說明:當記錄指針指向指向表中表中最后最后1條記錄條記錄時,時,EOF ( ) 返返回回.F. ,若使用命令使記錄指針再,若使用命令使記錄指針再往后移動往后移動1條記錄條記錄,EOF( )返回返回.T. 3、測試當前記錄號函數(shù)、測試當前記錄號函數(shù) 格式:格式:RECNO() 功能:測試指定工作區(qū)表中的當前記錄號功能:測試指定工作區(qū)表中的當前記錄號4、記錄個數(shù)測試函數(shù)、記錄個數(shù)測試函數(shù) 格式:格式:RECCOUNT () 功能:測試指定工作區(qū)中表的記錄個數(shù)功能:測試指定工作區(qū)中表的記錄個數(shù)5、

29、記錄刪除測試函數(shù)、記錄刪除測試函數(shù) 格式:格式:DELETED () 功能:測試當前表文件中當前記錄是否有刪除功能:測試當前表文件中當前記錄是否有刪除標記。有返回標記。有返回.t.,否則返回,否則返回.f.3.3.3記錄指針的定位記錄指針的定位 1、絕對定位、絕對定位 格式格式1: GOTO TOP | BOTTOM 格式格式2: GOTO 說明說明: (1) GO TOP : 將記錄指針指向表的第一個將記錄指針指向表的第一個記錄。記錄。 (2) GO BOTTOM: 將記錄指針指向表的最后一將記錄指針指向表的最后一個記錄。個記錄。 (3)GO TO : 將記錄指針指向?qū)⒂涗浿羔樦赶虮淼哪秤涗?/p>

30、表的某記錄, 指出該記錄的記錄號。指出該記錄的記錄號。 菜單:菜單: 打開表記錄瀏覽窗口,打開表記錄瀏覽窗口,“表表 | 轉(zhuǎn)到記錄轉(zhuǎn)到記錄”。 例:例: USE 學(xué)生學(xué)生 ? RECNO( ) ? BOF( ) GO 4 ? RECNO( ) GO BOTTOM ? RECNO( ) ? EOF( ) GO TOP ? RECNO( ) 22、相對定位、相對定位 格式格式: SKIP 功能功能: 從從當前記錄當前記錄開始移動記錄指針開始移動記錄指針,表表示移位記錄的個數(shù)示移位記錄的個數(shù). 說明說明: 負值負值表示表示向文件頭向文件頭移位移位,正值正值表示表示向文件尾向文件尾移位移位; 缺省等同

31、于缺省等同于1,即向下移動一條記錄即向下移動一條記錄. 3、locate查詢定位查詢定位 格式:格式:LOCATE FOR 功能:將記錄指針定位在滿足條件的第一條記錄上。功能:將記錄指針定位在滿足條件的第一條記錄上。若要指向下一條滿足條件的記錄,用若要指向下一條滿足條件的記錄,用cotinue。若沒有滿若沒有滿足條件的記錄,則記錄指針指向文件結(jié)束位置。足條件的記錄,則記錄指針指向文件結(jié)束位置。 常用結(jié)構(gòu):常用結(jié)構(gòu): locate for 表達式表達式 do while found() /處理處理 continue enddo 3.3.4 記錄的修改記錄的修改 1、交互方式修改、交互方式修改 e

32、dit ,change 2、成批修改記錄數(shù)據(jù)、成批修改記錄數(shù)據(jù) 格式格式: REPLACE WITH ADDITIVE, WITH ADDITIVE FOR | WHILE 功能功能: 在當前表的指定記錄中在當前表的指定記錄中, 將有關(guān)字段的值用相應(yīng)的將有關(guān)字段的值用相應(yīng)的表達式值來替換。表達式值來替換。 若若與與等選項都缺省等選項都缺省, 只對當前記錄的有只對當前記錄的有關(guān)字段進行替換。關(guān)字段進行替換。 例例1:(1) 將學(xué)生表中第將學(xué)生表中第2條記錄的姓名改為張小強條記錄的姓名改為張小強 go 2 &定位到第定位到第2條記錄條記錄 replace 姓名姓名 with 張小強張小強 disp

33、 (2) 將所有女生的入校總分都增加將所有女生的入??偡侄荚黾?0分分 replace 入??偡秩胄?偡?with 入校總分入??偡?50 for 性別性別=“女女” 說明說明: ADDITIVE子句用于子句用于備注型備注型字段字段, 表示將表達式值表示將表達式值添加到字段的原有內(nèi)容的后面;若沒使用該子句添加到字段的原有內(nèi)容的后面;若沒使用該子句,則將表達則將表達式值替代字段的原有內(nèi)容式值替代字段的原有內(nèi)容. 練習(xí)命令:練習(xí)命令: 表表SX (部門部門C,價格,價格N,數(shù)量,數(shù)量N,主要設(shè)備,主要設(shè)備T,生產(chǎn)日期,生產(chǎn)日期D) (1) 將第將第3個記錄的部門值改為個記錄的部門值改為A2 ,價格

34、減少價格減少100元元 (2) 將主要設(shè)備的價格上調(diào)將主要設(shè)備的價格上調(diào)10% (3) 將在將在99年以后生產(chǎn)的非主要設(shè)備或?qū)儆谀暌院笊a(chǎn)的非主要設(shè)備或?qū)儆?1部門的價格部門的價格小于小于1萬元的設(shè)備的數(shù)量減少萬元的設(shè)備的數(shù)量減少5 3.3.5 記錄的刪除和恢復(fù)記錄的刪除和恢復(fù) 刪除記錄分為:作刪除標記刪除記錄分為:作刪除標記(邏輯刪除邏輯刪除)、從磁盤上刪除、從磁盤上刪除(物理刪除物理刪除) 1、邏輯刪除記錄、邏輯刪除記錄 操作操作: 在記錄顯示窗口,單擊記錄左側(cè)的矩形域在記錄顯示窗口,單擊記錄左側(cè)的矩形域,該矩形該矩形域變黑,這一黑色矩形域就是刪除標記;再次單擊它,黑域變黑,這一黑色矩形域

35、就是刪除標記;再次單擊它,黑色矩形域變白,這稱為恢復(fù)記錄。色矩形域變白,這稱為恢復(fù)記錄。 或:或: “表表”“刪除記錄刪除記錄” | “恢復(fù)記錄恢復(fù)記錄” 命令命令: DELETE FOR| WHILE 功能功能: 對當前表在指定范圍內(nèi)滿足條件的記錄加上刪除標記對當前表在指定范圍內(nèi)滿足條件的記錄加上刪除標記. 若可選項都缺省若可選項都缺省,只對當前記錄作刪除標記只對當前記錄作刪除標記. 例例4-13 (P53) 2、邏輯刪除、邏輯刪除記錄的恢復(fù)記錄的恢復(fù) 記錄的恢復(fù)是指去掉刪除標記記錄的恢復(fù)是指去掉刪除標記命令命令: RECALL FOR| WHILE 功能功能: 對當前表在指定范圍內(nèi)滿足條件

36、的記錄去掉刪除標記對當前表在指定范圍內(nèi)滿足條件的記錄去掉刪除標記. 若可選項都缺省若可選項都缺省,只恢復(fù)當前記錄只恢復(fù)當前記錄. 3、記錄物理刪除、記錄物理刪除 菜單:菜單: “表表 | 徹底刪除徹底刪除” 命令命令(1): PACK 功能功能: 從物理上刪除從物理上刪除(真正刪除真正刪除)有刪除標記的記錄。已有刪除標記的記錄。已被物理刪除的記錄是不可恢復(fù)的。被物理刪除的記錄是不可恢復(fù)的。 命令命令(2) : ZAP 功能功能: 物理刪除表中所有的記錄。物理刪除表中所有的記錄。 執(zhí)行執(zhí)行ZAP相當于執(zhí)行相當于執(zhí)行 DELETE ALL PACK 兩條命令。兩條命令。 2.3.6 數(shù)據(jù)表與數(shù)組之

37、間的數(shù)據(jù)交換數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換p55 1、將當前記錄復(fù)制到數(shù)組、將當前記錄復(fù)制到數(shù)組格式:格式:scatter fields memo to blank | memvar blank功能功能: 將當前記錄的字段值按將當前記錄的字段值按順序依次送入數(shù)組元順序依次送入數(shù)組元 素中素中,或依次送入一組內(nèi)存變量或依次送入一組內(nèi)存變量.說明:說明: (1) 若選擇若選擇fields子句子句,只傳送字段名表中的字段值,否只傳送字段名表中的字段值,否 則傳送所有字段值則傳送所有字段值(備注型字段除外備注型字段除外). 若要傳送備注型字段值若要傳送備注型字段值,還需使用還需使用memo選項選項. (2

38、)使用使用to 能將數(shù)據(jù)復(fù)制到能將數(shù)據(jù)復(fù)制到所示的數(shù)組所示的數(shù)組元素中元素中. VFP會自動擴大數(shù)組的長度會自動擴大數(shù)組的長度. (3) 使用使用memvar將數(shù)據(jù)復(fù)制到一組變量名與字段名相同的將數(shù)據(jù)復(fù)制到一組變量名與字段名相同的內(nèi)存變量中內(nèi)存變量中. 2、將數(shù)組或內(nèi)存變量的數(shù)據(jù)復(fù)制到當前記錄、將數(shù)組或內(nèi)存變量的數(shù)據(jù)復(fù)制到當前記錄 格式:格式:gather from | memvar fields memo 功能:功能:將數(shù)組或內(nèi)存變量的數(shù)據(jù)依次復(fù)制到當前記錄將數(shù)組或內(nèi)存變量的數(shù)據(jù)依次復(fù)制到當前記錄,以替以替 換相應(yīng)字段值換相應(yīng)字段值. 說明說明: (1) 修改記錄前需確定記錄指針位置修改記錄

39、前需確定記錄指針位置. (2)若使用若使用fields子句子句, 僅僅中的字段被數(shù)組元中的字段被數(shù)組元 素值替代素值替代.缺省缺省memo子句將忽略備注型字段子句將忽略備注型字段. (3)內(nèi)存變量值傳送給與它同名的字段,若某字段沒有內(nèi)存變量值傳送給與它同名的字段,若某字段沒有同名的內(nèi)存變量則不對該字段進行數(shù)據(jù)替換。同名的內(nèi)存變量則不對該字段進行數(shù)據(jù)替換。 (4)若數(shù)組元素多于字段數(shù)若數(shù)組元素多于字段數(shù),則多出的數(shù)組元素不傳送則多出的數(shù)組元素不傳送;而數(shù)組元素少于字段數(shù)而數(shù)組元素少于字段數(shù),則多出的字段其值不會改變則多出的字段其值不會改變. 3.4.1 基本概念基本概念 按照特定的順序定位、查看

40、或操作表中記錄,可以按照特定的順序定位、查看或操作表中記錄,可以使用索引。使用索引。 索引是由指針構(gòu)成的文件,和表索引是由指針構(gòu)成的文件,和表.dbf文件分別存儲。文件分別存儲。 3.4 索引索引 一、索引的種類一、索引的種類P112 按組織方式分按組織方式分: 1.單單(獨立獨立)索引文件索引文件 (后綴名為后綴名為.IDX ,即一個索引文件只即一個索引文件只包含一個索引項包含一個索引項) 2. 復(fù)合索引文件復(fù)合索引文件(后綴名為后綴名為.CDX ,即一個文件中包含多即一個文件中包含多個索引項個索引項) 在一個復(fù)合索引文件中的各個索引叫一個在一個復(fù)合索引文件中的各個索引叫一個索引標識索引標識

41、( Index Tag ), 代表一種記錄的邏輯順序代表一種記錄的邏輯順序 ) 分為:分為:結(jié)構(gòu)復(fù)合結(jié)構(gòu)復(fù)合索引文件索引文件: (與活動表文件同名與活動表文件同名, 打開其相應(yīng)數(shù)據(jù)表打開其相應(yīng)數(shù)據(jù)表,索引文件索引文件將自動打開將自動打開) 獨立復(fù)合索引文件獨立復(fù)合索引文件:(與打開的表文件不同名與打開的表文件不同名,不會隨著不會隨著表打開而打開表打開而打開) 2、索引關(guān)鍵字和索引類型、索引關(guān)鍵字和索引類型 索引關(guān)鍵字索引關(guān)鍵字:指在數(shù)據(jù)表中建立索引用的字段或字段:指在數(shù)據(jù)表中建立索引用的字段或字段表達式表達式 按功能分按功能分: (索引除具有建立記錄邏輯順序的作用外索引除具有建立記錄邏輯順序的

42、作用外,還還能控制是否允許相同的索引關(guān)鍵字值在不同記錄中重復(fù)出能控制是否允許相同的索引關(guān)鍵字值在不同記錄中重復(fù)出現(xiàn)現(xiàn),或允許在永久關(guān)系中建立參照完整性或允許在永久關(guān)系中建立參照完整性) 普通索引普通索引, 唯一索引唯一索引, 侯選索引侯選索引, 主索引主索引 具體見教材具體見教材P1093.4.2 在表設(shè)計器中建立索引3.4.3 用命令建立索引v1. 單索引的建立單索引的建立( .idx ) 格式格式: index on to for compact additive ascending unique | candidate 功能功能: 對當前表根據(jù)關(guān)鍵字表達式的值的大小排列對當前表根據(jù)關(guān)鍵字

43、表達式的值的大小排列,并存并存入到入到to 指定的索引文件中指定的索引文件中. 說明:說明:(1) ascending表示表示升序升序,記錄邏輯順序默認為升序,記錄邏輯順序默認為升序. 單索引文件在字段名前加上單索引文件在字段名前加上“”表示降序表示降序. (2)默認建立的為普通索引文件默認建立的為普通索引文件. unique: 表示建立表示建立唯一唯一索引型索引文件索引型索引文件. candidate:表示建立表示建立侯選侯選索引型索引文件索引型索引文件. (3) additive: 表示建立本索引文件時并不關(guān)閉先前打表示建立本索引文件時并不關(guān)閉先前打開的索引文件開的索引文件 (4)索引關(guān)鍵

44、字:可以是一個字段,也可是多個字段組索引關(guān)鍵字:可以是一個字段,也可是多個字段組成的表達式,多個字段用成的表達式,多個字段用“+”或或“-”連接,主關(guān)鍵字在最前,連接,主關(guān)鍵字在最前,數(shù)據(jù)類型一致數(shù)據(jù)類型一致. 例例 :對表對表“學(xué)生學(xué)生”按出生年月建立單索引文件按出生年月建立單索引文件 USE 學(xué)生學(xué)生 INDEX ON 出生年月出生年月 TO CSNY LIST &與原文件相比與原文件相比,索引文件記錄在排列順序索引文件記錄在排列順序 上發(fā)生了邏輯變化上發(fā)生了邏輯變化,但其記錄號不變但其記錄號不變 例例 :對對學(xué)生學(xué)生表文件按入??偡稚蚪⑺饕募砦募慈胄?偡稚蚪⑺饕募?use

45、 學(xué)生學(xué)生 index on 入校總分入??偡?to st1 降序降序 : index on -入??偡秩胄?偡?to st2 例例3:對對學(xué)生學(xué)生表文件按入??偡稚蚝托詣e升序進行索引表文件按入??偡稚蚝托詣e升序進行索引,索引文件為索引文件為sy1 use 學(xué)生學(xué)生 exclusive index on str(入??偡秩胄?偡?6,2)+ 性別性別 to sy1 例例4: 對對學(xué)生學(xué)生表文件按入??偡稚蜻M行索引表文件按入校總分升序進行索引,并建立為唯并建立為唯一索引型文件一索引型文件. index on 入??偡秩胄?偡?to sy2 uniq index on tag of asce

46、nding | descending unique | candidate 說明說明: 指定指定 tag子句子句,將索引標識加到一個復(fù)合索引文件中將索引標識加到一個復(fù)合索引文件中. 有有of子句子句,則建立索引標識則建立索引標識,并寫到指定的并寫到指定的獨立復(fù)合索引獨立復(fù)合索引文件文件中中. 若不規(guī)定若不規(guī)定,則索引標識寫到則索引標識寫到結(jié)構(gòu)復(fù)合索引結(jié)構(gòu)復(fù)合索引文件文件.2. 復(fù)合索引的建立復(fù)合索引的建立 例:對學(xué)生表建立復(fù)合索引,包含例:對學(xué)生表建立復(fù)合索引,包含3個索引:個索引: (1)以姓名降序排列,索引標識為普通索引)以姓名降序排列,索引標識為普通索引 INDE ON 姓名姓名 TAG

47、 XM DESCENDING (2)以性別升序排列,性別相同時以入??偡稚蚺牛┮孕詣e升序排列,性別相同時以入??偡稚蚺帕?,索引標識為普通索引列,索引標識為普通索引 INDEX ON 性別性別+STR(入??偡秩胄?偡?3) TAG XBZFA (3)以性別升序排列,性別相同時以出生年月降序排)以性別升序排列,性別相同時以出生年月降序排列,索引標識為侯選索引列,索引標識為侯選索引 INDEX ON 性別性別+STR( DATE( )-出生年月出生年月) TAG XBCSNY CANDIDATE 注:索引關(guān)鍵字若為多個字段表達式注:索引關(guān)鍵字若為多個字段表達式, 是根據(jù)是根據(jù)計算結(jié)果計算結(jié)果升

48、序升序排列排列. 一、打開索引文件一、打開索引文件 索引文件不能脫離所依賴的表單獨使用索引文件不能脫離所依賴的表單獨使用,使用之前必須先使用之前必須先打開它打開它. 索引剛建立時索引剛建立時, 索引文件呈打開狀態(tài)且成為主控索引索引文件呈打開狀態(tài)且成為主控索引文件文件. 主控索引文件主控索引文件:一個表文件可以打開多個索引文件,但:一個表文件可以打開多個索引文件,但任何時刻只有一個索引文件起作用,當前起作用的索引文件就任何時刻只有一個索引文件起作用,當前起作用的索引文件就稱為主控索引文件。稱為主控索引文件。 主控索引主控索引:一個復(fù)合索引文件可包含多個索引標識,但:一個復(fù)合索引文件可包含多個索引

49、標識,但任何時刻只有一個索引標識起起作用,當前起作用的索引標識任何時刻只有一個索引標識起起作用,當前起作用的索引標識稱為主控索引。稱為主控索引。 5.2.3 索引的使用、更新和刪除索引的使用、更新和刪除 1、打開表文件的同時打開索引文件、打開表文件的同時打開索引文件 格式:格式: USE INDEX 功能:打開表的同時打開一個或多個索引文件功能:打開表的同時打開一個或多個索引文件 說明說明: (1) 包括單索引或復(fù)合索引文件,第一包括單索引或復(fù)合索引文件,第一個為主索引。但如果第一個索引文件為復(fù)合索引文件,則表個為主索引。但如果第一個索引文件為復(fù)合索引文件,則表記錄按物理順序排列。記錄按物理順

50、序排列。 (2) ORDER :設(shè)置主控索引:設(shè)置主控索引 2、打開表文件后再打開索引文件、打開表文件后再打開索引文件 格式:格式:SET INDEX TO ADDITIVE 功能:功能: 打開當前表的一個或多個索引文件并確定主控索引打開當前表的一個或多個索引文件并確定主控索引 文件。文件。 說明:說明: (1) 中第一個索引文件為主控索引文中第一個索引文件為主控索引文件件. 該命令常用于打開單索引文件該命令常用于打開單索引文件. (2) SET INDEX TO : 表示關(guān)閉當前工作區(qū)中除表示關(guān)閉當前工作區(qū)中除結(jié)構(gòu)復(fù)合索引文件外的所有索引文件結(jié)構(gòu)復(fù)合索引文件外的所有索引文件,同時取消主控索引

51、同時取消主控索引. (3)缺省缺省additive ,則用本命令打開索引文件時則用本命令打開索引文件時,除結(jié)除結(jié)構(gòu)復(fù)合索引文件以外的索引文件均被關(guān)閉構(gòu)復(fù)合索引文件以外的索引文件均被關(guān)閉. 命令命令: SET ORDER TO | | TAG 功能:在打開的索引文件中指定主控索引文件,或在打開功能:在打開的索引文件中指定主控索引文件,或在打開的復(fù)合索引文件中設(shè)置主控索引的復(fù)合索引文件中設(shè)置主控索引 說明說明: (1) 指索引文件或標識的序號指索引文件或標識的序號 其其次序是次序是: 先打開先打開IDX文件編號文件編號, 接著是結(jié)構(gòu)接著是結(jié)構(gòu).CDX的標的標識順序編號識順序編號, 最后是獨立復(fù)合索

52、引文件的標識編號最后是獨立復(fù)合索引文件的標識編號. 二、確定主控索引二、確定主控索引 (2)用戶可選用戶可選 指定一個指定一個IDX文件為主控索文件為主控索引文件引文件,也可直接使用也可直接使用 TAG 指定一個索引指定一個索引標識為主控索引標識為主控索引. (3) SET ORDER TO 或或 SET ORDER TO 0 命令取命令取消主控索引文件及主控索引消主控索引文件及主控索引, 表中記錄將按物理順序輸表中記錄將按物理順序輸出出.三、更新索引三、更新索引 1. 自動更新自動更新 若索引文件已打開,則會隨數(shù)據(jù)的改變自動改變記錄的若索引文件已打開,則會隨數(shù)據(jù)的改變自動改變記錄的邏輯順序邏

53、輯順序, 實現(xiàn)索引文件自動更新實現(xiàn)索引文件自動更新. 2. 重新索引重新索引 有時索引文件受到破壞有時索引文件受到破壞,或修改表記錄時或修改表記錄時,索引文件由于索引文件由于沒沒打開而未自動調(diào)整,這時就可以使用重新索引打開而未自動調(diào)整,這時就可以使用重新索引 REINDEX 命命令令. 四、刪除索引四、刪除索引 1. 若用刪除文件命令來刪除索引文件若用刪除文件命令來刪除索引文件,須遵循先關(guān)閉后須遵循先關(guān)閉后刪除的原則刪除的原則,這與刪除表類似這與刪除表類似. 2. 刪除索引標識刪除索引標識命令命令: delete tag all | , 說明:若某索引文件的所有索引標識都被刪除說明:若某索引文

54、件的所有索引標識都被刪除, 則該索引文則該索引文件也將自動刪除件也將自動刪除. (1) 關(guān)閉當前索引文件:關(guān)閉當前索引文件:SET INDEX TO (2) 關(guān)閉所有索引文件:關(guān)閉所有索引文件:CLOSE INDEX 或或 CLOSE ALL (3)關(guān)閉表文件的同時)關(guān)閉表文件的同時, 關(guān)閉索引文件:關(guān)閉索引文件:USE五、關(guān)閉索引文件五、關(guān)閉索引文件 SEEK命令命令 格式格式 : SEEK ordern|tagtagname ascendingdescending 功能功能: 在索引文件中在索引文件中,查找索引關(guān)鍵字之值與指定查找索引關(guān)鍵字之值與指定的值相匹配的第一個記錄的值相匹配的第一個

55、記錄. 若若找到找到,F(xiàn)OUND( )函數(shù)為函數(shù)為.T. 否則,否則, FOUND( )函數(shù)為函數(shù)為.F. ,EOF ( )函數(shù)為函數(shù)為.T. 若要繼續(xù)查找,用若要繼續(xù)查找,用SKIP 命令命令 說明說明: (1) 索引查詢命令只能對索引文件進行查詢索引查詢命令只能對索引文件進行查詢,不能不能在未經(jīng)索引的表文件中查詢在未經(jīng)索引的表文件中查詢,而且不能查找非索引關(guān)鍵字而且不能查找非索引關(guān)鍵字.3.4.5 索引定位索引定位(P112) (2) SEEK可以查找可以查找C型型,N型型,D型型,L型數(shù)據(jù),若查找型數(shù)據(jù),若查找C型型 數(shù)據(jù)數(shù)據(jù),必須用必須用定界符定界符將字符串括起來將字符串括起來. 例例

56、1: 在以在以“姓名姓名”為索引關(guān)鍵字的索引文件為索引關(guān)鍵字的索引文件XM.IDX中,用中,用SEEK命令查找學(xué)生劉雨的記錄命令查找學(xué)生劉雨的記錄 USE 學(xué)生學(xué)生 INDEX XM SEEK “劉雨劉雨” DISP (3)SEEK命令可命令可直接使用內(nèi)存變量查找直接使用內(nèi)存變量查找 ,不需用宏替,不需用宏替換函數(shù)換函數(shù)&進行替換。進行替換。 例例2: ZJ =“劉雨劉雨 ” SEEK ZJ DISP (4) 在查找在查找C型數(shù)據(jù)時型數(shù)據(jù)時 若若 set exact off (默認默認):模糊模糊查詢,即查詢,即可不唯一可不唯一 set exact on:精確精確查詢查詢,即必須寫出被查詢即必

57、須寫出被查詢的全部內(nèi)容的全部內(nèi)容.3.5 數(shù)據(jù)完整性數(shù)據(jù)完整性數(shù)據(jù)完整性包括實體完整性、域完整性和參照完整性。數(shù)據(jù)完整性包括實體完整性、域完整性和參照完整性。3.5.1 實體完整性與主關(guān)鍵字實體完整性與主關(guān)鍵字 實體完整性是保證表中記錄唯一的特性,在一個表實體完整性是保證表中記錄唯一的特性,在一個表中不允許有重復(fù)的記錄。中不允許有重復(fù)的記錄。 VF中通過主關(guān)鍵字(主索引)或候選關(guān)鍵字(候中通過主關(guān)鍵字(主索引)或候選關(guān)鍵字(候選索引)來保證記錄的唯一,即實體唯一性。選索引)來保證記錄的唯一,即實體唯一性。3.5.2域完整性在在VF中中域完整性域完整性表現(xiàn)為字段的表現(xiàn)為字段的取值類型和取值范圍的

58、限定取值類型和取值范圍的限定,以,以及通過及通過域約束規(guī)則(即字段有效性規(guī)則)域約束規(guī)則(即字段有效性規(guī)則)來保證域完整性。來保證域完整性。域完整性可通過表設(shè)計器完成。域完整性可通過表設(shè)計器完成。字段屬性字段屬性 注:注:數(shù)據(jù)庫表數(shù)據(jù)庫表的的字段名字段名是長字段名,最多為是長字段名,最多為 128個字符,個字符,而自由表最多為而自由表最多為10個字符個字符 一、設(shè)置字段標題、輸入掩碼和顯示格式一、設(shè)置字段標題、輸入掩碼和顯示格式 1、標題標題:設(shè)置在:設(shè)置在“瀏覽瀏覽”窗口和表單上顯示出該字段的窗口和表單上顯示出該字段的標識名稱。標識名稱。 步驟:打開數(shù)據(jù)庫并選擇要修改的表步驟:打開數(shù)據(jù)庫并選

59、擇要修改的表 “顯示顯示 | 表設(shè)計器表設(shè)計器 | 字段字段”選項卡中設(shè)置選項卡中設(shè)置 2、顯示格式顯示格式:即輸出掩碼,決定字段在:即輸出掩碼,決定字段在瀏覽窗口、報表或表單中的數(shù)據(jù)顯示樣瀏覽窗口、報表或表單中的數(shù)據(jù)顯示樣式。式。 如輸出掩碼:如輸出掩碼:“!999999999”3、輸入掩碼輸入掩碼:控制用戶輸入格式:控制用戶輸入格式 如輸入掩碼:如輸入掩碼:“A999999999”常用掩碼及其含義掩碼符號 作用!把小寫字母轉(zhuǎn)換成大寫字母 (常輸出用)(當數(shù)據(jù)為負數(shù)時用括號括起來$在輸出的數(shù)值數(shù)據(jù)前顯示浮動的$符號用科學(xué)技術(shù)法顯示數(shù)值數(shù)據(jù)*數(shù)值型數(shù)據(jù)的前導(dǎo)零用星號替換.輸出用于指定小數(shù)點的位

60、置,用于分隔數(shù)值的整數(shù)部分#允許數(shù)值、空格和正負號字符數(shù)據(jù)9只允許數(shù)字字符,數(shù)值型數(shù)據(jù)可以是數(shù)字和正負號A只允許字母 二、字段注釋二、字段注釋 字段注釋起注釋、說明字段的含義字段注釋起注釋、說明字段的含義 三、字段有效性三、字段有效性 有效性:控制字段可接受的數(shù)據(jù)是否符合指定的要求,有效性:控制字段可接受的數(shù)據(jù)是否符合指定的要求,只有滿足輸入的規(guī)則要求時才被接受,保證了數(shù)據(jù)的有效只有滿足輸入的規(guī)則要求時才被接受,保證了數(shù)據(jù)的有效性和可靠性。性和可靠性。 1、規(guī)則規(guī)則:設(shè)置字段的有效性檢查,當輸入或改變字段:設(shè)置字段的有效性檢查,當輸入或改變字段值時起作用值時起作用 (如:性別(如:性別$男女男

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論