第2章_VFP表的基本操作1_第1頁
第2章_VFP表的基本操作1_第2頁
第2章_VFP表的基本操作1_第3頁
第2章_VFP表的基本操作1_第4頁
第2章_VFP表的基本操作1_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第2章章 VFP表的基本操作表的基本操作2.1 VFP表的建立、修改與運(yùn)行 自由表&數(shù)據(jù)庫表第第2章章 VFP表的基本操作表的基本操作2.1.1 分析和設(shè)計(jì)表的結(jié)構(gòu)o表是由行和列組成的二維表格,它是處理數(shù)據(jù)和建立關(guān)系數(shù)據(jù)庫及其應(yīng)用程序的基本單元。o表分為自由表和數(shù)據(jù)庫表。自由表是獨(dú)立于數(shù)據(jù)庫而存在的一種表,而數(shù)據(jù)庫表是包含在數(shù)據(jù)庫中的表。o表主要由結(jié)構(gòu)和記錄兩部分組成。結(jié)構(gòu)可以理解為表的框架,記錄即表中的數(shù)據(jù)。姓名姓名性別性別出生年月出生年月婚否婚否教研室教研室職稱職稱月收入月收入簡簡歷歷照照片片張三張三男男1957-8-12T語文語文教授教授1343.56略略略略李四李四女女196

2、0-8-23T數(shù)學(xué)數(shù)學(xué)副教授副教授1050.20略略略略景秀麗景秀麗女女1979-2-11T外語外語講師講師890.00略略略略王五王五男男1967-5-23T計(jì)算機(jī)計(jì)算機(jī)講師講師678.00略略略略趙六趙六男男1963-12-8F外語外語副教授副教授1040.40略略略略馬識途馬識途男男1975-4-21F計(jì)算機(jī)計(jì)算機(jī)講師講師860.00略略略略李華李華男男1988-8-15T數(shù)學(xué)數(shù)學(xué)講師講師880.00略略略略1.表結(jié)構(gòu)的分析記錄(行)屬性(列)值字段名Teacher表關(guān)系名1.表結(jié)構(gòu)的分析注:同一列數(shù)據(jù)必須使用相同的數(shù)據(jù)表示方法,也就是數(shù)據(jù)類型。 要給字段值預(yù)留足夠的存儲空間,也就是定義

3、字段的寬度(1個漢字占用2個字節(jié))。 字段的名稱、類型、寬度等構(gòu)成表的框架,及結(jié)構(gòu)。 表的建立分兩步,第一步定義表結(jié)構(gòu),第二步輸入數(shù)據(jù)。定義表結(jié)構(gòu)就是定義各個字段的屬性,包括字段的個數(shù)以及每個字段的名稱、類型、寬度等。 寬度和小數(shù)位:字段的寬度規(guī)定了字段值可以容納的最大字節(jié)數(shù)。數(shù)值型字段除需要定義字段的總寬度外,還需要定義小數(shù)位。2.表結(jié)構(gòu)的設(shè)計(jì) 在VFP系統(tǒng)中,一張二維表對應(yīng)一個數(shù)據(jù)表,稱為表文件,擴(kuò)展名為.DBF。 一張二維表有表名、表頭、表的內(nèi)容三部分組成,一個數(shù)據(jù)表有表文件的文件名、結(jié)構(gòu)、記錄三個要素。 定義表結(jié)構(gòu)定義表結(jié)構(gòu)的步驟:熟悉事務(wù)處理的工作流程明確事務(wù)處理的目的所需的原始數(shù)據(jù)

