第三章+vf數(shù)據(jù)庫及其操作.ppt_第1頁
第三章+vf數(shù)據(jù)庫及其操作.ppt_第2頁
第三章+vf數(shù)據(jù)庫及其操作.ppt_第3頁
第三章+vf數(shù)據(jù)庫及其操作.ppt_第4頁
第三章+vf數(shù)據(jù)庫及其操作.ppt_第5頁
已閱讀5頁,還剩124頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章數(shù)據(jù)庫的基本操作 本章要點 建立數(shù)據(jù)庫與表表字段的基本操作表記錄的基本操作排序與索引查詢數(shù)據(jù)統(tǒng)計與計算多表的操作 建立數(shù)據(jù)庫與表 數(shù)據(jù)庫是表的集合 從VisualFoxPro3 0開始引入了真正意義上的數(shù)據(jù)庫概念 把一個二維表定義為表 把若干個關系比較固定的表集中起來放在一個數(shù)據(jù)庫中管理 在表間建立關系 設置屬性和數(shù)據(jù)有效性規(guī)則使相關聯(lián)的表協(xié)同工作 數(shù)據(jù)庫文件具有 dbc擴展名 其中可以包含一個或多個表 關系 視圖和存儲過程等 一個VisualFoxPro表或 dbf文件 能夠存在以下兩種狀態(tài)之一 與數(shù)據(jù)庫相關聯(lián)的數(shù)據(jù)庫表 與數(shù)據(jù)庫不關聯(lián)的自由表 二者的絕大多數(shù)操作相同且可以相互轉(zhuǎn)換 相比之下 數(shù)據(jù)庫表的優(yōu)點要多一些 當一個表是數(shù)據(jù)庫的一部分時 它就可以具有以下內(nèi)容 長表名和表中的長字段名 表中字段的標題和注釋 默認值 輸入掩碼和表中字段格式化 表字段的默認控件類 要點 字段級規(guī)則和記錄級規(guī)則 支持參照完整性的主關鍵字索引和表間關系 INSERT UPDATE或DELETE事件的觸發(fā)器3 1 1建立數(shù)據(jù)庫1 命令方式 格式 CREATEDATABASE 功能 建立一個新的擴展名為 DBC的數(shù)據(jù)庫文件并打開此數(shù)據(jù)庫 說明 指定生成的數(shù)據(jù)庫文件 若省略擴展名 則默認為 DBC 同時也自動建立相關聯(lián)的數(shù)據(jù)庫備注文件擴展名為 DCT 關聯(lián)的索引文件擴展名為 DCX 如果未指定數(shù)據(jù)庫文件名或用 代替數(shù)據(jù)庫名 VisualFoxPro系統(tǒng)會彈出創(chuàng)建對話框 以 建立數(shù)據(jù)庫 便用戶選擇數(shù)據(jù)庫建立的路徑和輸入數(shù)據(jù)庫名 保存后該數(shù)據(jù)庫文件被建立 并且自動以獨占方式打開該數(shù)據(jù)庫 2 菜單方式用菜單方式建立數(shù)據(jù)庫的具體步驟如下 1 選擇 文件 新建 出現(xiàn)新建對話框 2 選擇 數(shù)據(jù)庫 單選按鈕 再單擊 新建文件 按鈕 出現(xiàn) 創(chuàng)建 對話框 3 在 創(chuàng)建 對話框中輸入文件名 選擇 保存 按鈕 系統(tǒng)自動打開數(shù)據(jù)庫文件 并且將數(shù)據(jù)庫設計器也自動打開 3 利用項目管理器建立數(shù)據(jù)庫打開已建立的項目文件 出現(xiàn)項目管理器窗口 選擇 數(shù)據(jù) 標簽的 數(shù)據(jù)庫 然后單擊 新建 按鈕 出現(xiàn)新建數(shù)據(jù)庫對話框 單擊 新建數(shù)據(jù)庫 按鈕 出現(xiàn) 新建 對話框 選擇數(shù)據(jù)庫的路徑并輸入數(shù)據(jù)庫名后單擊 保存 按鈕 完成數(shù)據(jù)庫的建立 并打開該數(shù)據(jù)庫設計器3 1 2刪除數(shù)據(jù)庫1 命令方式 格式 DELETEDATABASE 功能 從磁盤上刪除一個擴展名為 DBC的數(shù)據(jù)庫文件 刪除數(shù)據(jù)庫 說明 被刪除的數(shù)據(jù)庫不能處于打開狀態(tài) 被刪除的數(shù)據(jù)庫中的表成為自由表 數(shù)據(jù)庫文件名可以包括數(shù)據(jù)庫的路徑和數(shù)據(jù)庫名字 如果用 代替數(shù)據(jù)庫文件名 將顯示打開對話框 用戶可從打開對話框中選擇要從磁盤上刪除的數(shù)據(jù)庫的名字 2 使用項目管理器打開已建立的項目文件 出現(xiàn)項目管理器窗口 單擊 數(shù)據(jù) 標簽 選擇要刪除的 數(shù)據(jù)庫 然后單擊 移去 按鈕 出現(xiàn)圖3 4選擇對話框 若選擇 移去 僅將數(shù)據(jù)庫從項目中移去 若選擇 刪除 將從磁盤上刪除數(shù)據(jù)庫 被刪除的數(shù)據(jù)庫中的表成為自由表 3 1 3打開數(shù)據(jù)庫1 命令方式 格式 OPENDATABASE EXCLUSIVE SHARED 功能 將磁盤上一個擴展名為 DBC的指定數(shù)據(jù)庫文件打開 說明 打開一個數(shù)據(jù)庫文件 同名的 DCT相關的數(shù)據(jù)庫備份文件與 DCX相關的索引文件也一起被打開 數(shù)據(jù)庫打開后 在常用工具欄中可以看見當前正在使用的數(shù)據(jù)庫名 同時當數(shù)據(jù)庫設計器為當前窗口時 系統(tǒng)菜單上出現(xiàn) 數(shù)據(jù)庫 菜單項 指定要打開的數(shù)據(jù)庫名 如果用戶省略或用 代替數(shù)據(jù)庫名 系統(tǒng)會顯示打開對話框 打開數(shù)據(jù)庫 注意 在數(shù)據(jù)庫被打開的情況下 它所包含的所有表可以使用 但是 表并沒有被真正打開 用戶要打開它 仍要用USE命令 2 菜單方式 1 選擇 文件 打開 出現(xiàn)打開對話框 2 選擇數(shù)據(jù)庫文件所在的文件夾 將文件類型選擇為 數(shù)據(jù)庫 dbc 3 選擇所要打開的數(shù)據(jù)庫文件名 單擊 確定 按鈕 3 利用項目管理器打開數(shù)據(jù)庫打開已建立的項目文件 出現(xiàn)項目管理器窗口 選擇 數(shù)據(jù) 標簽 選擇要打開的數(shù)據(jù)庫名 然后單擊 打開 按鈕 3 1 4數(shù)據(jù)庫的關閉數(shù)據(jù)庫文件操作完成后 或暫時不用時 必須將其關閉 保存在外部存貯器中以確保數(shù)據(jù)的安全性 關閉數(shù)據(jù)庫文件有以下幾種方式 1 命令方式 格式 CLOSE ALL DATABASE 功能 關閉當前打開的數(shù)據(jù)庫 說明 ALL用于關閉所有對象 如數(shù)據(jù)庫 表 索引 項目管理器等 DATABASE關閉當前數(shù)據(jù)庫和數(shù)據(jù)庫表 如果當前沒有打開的數(shù)據(jù)庫 則關閉所有打開的自由表 所有工作區(qū)內(nèi)所有索引和格式文件 數(shù)據(jù)庫的關閉 2 利用項目管理器關閉數(shù)據(jù)庫打開已建立的項目文件 出現(xiàn)項目管理器窗口 選擇 數(shù)據(jù) 標簽 選擇 數(shù)據(jù)庫 下面需要關閉的數(shù)據(jù)庫名 然后單擊 關閉 按鈕 在常用工具欄上的當前數(shù)據(jù)庫下拉列表框中該數(shù)據(jù)庫名消失 同時在項目管理器中 關閉 按鈕變成 打開 按鈕 3 1 5建立表結(jié)構(gòu)前面我們已經(jīng)知道表有二種 一種是數(shù)據(jù)庫表 另一種是自由表 如果建表時數(shù)據(jù)庫是打開的 則建立的表為當前數(shù)據(jù)庫表 否則 建立自由表 無論建立那種表 其方法都相同 一個表由表結(jié)構(gòu)和表記錄兩部分組成 表結(jié)構(gòu)描述了數(shù)據(jù)存放形式以及存貯的順序 確定了表的字段 就完成了對表結(jié)構(gòu)的定義 表記錄是表所要保存的數(shù)據(jù)主體 數(shù)據(jù)由記錄組成 字段是構(gòu)成記錄的基本單元 建立表結(jié)構(gòu) 建立一個表文件首先第一步就是建立表結(jié)構(gòu) 然后再輸入表記錄 建立表結(jié)構(gòu)的方法有很多 在這里主要講述三種方法 命令方式 菜單方式和使用項目管理器的方式 1 命令方式 格式 CREATE 功能 建立一個新的 擴展名為 DBF的表文件 說明 指定生成的表文件名 若缺省擴展名 則默認為 DBF 如果使用 或末指定表文件名 VisualFoxPro系統(tǒng)會彈出創(chuàng)建對話框 以便用戶輸入表名 現(xiàn)在用命令方式來建立本章所用的stud dbf表 表內(nèi)容如下 用命令方式建立表的具體步驟為 1 如果沒有打開STUDENT數(shù)據(jù)庫 先打開它 如果創(chuàng)建自由表 該步可略去 2 在命令窗口中輸入CREATESTUD回車 系統(tǒng)打開 表設計器 對話框 如圖3 5所示 3 在 字段名 文本框中輸入第一個字段名 學號 在 類型 下拉列表框中 選擇字段的類型為字符型 在寬度輸入框中輸入10或單擊右邊的微調(diào)按鈕至10 4 將輸入光標定位在第二個字段的字段名上 用同樣的方法依次輸入各個字段的字段名 類型 寬度和小數(shù)位數(shù) 5 將所有字段的參數(shù)確定好之后 單擊 確定 或按快捷鍵CTRL W存盤 系統(tǒng)會打開提示窗口 詢問用戶是否立即輸入記錄 選擇 是 立即開始輸入記錄 選擇 否 不輸入記錄 光標返回命令窗口 只建立表結(jié)構(gòu) 表設計器對話框中包含 字段 索引 表 三個選項卡 1 字段 選項卡 適用于建立表結(jié)構(gòu) 確定表中每個字段的字段名 字段類型 字段寬度和小數(shù)位數(shù)等 字段名 是某字段的名字 在表中必須為唯一的 字段名必須以漢字 字母和下劃線開頭 由漢字 字母 數(shù)字和下劃線組成 對于數(shù)據(jù)庫表支持長字段名 字段名最多為128個字符 自由表不支持長字段名 字段名最多為10個字符 當數(shù)據(jù)庫表轉(zhuǎn)化為自由表時截去超長部分的字符 字段名不能使用系統(tǒng)的保留字 字段類型 表示該字段中存放數(shù)據(jù)的類型 一個字段即二維表中的一列 其中的數(shù)據(jù)應具有共同的屬性 若存放的是一些符號 不進行數(shù)值運算 則定義為字符型 若需要進行數(shù)值運算 則根據(jù)數(shù)值表示的實際意義 選擇數(shù)值型 貨幣型 浮點型 雙精度型 整型中的一種 對描述日期的字段 可根據(jù)需要定義為日期型或日期時間型 對取值只有兩種情況 為 真 或為 假 的數(shù)據(jù)定義為邏輯型 若 存儲的字符超過254 為節(jié)省存儲空間可定義為備注型 若要保存圖片或OLE對象 可定義為通用型 備注型和通用型字段的信息都沒有直接存放在表文件中 而是存放在一個與表文件同名的 FPT文件中 字段寬度 表示該字段所允許存放數(shù)據(jù)的最大寬度 由數(shù)據(jù)的最大寬度決定 過大浪費存儲空間 過小數(shù)據(jù)溢出 字符型字段的最大寬度254個字符 數(shù)值型字段和浮點型字段的寬度為20位 邏輯型字段的寬度固定為1 日期型字段的寬度固定為8 通用型字段和備注型字段的寬度固定為4 小數(shù)位數(shù) 只對數(shù)值型字段和浮點型字符等數(shù)值類型有效 允許最大寬度20 在計算數(shù)值型字段和浮點型字段的寬度時 小數(shù)點本身也算作一個字符 數(shù)值型字段的小數(shù)位數(shù)由數(shù)據(jù)的精度決定位數(shù) 字段寬度 表示該字段所允許存放數(shù)據(jù)的最大寬度 由數(shù)據(jù)的最大寬度決定 過大浪費存儲空間 過小數(shù)據(jù)溢出 字符型字段的最大寬度254個字符 數(shù)值型字段和浮點型字段的寬度為20位 邏輯型字段的寬度固定為1 日期型字段的寬度固定為8 通用型字段和備注型字段的寬度固定為4 小數(shù)位數(shù) 只對數(shù)值型字段和浮點型字符等數(shù)值類型有效 允許最大寬度20 在計算數(shù)值型字段和浮點型字段的寬度時 小數(shù)點本身也算作一個字符 數(shù)值型字段的小數(shù)位數(shù)由數(shù)據(jù)的精度決定位數(shù) 若建立的是數(shù)據(jù)庫表 則下面還有顯示 字段有效性等框 字段的顯示屬性 格式 控制字段在瀏覽窗口 表單 報表等顯示時的樣式 格式字符及功能如表3 2所示 輸入掩碼 控制輸入該字段的數(shù)據(jù)的格式 掩碼字符及功能如表3 3所示 表3 3字段的顯示掩碼字符 標題 若表結(jié)構(gòu)中字段名用的是英文 則可以在標題中輸入漢字 這樣顯示該字段值時就比較直觀了 沒有設置標題 則將表結(jié)構(gòu)中的字段名作為字段的標題 字段有效性 規(guī)則 限制該字段的數(shù)據(jù)的有效范圍 在規(guī)則中輸入 性別 男 OR 性別 女 這樣當給 性別 字段輸入記錄值時就只能輸入 男 或 女 信息 當向設置了規(guī)則的字段輸入不符合規(guī)則的數(shù)據(jù)時 就會將所設置的信息顯示出 默認值 當往表中添加記錄時 系統(tǒng)向該字段預置的值 在 性別 字段中輸入默認值為 男 輸入記錄時只有女生才需要改變默認值 可以減少輸入 字段有效性的設置如圖3 6所示 2 表選項卡 字段選項卡上主要介紹的是字段屬性 它控制了字段值的輸入 表選項卡則對表的記錄屬性進行描述 控制記錄數(shù)據(jù) 在這里主要介紹記錄有效性和觸發(fā)器 記錄有效性 規(guī)則 指定記錄的有效條件 滿足該條件 數(shù)據(jù)才能輸入到表中 它確定的是該記錄各字段值之間的總體數(shù)據(jù)關系是否有錯 信息 當記錄的數(shù)據(jù)不符合規(guī)則時 由系統(tǒng)顯示給用戶的提示信息 觸發(fā)器當對記錄進行操作時 若設置了觸發(fā)器 則對觸發(fā)器設置的條件表達式進行驗證 若其值為真 T 則允許進行相關操作 否則 則拒絕操作 插入觸發(fā)器 當向表中插入或追加記錄時 判斷其表達式的值 為 真 允許插入或追加 為 假 不允許插入或追加 更新觸發(fā)器 當要修改記錄時 判斷其表達式的值 為 真 允許修改 為 假 不允許修改 刪除觸發(fā)器 當要刪除表中記錄時 判斷其表達式的值 為 真 允許刪除 為 假 不允許刪除 以上三類觸發(fā)器也可以用相應的命令實現(xiàn) CREATETRIGGERON表名FORINSERTAS觸發(fā)條件表達式CREATETRIGGERON表名FORUPDATEAS觸發(fā)條件表達式CREATETRIGGERON表名FORDELETEAS觸發(fā)條件表達式2 菜單方式選擇 文件 新建 打開新建對話框 選擇 表 單擊 新建文件 出現(xiàn)創(chuàng)建對話框 確定需要建立表的路徑和表名 按 保存 按鈕后 出現(xiàn)圖3 5所示 表設計器 對話框 以下步驟同命令方式 3 用項目管理器新建表打開已建立的項目文件 出現(xiàn)項目管理器窗口 選擇 數(shù)據(jù) 選項卡中的 數(shù)據(jù)庫 下的表 然后單擊 新建 按鈕 出現(xiàn)新建表對話框 選擇 新建表 出現(xiàn)創(chuàng)建對話框 確定需要建立表的路徑和表名 按 保存 按鈕后 出現(xiàn)圖3 5所示的 表設計器 對話框 以下步驟同命令方式 3 1 6輸入表記錄如果在剛建好表結(jié)構(gòu)時 在系統(tǒng)提示是否立即輸入記錄的對話框中選擇 是 可直接進入輸入記錄窗口 如果選擇了 否 再想輸入表記錄就要以追加方式輸入記錄 輸入表記錄的方法又分為命令方式和菜單方式兩種方法 1 命令方式 格式 APPEND BLANK 功能 在當前已打開表的末尾追加一條或多條記錄 輸入表記錄 說明 BLANK 表示在表末尾追加一條空記錄 并自動返回命令窗口 此時系統(tǒng)并不彈出編輯窗口 例如 在命令窗口輸入命令USESTUD 打開表APPE 或EDIT注意 輸入邏輯值時只輸入T或F 定界符系統(tǒng)自動生成輸入日期值時只輸入數(shù)碼 分隔符系統(tǒng)自動生成輸入備注值時 光標位于MEMO上時 按CTRL PgDn進入編輯窗口 完成后按CTRL W返回下一個字段繼續(xù)輸入 2 菜單方式 1 首先打開表STUD DBF 2 選擇 顯示 瀏覽 命令 3 選擇 表 追加新記錄 命令 用戶可以輸入追加記錄的各個字段 3 1 7表的打開與關閉1 表的打開表文件建好后 以文件的形式保存在磁盤上 在進行各種操作之前 首先必須打開表 打開表的過程實質(zhì)上就是將表從磁盤調(diào)入內(nèi)存 這樣就可以對表中的數(shù)據(jù)進行各種操作 系統(tǒng)在任何時刻都只能對內(nèi)存中的表進行訪問 1 命令方式 格式 USE 功能 打開指定磁盤的指定路徑下的表和相關的索引文件 說明 和 指定表文件所在的驅(qū)動器及路徑 若省略盤符和路徑參數(shù) 則打開當前盤 當前路徑下的表文件 表的打開與關閉 數(shù)據(jù)庫名 表文件名 指定打開指定數(shù)據(jù)庫中的表文件 若末指定數(shù)據(jù)庫名 則在當前數(shù)據(jù)庫中查找 沒有則在自由表中查找 兩者同名 則打開數(shù)據(jù)庫中的表 如果表文件中含有通用型 備注型字段 同名的 FPT文件也同時打開 若不指定表文件名而使用 系統(tǒng)會彈出 使用 對話框 以便用戶指定打開表的文件名 例3 1 打開在E盤VFP子目錄中STUD DBF表 USEE VFP STUD 2 用項目管理器打開表在項目管理器中選中需要打開的表 選擇 瀏覽 或 修改 都能直接打開表且進行瀏覽或修改 關閉瀏覽或修改窗口后 該表仍處于打開狀態(tài) 2 表的關閉表文件操作完成后 或暫時不用時 必須將其關閉 保存到外存中以確保數(shù)據(jù)的安全性 關閉表就是將表文件從內(nèi)存中調(diào)出 保存在磁盤上 關閉表文件有以下幾種方式 1 打開另一個表文件如果工作區(qū)中已打開有表文件 打開另一表文件時 系統(tǒng)將自動將先前打開的表文件關閉 2 使用不帶任何選項的USE命令 格式 USE 功能 關閉當前已打開的表文件 3 使用CLEAR命令 格式 CLEARALL 功能 關閉所有工作區(qū)中已打開的表文件 索引文件 格式文件及備注文件等 同時釋放所有的內(nèi)存變量 并選擇工作區(qū)1為當前工作區(qū) 4 使用CLOSE命令 格式1 CLOSEALL 功能 關閉各種類型文件 并選擇工作區(qū)1為當前工作區(qū) 格式2 CLOSEDATABASES 功能 關閉所有已打開的數(shù)據(jù)庫文件 表文件 索引文件 格式文件及備注文件等 并選擇工作區(qū)1為當前工作區(qū) 5 退出VisualFoxPro系統(tǒng)QUIT 功能 退出VisualFoxPro系統(tǒng) 并關閉所有打開的文件 返回操作系統(tǒng) 6 在數(shù)據(jù)工作窗口中關閉在數(shù)據(jù)工作窗口中選擇要關閉的表文件 然后選擇 關閉 按鈕 系統(tǒng)將關閉所選擇的表文件 3 1 8表的刪除1 刪除自由表 格式 DELETEFILE 表文件名 功能 將指定的表文件從磁盤上刪除 說明 如果刪除的表文件存在有與之相關的 fpt備注文件和 cdx或 idx 索引文件 則同時刪除這些文件 刪除一個表文件 應保證該表文件是處于關閉狀態(tài)的 要刪除的表文件如果不是在默認的路徑下 則文件名應指明路徑 表文件名不能包含通配符 表的刪除 若不指定文件名或使用 系統(tǒng)會彈出 刪除 對話框 選擇要刪除的表文件路徑 文件類型及文件名后 單擊 刪除 按鈕 2 刪除數(shù)據(jù)庫表先將數(shù)據(jù)庫表從數(shù)據(jù)庫中移去 然后再用刪除自由表的方法進行刪除 移去數(shù)據(jù)庫表的命令是 格式 REMOVETABLE 表文件名 DELETE RECYCLE 功能 從當前數(shù)據(jù)庫中移去一個表 說明 表文件名 準備從數(shù)據(jù)庫中移去的表文件名 選擇 將出現(xiàn)移去對話框 從中選擇一個要從當前數(shù)據(jù)庫中移去的表 選擇DELETE在移去數(shù)據(jù)庫表的同時 從磁盤上刪除 選擇RECYCLE在移去數(shù)據(jù)庫表的同時 不會立即從磁盤上刪除 而是放入回收站中 3 在項目管理器中刪除表在項目管理器中選中需要刪除的表 選擇 移去 按鈕或選擇主菜單中 項目 移去文件 命令 出現(xiàn)一個選擇對話框 若選擇 移去 按鈕 則將表文件移出項目文件 若選擇 刪除 按鈕 則將表文件從磁盤上刪除 3 2 1表結(jié)構(gòu)的顯示在表的使用過程 要經(jīng)常查看表的結(jié)構(gòu)和記錄 以隨時了解表的變化情況 格式 LIST DISPLAYSTRUCTURE TOPRINT PROMPT TO FILE 功能 顯示或打印當前表文件的結(jié)構(gòu) 表字段的基本操作 在執(zhí)行以上命令時 如果系統(tǒng)中沒有已打開的表文件 系統(tǒng)提示輸入文件名 用LIST命令 所有信息連續(xù)顯示 信息較多時 屏幕停止在最后一屏 用DISPLAY命令 如果信息較多則分屏顯示 敲任意鍵繼續(xù)顯示下一屏 例3 2 顯示表STUD DBF的結(jié)構(gòu) USESTUDLISTSTRUCTURE需要指出的是 最后一行顯示出的記錄字節(jié)數(shù)是所有字段寬度之和再加1 這額外的一個字節(jié)是用來存放記錄的刪除標記 的 3 2 2表結(jié)構(gòu)的修改表結(jié)構(gòu)的改變有時會引起表記錄的變化 所以在一般情況下不輕易進行修改 但在確實需要時也可以進行修改 無論進行何種修改 使用的命令都是一個 表結(jié)構(gòu)的修改 1 命令方式 格式 MODIFYSTRUCTURE 功能 將當前已打開的表文件的表設計器打開進行修改 說明 要修改表結(jié)構(gòu)必須要先打開需要修改結(jié)構(gòu)的表文件 如果當前工作區(qū)中沒有已打開的數(shù)據(jù)庫 執(zhí)行此命令時系統(tǒng)會彈出 打開 對話框 以便用戶選擇需要修改表結(jié)構(gòu)的文件名及路徑等信息 用戶選擇完成后 系統(tǒng)將彈出表設計器對話框 主要有增加 修改 刪除和移動幾種操作 1 增加字段 將光標移至需插入位置上的字段上 選擇 插入 按鈕或按快捷鍵ALT I 在該位置上出現(xiàn)一個新字段 原位置以下的各字段均下移一行 確定增加字段的字段名 字段類型 字段寬度等參數(shù) 選擇 確定 按鈕即可 2 修改字段 將光標定位在需要修改處 編輯修改 完成后選擇 確定 按鈕即可 3 刪除字段 將光標移至需刪除的字段上 選擇 刪除 按鈕或按快捷鍵ALT D 在該位置上的字段被刪除 原位置以下各字段均上移一行 選擇 確定 按鈕即可 4 移動字段 將光標移至需移動位置的字段上 用鼠標拖動字段名前的 按鈕 出現(xiàn)一個虛框 當虛框出現(xiàn)在目標位置上時松開鼠標 移動完成 選擇 確定 按鈕即可 無論是何種修改 選擇 確定 按鈕后 由于表結(jié)構(gòu)的變化要影響表記錄數(shù)據(jù) 所以都要出現(xiàn)對話框由用戶確認修改是否有效 使用MODIFYSTRUCTURE命令要注意以下幾點 在MODIFYSTRUCTURE命令的執(zhí)行期間 如果強行退出 有可能丟失數(shù)據(jù) 不能同時修改字段名和它的類型 否則系統(tǒng)將不能正確地送回原來的數(shù)據(jù)而造成數(shù)據(jù)的丟失 如果在修改字段名的同時插入或刪除了字段 會引起字段位置發(fā)生變化 有可能造成數(shù)據(jù)丟失 但是 在插入或刪除字段的同時卻可以修改字段的寬度或字段的類型 MODIFYSTRUCTURE將根據(jù)字段名正確地從備份文件中傳送數(shù)據(jù) 如果修改表結(jié)構(gòu)完成后出現(xiàn)了數(shù)據(jù)丟失現(xiàn)象 或者對其不滿意 可利用備份文件將表恢復到修改前的狀態(tài) 方法是先將新的表文件刪除掉 再將備份文件的擴展名 BAK改為表文件擴展名 DBF 將備注備份文件擴展名 TBK改為備注文件的擴展名 FPT 2 利用數(shù)據(jù)庫設計器在數(shù)據(jù)庫設計器中選中需要修改的表文件 再選擇主菜單中 數(shù)據(jù)庫 修改 命令 具體的修改方法同命令方式 3 利用項目管理器在項目管理器中選中需要修改的表文件 再選擇主菜單中 項目 修改 命令或單擊項目管理器中的 修改 按鈕 3 3 1表記錄的顯示1 命令方式 格式 LIST DISPLAY FIELDS FOR WHILE OFF NOCONSOLE TOPRINTER PROMPT TOFILE 功能 將當前表文件的記錄按照指定的選項進行顯示 表記錄的基本操作 說明 DISPLAY命令與LIST命令的功能相似 當表文件的數(shù)據(jù)記錄較多時 用DISPLAY命令較為方便 還有一點不同之處就是 如果同時缺省和子句 DISPLAY命令只顯示當前的一條記錄 而LIST命令則是取默認值ALL而顯示全部記錄 FIELDS 用來指定顯示的字段 用來指定顯示哪些記錄 范圍 有以下四種表示方法 ALL 所有記錄 NEXTN 從當前記錄開始 后面的N條記錄 包括當前記錄 RECORDN 第N條記錄 REST 當前記錄后的全部記錄 包括當前記錄 FOR 指定對表文件中指定范圍內(nèi)滿足條件的記錄進行操作 WHILE 也是指定對表文件中指定范圍內(nèi)滿足條件的記錄進行操作 但是 當?shù)谝淮斡龅讲粷M足條件的記錄時 停止繼續(xù)往后搜索 WHILE若與FOR同時使用 則WHILE項優(yōu)先 若兩者都不選用 則顯示中指定的全部記錄 OFF 表示不顯示記錄號 若不選此項 則在各記錄前顯示記錄號 例3 3 顯示表STUD DBF的全部記錄 USESTUDLIST 例3 4 顯示男生的記錄 USESTUDDISPLAYFOR性別 男 FIELDS學號 姓名 性別 班級名 系別代號 例3 5 顯示表中所有記錄的學號 姓名和性別 USESTUDLISTFIELDS學號 姓名 性別 例3 6 顯示表中1985年出生的同學的學號 姓名 性別及出生日期 USESTUDLISTFIELDS學號 姓名 性別 出生日期FORYEAR 出生日期 1985 2 菜單方式 1 打開表 2 選擇 顯示 瀏覽 命令 系統(tǒng)彈出記錄瀏覽窗口 顯示當前表中的記錄 這時還可以選擇 顯示 瀏覽 或 編輯 來改變顯示方式 3 利用項目管理器在項目管理器中 選擇需要顯示的表文件 單擊 瀏覽 按鈕或選擇主菜單中 項目 瀏覽 命令 系統(tǒng)彈出記錄瀏覽窗口 顯示當前表中的記錄 3 3 2記錄指針的定位記錄號用于標識數(shù)據(jù)記錄在表文件中的物理順序 記錄指針是一個指示器 它始終指向當前表中正在操作處理的那條記錄 此記錄被稱為當前記錄 如果要對某條記錄進行處理 必須移動記錄指針 使其指向該記錄 在任意時刻指針只能指向唯一的一條記錄 記錄指針的定位 記錄指針定位有絕對定位 相對定位和查詢定位三種 在這里暫時只講前二種 查詢定位在講到查詢時再詳細介紹 4 絕對定位 格式 GO GOTO IN IN 功能 將記錄指針絕對定位到指定的記錄上 記錄的物理記錄號 IN IN 指定操作表所在的工作區(qū) 若缺省 則對當前工作區(qū)表操作 工作區(qū)的概念在后面再詳細介紹 絕對定位與是否打開索引文件沒有關系 2 相對定位 格式1 SKIP IN 功能 記錄指針從當前記錄向前 或向后 移動若干個記錄 說明 表示移動的記錄個數(shù) 若數(shù)值表達式的值為負值 表示向前移動記錄 否則 表示向后移動記錄 如果缺省此項 則表示向后移動1個記錄 如果記錄指針已經(jīng)移過文件的最后一個記錄 則RECNO 函數(shù)返回的值等于文件中的記錄總數(shù)加1 EOF 函數(shù)返回邏輯真 T 值 格式2 GO GOTO 功能 將記錄指針移動到表文件的首記錄或尾記錄TOP 將記錄指針移動到表文件的首記錄 BOTTOM 將記錄指針動到表文件的最后一條記錄 相對定位與是否打開索引文件有關 如果打開有索引 記錄指針按索引文件中順序移動 否則按表文件中物理順序移動 例3 8 絕對定位命令的用法 USESTUDGOTO2GO3 例3 9 相對定位的用法 USESTUDSKIP4 系統(tǒng)主窗口顯示為5SKIP 3 系統(tǒng)主窗口顯示為2SKIP8 超出了記錄總數(shù)6gotop 系統(tǒng)主窗口顯示為1 3 3 3刪除記錄表記錄的刪除也是表維護的一項經(jīng)常性的工作 因為刪除意味著數(shù)據(jù)的消失 所以對記錄的刪除操作比較慎重 刪除可分為邏輯刪除和物理刪除兩種操作 邏輯刪除還可以恢復 而物理刪除則不可恢復 1 邏輯刪除記錄邏輯刪除就是給指定的記錄作刪除標記 1 命令方式 格式 DELETE FOR WHILE 功能 對當前表中指定范圍內(nèi)滿足條件的記錄作刪除標記 說明 DELETE命令僅僅是在要刪除的記錄前加上一個刪除標記 并不是真正地從表文件中將該記錄刪除掉 可以用LIST或DISP命令顯示帶刪除標記的記錄 刪除記錄 FOR WHILE等各項選項意義同前 如果同時缺省和子句 則僅僅刪除當前的記錄 例3 10 刪除STUD DBF中所有男同學的記錄 USESTUDDELETEFOR性別 男 LISTFIELDS學號 姓名 性別 班級名 系別代號 地址 出生日期 是否團員 2 菜單方式利用菜單方式邏輯刪除記錄的具體操作步驟如下 首先打開表文件 選擇 顯示 瀏覽 命令 系統(tǒng)彈出記錄瀏覽窗口 顯示當前表中的記錄 主菜單上增加 表 菜單項 選擇 表 刪除記錄 命令 出現(xiàn)圖3 11所示的 刪除 對話框 單擊刪除對話框中的For 按鈕或While 按鈕 系統(tǒng)彈出表達式生成器 用戶可以在表達式框中輸入一個邏輯表達式 如性別 男 單擊 確定 按鈕完成條件表達式的輸入 在 作用范圍 下拉列表框中選擇范圍 如ALL 單擊 刪除 對話框中的 刪除 按鈕 系統(tǒng)將完成對指定范例內(nèi)滿足指定條件的記錄的邏輯刪除 2 隱藏邏輯刪除記錄 格式 SETDELETEDON OFF 功能 將表文件中已邏輯刪除的記錄隱藏 仿佛真正刪除一樣 說明 表文件中被邏輯刪除的記錄只是在該記錄上加一個刪除標記 當SETDELETED設置為OFF時 對該表文件的各種操作 對被刪除的記錄同樣有效 當SETDELETEDON時 可使對表文件中數(shù)據(jù)的各種操作 一般均不包括有刪除標記的記錄 但下列情況例外 命令的記錄范圍是當前記錄或RECORD n 時 INDEX或REINDEX命令不受SETDELETED的影響 始終處理帶刪除標記的記錄 SETDELETED的缺省狀態(tài)是OFF 例3 12 隱藏上題中STUD DBF的標記刪除記錄 USESTUDSETDELETEDON3 恢復邏輯刪除記錄恢復邏輯刪除是將被邏輯刪除的記錄恢復為正常記錄 即去掉 號 1 命令方式 格式 RECALL FOR WHILE NOOPTIMIZE 功能 將當前表文件中指定范圍內(nèi)滿足條件的已作刪除標記 的記錄恢復 即去掉這些刪除記錄的刪除標記 使之成為正常記錄 說明 RECALL命令與DELETE命令相對應 它可以去掉被邏輯刪除記錄的刪除標記 FOR WHILE等各項選項意義同前 如果同時缺省和子句 則僅僅恢復當前記錄 例3 13 恢復STUD DBF中刪除的所有記錄 USESTUDRECALLALL 2 菜單方式 首先打開表文件 選擇 顯示 瀏覽 命令 選擇 表 恢復記錄 命令 出現(xiàn)類似圖3 11所示對話框 余下操作與 刪除 對話框的操作相同 4 物理刪除記錄物理刪除是將當前表文件中被邏輯刪除的記錄全部清除 1 命令方式 格式 PACK MEMO DBF 功能 將當前表文件中所有帶刪除標記 的記錄全部真正地刪除掉 說明 若選用MEMO選項 PACKMEMO將壓縮與表文件同名的備注文件中的無用空間 但并不刪除表文件中作了刪除標記的記錄 若選用DBF選項 而不用MEMO選項 則只刪除表文件中作了刪除標記的記錄 而不壓縮相應的備注文件 若不帶任何選項 PACK命令將刪除數(shù)據(jù)庫文件中作了刪除標記的記錄 同時壓縮相應的備注文件 注意 執(zhí)行該命令后被刪除的記錄將不能被恢復 因此使用時應特別小心 例3 14 將STUD DBF中的學號為 021405 的記錄進行物理刪除 USESTUDDELETEFOR學號 021405 PACK 2 菜單方式利用菜單方式物理刪除表記錄的具體步驟如下 首先打開表文件 選擇 顯示 瀏覽 命令 系統(tǒng)彈出記錄瀏覽窗口 顯示當前表中的記錄 主菜單上增加 表 菜單 選擇 表 徹底刪除 命令 出現(xiàn)圖3 12所示的 確認 對話框 單擊 是 按鈕 完成物理刪除過程 注意 用戶也可以在EDIT CHANGE BROWSE窗口中 按Ctrl T鍵對當前記錄作 或取消 刪除標記 也可以用鼠標單擊記錄最左邊的刪除標記欄作 或取消 刪除標記 5 刪除全部記錄 格式 ZAP 功能 將當前打開的表文件中的所有記錄完全刪除掉 說明 執(zhí)行該命令之后 將只保留表文件的結(jié)構(gòu) 而不再有任何數(shù)據(jù)存在 這種刪除無法恢復 因此 為防止用戶發(fā)生錯誤操作而刪除有用的表文件記錄 執(zhí)行該命令時 系統(tǒng)會彈出如圖3 13所示ZAP提示窗口 以確認是否刪除全部記錄 單擊 是 按鈕清除所有記錄 單擊 否 按鈕放棄ZAP操作 3 3 4修改記錄在表的使用維護過程中 有大量的工作是對數(shù)據(jù)記錄的修改 編輯與更新 通??梢圆捎镁庉嬓薷?瀏覽修改和替換修改三種方式 1 編輯修改 格式 EDIT CHANGE FIELDS FOR WHILE 修改記錄 功能 按照給定條件編輯修改當前打開的表文件的記錄 說明 FIELDS 若選擇此選項 則只列出字段名表中的字段 且顯示順序同字段名表中的順序 若未選擇此選項 將顯示表中的所有字段 顯示順序同表中的字段順序 若未選擇此選項 則EDIT CHANGE命令的范圍為全部記錄 FOR 和 WHILE 同前面其他命令所述 在此不再重復敘述 例3 15 修改STUD DBF中計0121班學生的學號 姓名和性別等信息 USESTUDEDITFIELDS學號 姓名 性別FOR班級名 計0121 全部修改完畢 使用Ctrl End或Ctrl W鍵保存所有修改的結(jié)果 2 瀏覽修改 1 命令方式 格式 BROWSE FIELDS FOR 功能 顯示當前表的記錄內(nèi)容 以供編輯修改 說明 編輯結(jié)束后 按Ctrl W或Ctrl End存盤退出BROWSE編輯窗口 或者按Ctrl Q或Esc鍵放棄存盤退出BROWSE窗口 2 菜單方式利用菜單方式進行瀏覽修改的操作步驟如下 打開表 選擇 顯示 瀏覽 命令 系統(tǒng)彈出記錄瀏覽窗口 在編輯修改窗口中編輯修改數(shù)據(jù)內(nèi)容 完成后按Ctrl W鍵存盤退出Beowse窗口 3 替換修改 1 命令方式 格式 REPLACEWITH ADDITIVE WITH ADDITIVE FOR WHILE NOOPTIMIZE 功能 用指定表達式的值替換當前表中滿足條件記錄的指定字段的值 說明 該命令適合對當前庫進行成批地 有規(guī)律地修改 缺省范圍 條件時 僅替換當前記錄該命令回車后 數(shù)據(jù)修改自動完成 適用于程序設計 ADDITIVE只對備注型字段修改有效 選擇 表示添加內(nèi)容不選擇 表示替換內(nèi)容表達式的類型必須與字段類型一致表達式的值不能超出字段寬度 否則 數(shù)據(jù)無效 例3 16 修改STUD DBF中的 學號 字段數(shù)據(jù) USESTUDREPLACE學號WITH 20 學號ALL 2 菜單方式 打開表文件 選擇 顯示 瀏覽 命令 選擇 表 替換字段 命令 彈出圖3 16所示的 替換字段 對話框 單擊字段下拉按鈕選擇要進行替換操作的字段名 在 替換為 顯示欄中輸入替換表達式 再選擇 替換條件 顯示框中的范圍 條件 單擊 替換 按鈕 系統(tǒng)將自動完成替換操作 3 3 5表的復制1 表結(jié)構(gòu)的復制 格式 COPYSTRUCTURETO FIELDS WITH CDX WITH PRODUCTION 功能 復制當前表文件的結(jié)構(gòu)作為新表文件的結(jié)構(gòu) 說明 命令執(zhí)行前 需復制的表文件必須是打開的 執(zhí)行后 生成的新表文件只有結(jié)構(gòu) 確定新表結(jié)構(gòu)的字段名 中的字段必須是原表文件中具有的字段名 若省略該選項 則原樣復制當前表文件的結(jié)構(gòu) 例3 17 用復制命令將STUD DBF中的學號 姓名 性別 出生日期等四個字段 構(gòu)成一個新表結(jié)構(gòu) 表的復制 USESTUDCOPYSTRUCTURETOSTUD1FIELDS學號 姓名 性別 出生日期2 表文件的復制 格式 COPYTO FIELDS FOR WHILE WITH CDX WITH PRODUCTION 功能 將當前打開的表文件全部或部分復制到一個新生成的表文件中 說明 新生成表文件中的字段順序由FIELDS選擇項確定 缺省表示新表的結(jié)構(gòu)與原表的結(jié)構(gòu)完全相同 新表文件中的記錄由選擇項以及選擇項確定 同時缺省 表示將原表的全部記錄都復制到新表中 若 和都缺省 則表示將原表進行備份 指定新生成的表文件 若當前原表文件中有備注型字段 則相應的備注文件 FPT文件 將同時被復制 新表文件名不能與被復制的原表文件同名 省略盤符和路徑表示在當前盤當前目錄下生成新表文件 例3 18 復制STUD DBF中所有女同學的記錄到STUD2 DBF中 USESTUDCOPYTOSTUD2FOR性別 女 3 表記錄保存為文本文件 格式 COPYTO FIELDS FOR WHILE WITHBLANK WITHTAB 功能 將當前表的記錄全部或部分保存到一個文本文件中 說明 FIELDS 確定文本文件中的字段順序 缺省表示將表中記錄的全部字段值保存到文本文件中 以及選擇項 確定哪些記錄的字段值保存到文本文件中 同時缺省 表示將原表的全部記錄的字段值都保存到文本文件中 TYPE 當用戶生成的新文件不是DBF格式文件時 可以用TYPE選項指定新文件的格式 系統(tǒng)會自動產(chǎn)生不同格式的新文件 并為新文件加上相應的擴展名 TYPE文件類型包括下列幾種 SDF 復制為SDF SystemDataFormat 格式的ASCII文本文件 默認擴展名為 TXT DELIMITED WITHWITHBLANK WITHTAB 復制為帶分隔符的ASCII文本文件 默認擴展名為 TXT SDF和DELIMITED格式的區(qū)別 SDF是將表文件的每一條記錄復制到SDF文本文件中 在每一行中 字段與字段間沒有分隔符 每一行以回車換行結(jié)束 字段在SDF文件中的寬度是固定的 等于源表中該字段的定義寬度 在SDF文件中 表文件中的字符型字段和數(shù)值型字段原樣存貯 即字符型左對齊存貯 不足部分在右邊填以空格 數(shù)值型則以右對齊方式存貯 不足部分在左邊填以空格 日期型數(shù)據(jù)以YYYYMMDD格式存貯 邏輯型數(shù)據(jù)以T或F存貯 SDF文本文件不接受備注型字段和通用型字段 DELIMITED文件帶定界符格式文本文件 也是將源表文件中的每一條記錄作為一行存貯 每行以回車換行結(jié)尾 但記錄的各字段間以分隔符隔開 各字段的寬度為字段值的實際寬度 字段間的分隔符默認為 號 字符型字段的定界符為雙引號 用戶可以用WITHWITHBLANK WITHTAB指定分隔符 WITH表示用指定的為字符型字段的定界符 WITHBLANK WITHTAB則指定空格或Tab鍵作為字段間的分隔符 若使用WITHBLANK 則字符型字段不再有定界符 注意 該命令和表文件的復制命令實際上是同一個命令 是復制為表文件還是文本文件 看是否帶TYPE子句 例3 19 復制STUD DBF中的記錄內(nèi)容復制到SSTUD TXT SDF格式 DSTUD TXT DELIMITED格式 和ESTUD TXT 以空格為分隔符的DELIMITED格式 中 USESTUDCOPYTOSSTUDSDF COPYTODSTUDDELIMITEDCOPYTOESTUDDELIMITEDWITHBLANK3 3 6表記錄的追加維護數(shù)據(jù)庫的一項經(jīng)常性的操作就是根據(jù)需要隨時向表文件中添加記錄 添加記錄包括追加記錄 插入記錄和利用其他文件追加 追加記錄在前面已經(jīng)介紹 在這里就介紹后面兩種方法 1 從另一個表文件中追加記錄 格式 APPENDFROM FIELDS FOR 功能 從指定的表文件中讀入數(shù)據(jù) 并添加到當前表文件的末尾 說明 數(shù)據(jù)的追加是從命令中指定的表文件追加到當前表文件中 所以 應先將需要追加記錄的表文件打開 設置為當前表 然后再使用該命令進行追加 表記錄的追加 追加原則是同名原則 即將數(shù)據(jù)來源表中的字段與當前表的字段進行比較 同名則將符合條件的記錄的值追加過來 若數(shù)據(jù)來源表中缺少某些字段 則當前表中該字段值為空 追加數(shù)據(jù)記錄時 若兩個表文件同名字段的寬度不相同 一般情況下 若當前表的字段寬度大于數(shù)據(jù)來源表的字段寬度 記錄能正常追加 對字符型數(shù)據(jù)后面加空格 對數(shù)值型數(shù)據(jù)前面加 0 但若當前表的字段寬度小于數(shù)據(jù)來源表的字段寬度 記錄不能正常追加 數(shù)據(jù)失去原來的意義 對字符型數(shù)據(jù)截去后面多余字符 對數(shù)值型數(shù)據(jù)進行小數(shù)部分的四舍五入 仍不夠根據(jù)當前表的寬度用 號填充 表示溢出 2 從另一個文本文件中追加記錄 1 命令方式 格式 APPENDFROM FIELDS FOR TYPE SDF DELIMITED WITHTAB WITH WITHBLANK 功能 從指定類型的文本文件中讀入數(shù)據(jù) 并添加到當前表文件的末尾 說明 是指獲取數(shù)據(jù)的文本文件名 文本文件中的每一行 追加為一條記錄 可以在文本文件中輸入文本 但要保證文本格式相同 再利用此命令追加為記錄 注意 數(shù)據(jù)文件若由COPYTO命令生成的且定義了文本文件的分隔符 則追加記錄時也應用相同的分隔符 因為系統(tǒng)以每個分隔符作為字段值的分隔符 這樣才能保證數(shù)據(jù)能正確還原 2 菜單方式 打開表文件 選擇 顯示 瀏覽 命令 選擇 表 追加記錄 命令 彈出圖3 17所示的 追加來源 對話框 單擊類型下拉按鈕選擇用來追加記錄的數(shù)據(jù)文件的類型 在 來源于 顯示欄中輸入數(shù)據(jù)來源文件的路徑和文件名 再選擇 選項 顯示框中的字段 條件 確定后返回追加來源窗口 單擊 確定 按鈕 系統(tǒng)將滿足條件的記錄完成追加操作 3 插入記錄 格式 INSERT BEFORE BLANK 功能 在當前表文件的指定位置插入新記錄或空記錄 說明 INSERT是在當前記錄之后插入新記錄 INSERTBEFORE是在當前記錄之前插入新記錄 INSERTBLANK是在當前記錄之后插入空記錄 若表文件建立了索引 則插入的新記錄按索引值進行排列 例3 20 在表STUD DBF的第2號記錄前插入一條新記錄 在第4號記錄后插入一條新記錄 USESTUDGOTO2INSERTBEFORE 在2號記錄前插入一條新記錄GOTO5 因已插入了一條新記錄 原4號現(xiàn)為5號INSERT 在4號記錄后插入一條新記錄 3 3 7文件管理命令VisualFoxPro除了表文件之外 還有其他多種類型的文件 系統(tǒng)對各類文件提供了通用的管理手段 其功能類似于DOS的文件管理命令 但必須注意它們之間的區(qū)別 1 顯示文件目錄 格式 DIR DIRECTORY ON LIKE TOPRINTER PROMPT TOFILE 或LIST DISPLAYFILES ON LIKE TOPRINTER PROMPT TOFILE 功能 顯示磁盤文件目錄信息 說明 該命令類似于DOS操作系統(tǒng)的DIR命令 ON 指定所顯示文件目錄所在的驅(qū)動器符號 缺省此項為當前盤 LIKE 指定顯示文件所在路徑 文件管理命令 2 文件改名 格式 RENAMETO 功能 將改為 說明 該命令類似于DOS操作系統(tǒng)的REN命令 改名之前文件必須關閉 正在使用的文件不能改名 如果有備注文件 對表文件改名時 不要忘記為相應的 FPT文件改名 否則打不開改名后的表 例3 22 將STUD DBF改為GL DBF USERENAMESTUD DBFTOGL DBFRENAMESTUD FPTTOGL FPT 3 文件刪除 格式 ERASE 或DELETEFILE 功能 從磁盤上刪除指定的文件 說明 此命令類似于DOS操作系統(tǒng)的DEL命令 如果選擇參數(shù) 或缺省文件名選項 系統(tǒng)將彈出Open對話框 供用戶選擇所需刪除的文件 為防止誤操作 該命令不默認擴展名 所以必須用全稱 不能使用通配符 如果不在目錄下 則需指定路徑 同時 此命令也不能刪除已打開的文件 例3 23 刪除當前目錄下的 BAK文件 ERASEABC BAKERASESTUD BAKDELETEFILEXSCJ BAKDIR BAK4 文件復制 格式 COPYFILETO 功能 對各類文件進行復制 說明 此命令類似于DOS操作系統(tǒng)的COPY命令 和必須給出全名 不能使用通配符 不能復制已打開的文件 當復制含有備注型字段或已建立索引的表文件時 必須復制相應的備注文件和索引文件 例3 24 將STUD DBF改名為STUDBAK DBF復制到A 盤上 COPYFILESTUD DBFTOA STUDBAK DBF COPYFILESTUD FPTTOA STUDBAK FPT 復制 FPT備注文件5 顯示文本文件 格式 TYPE AUTO WRAP TOPRINTER PROMPT TOFILE NUMBER 功能 顯示或同時打印文本文件 說明 此命令類似于DOS操作系統(tǒng)的TYPE命令 文本文件是指非結(jié)構(gòu)式文件 即沒有任何內(nèi)部控制符的ASCII碼文件 例如命令文件 PRG 屏幕格式文件 FMT和文本文件 TXT 和 必須帶擴展名 不能使用通配符 且不能是打開的文件 6 調(diào)用外部命令如果覺得VisualFoxPro的文件管理命令不方便 可以調(diào)用DOS的有關命令 格式 RUN N K 功能 執(zhí)行MSDOS的系統(tǒng)命令 說明 此命令直接完成外部程序的功能 使用本命令必須有足夠的內(nèi)存空間 否則會產(chǎn)生 內(nèi)存不足 的錯誤 3 4排序與索引為了高效方便地存取數(shù)據(jù) 往往要求表記錄以某一定的順序排放或顯示 因此 VisualFoxPro提供了兩種方法重新組織數(shù)據(jù) 即排序和索引 排序是從物理上對表進行重新整理 按照指定的關鍵字段來重新排列表中數(shù)據(jù)記錄的順序 并產(chǎn)生一個新的表文件 由于新表的產(chǎn)生即費時間也浪費空間 實際中很少用 排序與索引 索引是從邏輯上對表進行重新整理 按照指定的關鍵字段的建立索引文件 一個表文件可以建立多個索引文件 但對于打開的表文件 任何時侯只有一個索引文件起作用 此索引文件稱為主控索引 3 4 1表的排序 格式 SORTTOON A D C A D C ASCENDING DESCENDING FOR WHILE FIELDS 功能 對當前打開的表 按指定的字段進行排序 生成新的表文件 表的排序 生成的排序文件也是一個數(shù)據(jù)庫文件 范圍 條件的含義同COPYTO命令 用作排序的字段的數(shù)據(jù)類型允許是N C D L型 A表示升序 D表示降序 C表示不區(qū)分大小寫當有多個關鍵字段時 先按字段1的值排列 其值相同的 再按字段2的值排列 原庫中的記錄發(fā)生變化 排序文件不能自動完成同步修改 該命令執(zhí)行后 當前表不變 產(chǎn)生的新表不會自動打開 占空間 廢時間 很少用 例3 25 將STUD DBF按性別進行降序排列USESTUDSORTTOSTUD2ON性別 D 3 4 2表的索引1 索引及索引文件的概述索引是以索引文件的形式存在的 它根據(jù)指定的索引關鍵字表達式建立的 索引文件可以看成索引關鍵字的值與記錄號之間的對照表 關鍵字可以是一個字段 也可以是幾個字段的組合 在建立索引文件時 把表所有記錄的索引關鍵字表達式的值按指定順序排序 并把每個索引關鍵字表達式值與該值在表中所對應的記錄對應起來 保存在索引文件中 索引文件必須與原表一起使用 查詢時根據(jù)索引關鍵字表達式的值先在索引文件中找到某字段所在的記錄號 然后再到表里直接定位 這樣的查找方式使順序查找和隨機查找都有較高的效率 打開索引文件時 將改變表中記錄的邏輯順序 但并不改變表中記錄的物理順序 表的索引 一個表文件可建立多個索引文件 也可同時打開多個索引文件 但在同一時間內(nèi)只有一個索引起作用 這個索引稱為主控索引 VisualFoxPro系統(tǒng)中支持兩種不同的索引文件類型 即單索引文件和復合索引文件 單索引文件是根據(jù)一個索引關鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論