4、和相關(guān)數(shù)據(jù)1. 確定所需要的數(shù)據(jù)表,每個表中所含字段、各個字段的類型、寬度等。2.1.2建立表的結(jié)構(gòu)o菜單方式o命令方式o項(xiàng)目方式“表設(shè)計(jì)器”“字段”選項(xiàng)卡o字段名(Field Name),每一個字段必須取一個名字,稱為“字段名”,用以在表中標(biāo)志該字段。以字母或漢字開頭,可包括字母、漢字、數(shù)字和下劃線,長度不超過10。 o字段的數(shù)據(jù)類型(Type),表中每個字段都有特定的數(shù)據(jù)類型。o字段寬度(Width),指該字段所能容納數(shù)據(jù)的最大的字節(jié)數(shù),字段的寬度必須能足夠容納可能的最長的數(shù)據(jù)信息。除字符型、數(shù)值型、浮動型字段由用戶根據(jù)需要設(shè)定字段寬度外,其它類型均由系統(tǒng)規(guī)定寬度。字段的基本屬性o小數(shù)位數(shù)

5、(Decimal),對于數(shù)值型、浮點(diǎn)型和雙精度型的字段,還可以指定其小數(shù)的位數(shù)。小數(shù)位和正負(fù)號小數(shù)位和正負(fù)號都須在字段寬度中占一位。都須在字段寬度中占一位。o空值(NULL)支持,空值是用來指示記錄中的一個字段“沒有值”的標(biāo)志??罩当硎緵]有任何值或沒有確定值,空值不同于數(shù)值0、空字符串或邏輯“假”。2.1.3 表數(shù)據(jù)的錄入 表數(shù)據(jù)的輸入要點(diǎn):o如果輸入的數(shù)據(jù)寬度等于字段寬度時(shí),則光標(biāo)自動跳到下一個字段;如果輸入的數(shù)據(jù)寬度小于字段寬度時(shí),則需按Enter鍵或Tab鍵跳到下一個字段。o對于有小數(shù)的數(shù)值型字段,如果輸入整數(shù)部分寬度等于所定義的寬度時(shí),則光標(biāo)自動跳到小數(shù)部分;如果小于所定義的寬度,則按

6、鍵盤右箭頭跳到小數(shù)部分。o輸入記錄的最后一個字段的值后,按Enter鍵,光標(biāo)自動定位到下一個記錄的第一個字段。2.1.3 表數(shù)據(jù)的錄入o邏輯型字段只能接受.T.,.Y.,.F.,.N.四個字母之一(不區(qū)分大小寫),如果在此字段中不輸入值,則默認(rèn)為.F.。o日期型數(shù)據(jù)必須與日期格式相符,默認(rèn)按美國格式mm/dd/yy;o對于備注型和通用型字段,輸入時(shí)將光標(biāo)定位在memo或gen區(qū),雙擊鼠標(biāo)(或單擊memo或gen區(qū)后按ctrl+pgdn組合鍵),打開相應(yīng)的編輯窗口,輸入完后,按ctrl+w存盤退出,按esc或ctrl+Q輸入作廢。2.2 表的打開與關(guān)閉n菜單方式n命令方式2.3 表的顯示2.3.

7、1表記錄的顯示o菜單方式o命令方式BROWSELIST/DISPLAYBROWSE命令【命令格式】BROWSE FIELDSFORLAST 【功能】在“瀏覽”窗口中顯示或修改數(shù)據(jù)?!菊f明】使用FIELDS子句,對指定的字段進(jìn)行操作。使用FOR子句,對滿足條件的記錄進(jìn)行操作。LAST子句選用最后一次的顯示配置(瀏覽方式或編輯方式)。BROWSE命令例題【例2.8】 使用BROWSE命令瀏覽表teacher.dbf中的記錄。USE teacher EXCLUSIVEBROWSE【例2.9】使用BROWSE命令瀏覽表teacher.dbf中職稱是“講師”的記錄。USE teacher EXCLUSI

8、VEBROWSE FOR 職稱=講師BROWSE命令例題【例2.10】使用BROWSE命令瀏覽表teacher.dbf中記錄的“姓名”、“性別”、“出生年月”三個字段的內(nèi)容。USE teacher EXCLUSIVEBROWSE FIELDS 姓名,性別,出生年月LIST/DISPLAY命令 【命令格式】LIST/DISPLAY FIELDS FOR OFF TO PRINTTO FILE 【功能】在工作區(qū)窗口顯示當(dāng)前表中符合條件的記錄。LIST/DISPLAY命令 【說明】oLIST命令的范圍默認(rèn)值為ALL,DISPLAY命令的默認(rèn)值為當(dāng)前記錄。如省略范圍,使用FOR子句,默認(rèn)范圍為ALL。

9、o若省略FIELDS子句,默認(rèn)所有字段。o若省略O(shè)FF子句,顯示記錄號,否則不顯示記錄號。o若使用TO PRINT子句,輸出記錄到打印機(jī)。默認(rèn)輸出到屏幕。o若使用TO FILE 子句,將輸出內(nèi)容寫入指定表文件。LIST/DISPLAY命令例題【例2.11】在工作區(qū)窗口顯示表teacher.dbf中記錄。USE teacher EXCLUSIVELIST?RECNO()?EOF()GO 3DISPLAY?RECNO()?EOF()LIST/DISPLAY命令例題【例2.12】在工作區(qū)窗口顯示表teacher.dbf中計(jì)算機(jī)教研室老師的記錄。USE teacher EXCLUSIVELIST FO

10、R 教研室=計(jì)算機(jī)LIST/DISPLAY命令例題【例2.13】在工作區(qū)窗口顯示表teacher.dbf中70年以前出生的老師記錄。USE teacher EXCLUSIVELIST FOR 出生年月1000 FIELDS 姓名,月收入 LIST/DISPLAY命令例題【例2.15】在工作區(qū)窗口顯示表teacher.dbf中已婚老師記錄。USE teacherLIST FOR 婚否 OFF2.3.2表結(jié)構(gòu)的顯示【命令格式】LIST/DISPLAY STRUCTURE【功能】在工作區(qū)窗口顯示當(dāng)前表的結(jié)構(gòu)?!纠?.16】顯示表teacher.dbf的結(jié)構(gòu)。USE teacherLIST STRUC

11、TURE2.4 目錄操作2.5文件的復(fù)制和刪除文件的復(fù)制和刪除 2.5.1表文件的復(fù)制【命令格式】COPY TO FIELDSFOR【功能】將當(dāng)前表的結(jié)構(gòu)和記錄全部或部分復(fù)制到新表中。【說明】 若沒有任何子句,則將復(fù)制一個與當(dāng)前表結(jié)構(gòu)和內(nèi)容完全相同的新表。新表的結(jié)構(gòu)由FIELDS子句的決定,新表的記錄個數(shù)由FOR子句的決定。【例2.18】復(fù)制完全相同的表teacher.dbf到teacher2.dbf和teacher2.fpt。USE teacherCOPY TO teacher2USE teacher2LIST【例2.19】從表teacher.dbf復(fù)制到teacher3.dbf,新表中含有

12、女教師的“姓名”、“性別”、“教研室”3個字段。USE teacherCOPY TO teacher3 FOR 性別=女 FIELDS 姓名,性別,教研室USE teacher3LIST2.5文件的復(fù)制和刪除文件的復(fù)制和刪除 2.5.1表文件的復(fù)制2.5.2表結(jié)構(gòu)的復(fù)制【命令格式】COPY STRUCTURE TO FIELDS【功能】將當(dāng)前表的結(jié)構(gòu)全部或部分復(fù)制到新表中?!菊f明】產(chǎn)生的新表是一個只有表結(jié)構(gòu)而沒有記錄的空表。若使用FIELDS子句,則新表只包含F(xiàn)IELDS子句指定的字段。2.5.3任意類型文件的復(fù)制【命令格式】COPY FILE TO 【功能】將源文件內(nèi)容拷貝到目標(biāo)文件中去?!?/p>

13、說明】o該命令可復(fù)制任何類型的文件。o源文件和目標(biāo)文件若有擴(kuò)展名,必須寫上。o源文件和目標(biāo)文件不能使用通配符 “*”、“?”。o使用該命令前,源文件必須是關(guān)閉的。o若源文件是一個帶有備注型字段的數(shù)據(jù)表文件,則需要另外復(fù)制.FPT文件。2.5.4文件的刪除【命令格式】ERASE/DELETE FIEL /?【功能】刪除磁盤文件?!菊f明】o要刪除的文件中若有擴(kuò)展名,必須寫上。o要刪除的文件中可以使用通配符 “*”、“?”。o文件名前可帶盤符和路徑,若省略盤符和路徑,則指當(dāng)前盤當(dāng)前路徑。o使用該命令前,被刪除的文件必須是關(guān)閉的。o若要刪除的文件是帶有備注型字段的數(shù)據(jù)表文件,則需要另外刪除.FPT文件

14、。2.6記錄指針的定位o表中的每個記錄都有一個編號,稱為記錄號。對于打開的表,會被分配一個記錄指針。記錄指針指向的記錄稱為當(dāng)前記錄。o定位記錄就是移動記錄指針,使指針指向符合條件的記錄過程。使用記錄號測試函數(shù)RECNO()可以獲得當(dāng)前記錄的記錄號。o表文件有兩個特殊的位置:文件頭(表起始標(biāo)記)和文件尾(表結(jié)束標(biāo)記)。文件頭在表的第1個記錄之前,當(dāng)記錄指針指向文件頭時(shí),BOF()函數(shù)的值為.T.;文件尾在表的最后1個記錄之后,當(dāng)記錄指針指向文件尾時(shí),EOF()函數(shù)的值為.T., 表的結(jié)構(gòu)2.6.1 絕對定位將記錄指針直接定位到某條記錄,稱記錄的絕對定位記錄的絕對定位?!久罡袷健縂O / GOT

15、O TOP / BOTTOM/ 【功能】將記錄指針指向定位記錄【例2.21】GO 命令定位示例。USE teacher?RECNO() & 剛打開的表,指針指向第 1個記錄GO BOTTOM & 定位到末記錄?RECNO()?EOF()GO 3?RECNO()GO TOP & 定位到首記錄?RECNO()2.6.2相對定位【命令格式】SKIP+/- 【功能】從當(dāng)前記錄開始向前或向后移動記錄指針?!菊f明】oSKIP 向表尾方向移動1個記錄。oSKIP +n 向表尾方向移動n個記錄。oSKIP -n 向表頭方向移動n個記錄。2.7記錄的追加與插入記錄的追加與插入2.7.1記

16、錄的追加【命令格式】APPEND BLANK【功能】在已打開的當(dāng)前表的尾部追加一個或多個記錄?!菊f明】當(dāng)命令使用BLANK子句時(shí),在表的尾部追加一個空白記錄,并且不進(jìn)入編輯窗口。2.7.2記錄的插入【格式】INSERT BEFOREBLANK【功能】在當(dāng)前表中某個記錄的之前或之后插入記錄?!菊f明】oINSERT 表示在當(dāng)前記錄的之后插入一條記錄。oINSERT BEFORE表示在當(dāng)前記錄的之前插入一條記錄。oINSERT BLANK 或INSERT BEFORE BLANK表示在當(dāng)前記錄之后或之前插入一條空記錄。o插入空記錄后,其后所有記錄的記錄號加1,空記錄只有記錄號而無內(nèi)容。2.8記錄的刪

17、除和恢復(fù)記錄的刪除和恢復(fù)2.8.1記錄的邏輯刪除【命令格式】DELETE FOR 【功能】邏輯刪除指定范圍內(nèi)符合條件的記錄。刪除標(biāo)記用“*”表示。【例2.25】邏輯刪除表teacher.dbf中的第3個和第5個記錄。USE teacher EXCLUSIVEGO 3DELETEGO 5DELETELIST2.8.2記錄的恢復(fù)【命令格式】RECALL FOR 【功能】恢復(fù)指定范圍內(nèi)符合條件的被邏輯刪除的記錄為正常記錄?!菊f明】oRECALL 僅恢復(fù)當(dāng)前記錄指針指向的帶有刪除標(biāo)記一個記錄。oRECALL ALL恢復(fù)所有帶刪除標(biāo)記的記錄。o若使用FOR 子句,則恢復(fù)指定范圍內(nèi)所有符合條件的帶有刪除標(biāo)

18、記的記錄。2.8.3記錄的物理刪除【命令格式】PACK【功能】物理刪除所有帶刪除標(biāo)記的記錄?!菊f明】PACK命令不受SET DELETE ON/OFF狀態(tài)的影響?!纠?.27】物理刪除表teacher.dbf中的第3個記錄。USE teacher EXCLUSIVERECALL ALLGO 3DELETEPACKBROWSE2.8.4記錄的清空【命令格式】ZAP【功能】物理刪除表中的全部記錄,刪除后,表中只保留結(jié)構(gòu),沒有記錄。2.9 VFP表的修改表的修改2.9.1表結(jié)構(gòu)的修改【命令格式】MODIFY STRUCTURE【功能】打開“表設(shè)計(jì)器”對話框,修改當(dāng)前表的結(jié)構(gòu)?!纠?.28】用命令修改

19、表teacher.dbf的結(jié)構(gòu)。USE teacher EXCLUSIVEMODIFY STRUCTURE 2.9.2表記錄的修改1在“瀏覽”窗口中修改記錄2EDIT/CHANG命令3REPLACE命令【命令格式】REPLACE WITH , WITH WITH FOR 【功能】用表達(dá)式的值替換指定字段的值,即用表達(dá)式1的值替換字段名1原來的值;用表達(dá)式2的值替換字段名2原來的值;。 【例2.30】將表teacher.dbf中所有教師的工資增加500元。USE teacher EXCLUSIVEREPLACE ALL 月收入 WITH 月收入+500BROWSE【例2.31】將表teacher

20、.dbf教師景秀麗的職稱由“講師”改為“副教授”。USE teacher EXCLUSIVEREPLACE 職稱 WITH 副教授 FOR 姓名=景秀麗BROWSE 2.9.2表記錄的修改【例2.32】給表teacher.dbf增加一個記錄,各個字段的值依次是:“石磊”、“男”、“10/30/63”、“已婚”、“計(jì)算機(jī)”、“教授”、“1800元”。USE teacher EXCLUSIVEAPPEND BLANKREPLACE 姓名 WITH 石磊,性別 WITH 男,出生年月 WITH 1963/10/30,婚否 WITH .t. ; 教研室 WITH 計(jì)算機(jī),職稱 WITH 教授,月收入

21、WITH 1800BROWSE LAST 2.9.2表記錄的修改2.9.3記錄與數(shù)組間的數(shù)據(jù)傳送1將當(dāng)前記錄復(fù)制到數(shù)組或內(nèi)存變量中【命令格式】SCATTER FIELDSMEMO BLANKTO MEMVAR【功能】將當(dāng)前記錄的字段值按順序依次送入數(shù)組元素中,或一組內(nèi)存變量中?!菊f明】o若使用FIELDS子句,則只傳送字段名表中的字段,否則將傳送所有字段(備注型字段除外)。若傳送備注型字段,還需使用MEMO選項(xiàng)。2.9.3記錄與數(shù)組間的數(shù)據(jù)傳送1將當(dāng)前記錄復(fù)制到數(shù)組或內(nèi)存變量中o使用TO 子句能將數(shù)據(jù)復(fù)制到所示的數(shù)組元素中。o使用MEMVAR可將數(shù)據(jù)復(fù)制到一組變量名與字段名相同的內(nèi)存變量中。o如果使用BLANK,則將創(chuàng)建一組與各字段相同數(shù)據(jù)類型的空內(nèi)存變量?!纠?.33】SCATTER命令使用示例。USE teacher EXCLUSIVESCATTER BLANK TO AGO 4SCATTER TO BGO 5SCATTER TO MEMVARDISPLAY MEMORY2.9.3記錄與數(shù)組間的數(shù)據(jù)傳送1將當(dāng)前記錄復(fù)制到數(shù)組或內(nèi)存變量中2數(shù)組或內(nèi)存變

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論