VFB程序設計教程教學課件丶第三章.ppt_第1頁
VFB程序設計教程教學課件丶第三章.ppt_第2頁
VFB程序設計教程教學課件丶第三章.ppt_第3頁
VFB程序設計教程教學課件丶第三章.ppt_第4頁
VFB程序設計教程教學課件丶第三章.ppt_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Visual FoxPro 程序設計教程,計算機教研室,上機操作總結(jié),命令窗口(交互工作方式) 每行只能輸入一條命令 每輸入一條命令,必須回車才能執(zhí)行,且只執(zhí)行當前行的命令,不執(zhí)行以前行命令 命令窗口中的命令可以重新執(zhí)行或修改后再執(zhí)行,方法是將光標放在命令行的任意位置并回車。,X=3.14 ?VARTYPE(X) X=“3.14“ ?VARTYPE(X) X=2008-01-01 ?VARTYPE(X),DIMNENSION a(4) a(1)=2 store well to a(2),a(3) ?a(1) ?a(2) ?a(3) ?a(4),第3章 自由表的操作,Visual Foxpro 中的表的分類: 數(shù)據(jù)庫表 自由表 表文件的擴展名 主文件擴展名:.dbf (例如:學生管理.dbf) 備注文件擴展名:.fpt ,3.1 表結(jié)構(gòu)的建立,3.1.1 表結(jié)構(gòu) 關系(二維)表的構(gòu)成: 表結(jié)構(gòu) 表中的數(shù)據(jù)(記錄) 建立表結(jié)構(gòu)的五個步驟: 1、定義字段名稱 2、選擇數(shù)據(jù)類型 3、確定字段寬度 4、決定字段的索引順序 5、當前字段是否允許空(NULL)值,3.1.1 表結(jié)構(gòu)概述,1定義字段名稱 字段名的命名規(guī)則是: 自由表字段名最長10個字符,數(shù)據(jù)庫表字段名最長128個字符 必須以字母或漢字開頭、后跟字母、漢字、數(shù)字和下劃線 字段名中不能包含空格 同一表內(nèi)不同字段不能同名 表中應有唯一標識各個記錄的字段或字段組合(關鍵字),3.1.1 表結(jié)構(gòu)概述,2選擇數(shù)據(jù)類型,C型 : 1-254位 N型 : 寬度包括小數(shù)部分 D、T、L、M、G型:固定長度,3. 確定字段寬度,3.1.1 表結(jié)構(gòu)概述,4決定字段的索引順序 5當前字段是否允許NULL(空)值,3.1.2 創(chuàng)建新表,1用表向?qū)?chuàng)建新表 啟動表向?qū)У姆椒ǎ?“文件” “新建” “表” “向?qū)А?(工具欄)“新建” “表” “向?qū)А?“工具” “向?qū)А?“表” (項目管理器)“自由表”“新建” “表向?qū)А?2用表設計器創(chuàng)建新表 啟動表設計器的方法: “文件” “新建” “表” “向?qū)А?(工具欄)“新建” “表” “向?qū)А?(項目管理器)“自由表”“新建” “表向?qū)А?命令窗口中輸入:CREAT ,【例3.1】按表3-1的要求,設計“學生表”的表結(jié)構(gòu)。,3. 表設計器創(chuàng)建新表的幾點說明 在表設計器中進行字段設置時,不要按ENTER鍵; 上下拖動字段左邊雙向箭頭按鈕,可改變字段順序; 表設計器的“表”選項卡用于顯示該表的統(tǒng)計信息; 記錄總寬度為表中各字段寬度之和再加1(用于存放刪除標記),但若有字段設置了允許空值,要再加1; 表設計完成,單擊“確定”按鈕時,將彈出一個詢問:“現(xiàn)在輸入記錄嗎”對話框,可選擇是或否。,3.2 表操作,3.2.1 常用的操作命令 命令格式: & 注釋部分 . & 注釋部分 說明: “&注釋部分”是對命令的說明,不是命令的可執(zhí)行 部分,可以省略不寫。 命令格式說明 1、命令動詞 表示要執(zhí)行的操作,是一個命令中必不可少的部分。 例如:LIST, . & 注釋部分,2語句體 由一系列功能子句構(gòu)成,表明操作的對象及對操作的限制,使用時可以根據(jù)需要選擇一個或多個功能子句,也可以一個都不選。 功能子句有五類: (1) FIELDS 用于規(guī)定操作的“字段”,中有多個字段時,字段名之間用逗號分隔。 例如: USE 學生表 LIST FIELDS 姓名,身高,2語句體,(2) FOR 只對表中滿足的所有記錄進行操作。 是個邏輯表達式 例如: USE 學生表 LIST FOR 身高1.7 (3) WHILE 對滿足條件的記錄進行操作。從表中當前正在使用的記錄開始向下順序判斷,當遇到第一個不滿足條件的記錄時,停止命令執(zhí)行。 例如: GO TOP LIST FIELDS 姓名, 身高 WHILE 黨員=.T.,2語句體,(4) 規(guī)定表中可以操作的記錄范圍,為以下參數(shù)之一: ALL NEXT RECORD REST 例如: list all go 1 list next 3 list record 4 list rest,2語句體,(5) TO 表示操作結(jié)果的輸出去向。 例如: LIST TO PRINT,3命令書寫格式說明,在書寫命令格式時常用到一些符號: :表示其中內(nèi)容為必選項,實際命令中不包括它。 : 表示其中內(nèi)容為可選項,即可以省略該子句。 | : 表示其兩側(cè)項目只能任選一項。 : 表示同類項的多次重復。 例如 LIST for fields , TO LIST ALL FIELDS 姓名, 性別 TO PRINT,4命令的書寫與使用規(guī)則,(1) 每條命令以命令動詞開始,以回車鍵結(jié)束,命令中各短語的順序是任意的。 (2) 命令動詞、短語中的英文單詞及函數(shù)名均可縮寫為前四個字符,大小寫可混用。 (3) 命令動詞、語句體及其各短語之間均以空格相隔。 (4) 一行只能寫一個命令,不能將兩個命令寫在同一行。 (5) 命令一行寫不下時,可由系統(tǒng)自然換行或在行尾加分號,回車強制換行。命令行的長度小于或等于2048個字符。 List fields 姓名, 身高 for 身高1.75 List rest for 身高1.75 fields 姓名, 性別,身高 ; to print,3.2.2 表的打開與關閉,1打開表 打開表的含義:將表從計算機的外存調(diào)入內(nèi)存, 以便對表進行各種操作。 打開表的方法: 方法1:使用項目管理器 方法2:使用菜單或工具欄 方法3:用USE命令。格式如下: USE EXCLUSIVE | SHARED EXCLUSIVE指定以獨占方式打開表,SHARED指定以共享方式,3.2.2 表的打開與關閉,2關閉表 關閉表的含義:將表中數(shù)據(jù)保存到磁盤上, 并將表數(shù)據(jù)從內(nèi)存中清除。 關閉表的方法 方法1:新建或打開另一個新表同時,自動關閉舊表。 方法2:選擇文件菜單下的退出菜單項,通過退出 Visual FoxPro系統(tǒng)關閉表。 方法3:用命令USE關閉表。 格式:USE,3.2.3 表與表結(jié)構(gòu)的復制,1結(jié)構(gòu)與數(shù)據(jù)的同時復制 格式:COPY TO FIELDS FOR | WHILE 功能:將滿足條件的記錄按指定結(jié)構(gòu)復制為新的表文件。 例如: USE 學生表 COPY TO 學生表1 USE 學生表1 BROWSE copy to 學生表2 for 身高1.7 fields 姓名,學生證號,身高 USE 學生表2 BROWSE,3.2.3 表與表結(jié)構(gòu)的復制,2只復制表文件結(jié)構(gòu) 格式:COPY STRUCTURE TO FIELDS 功能:按指定的字段表復制表結(jié)構(gòu)到一個新文件, 若不指定字段表,則復制與當前表相同的結(jié)構(gòu)。 例如: USE 學生表 COPY STRUCTURE TO 學生 FIELDS 姓名, 學生證號, 身高 USE 學生 LIST STRUCTURE,3.2.3 表與表結(jié)構(gòu)的復制,3只復制記錄數(shù)據(jù) 格式:COPY TO FIELDS FOR|WHILE SDF|DELIMITED 功能:按指定格式將表文件的記錄復制到文本文件(.TXT), 若省略范圍、條件和字段名表,則復制所有的記錄值。 SDF指復制后文本文件中的數(shù)據(jù)格式為標準格式 DELI指復制后文本文件中的數(shù)據(jù)格式為限定格式 例如: USE 學生表 COPY TO 學生3.TXT FIELDS 姓名,身高 FOR 身高1.7 deli TYPE 學生記錄.TXT,3.2.3 表與表結(jié)構(gòu)的復制,4復制任何類型的文件 格式:COPY FILE TO 說明:可以是任何類型,指被復制的文件。 和的擴展名不能省去。 必須處于關閉狀態(tài) 例如: USE COPY FILE 學生表.DBF TO 學生表3.DBF COPY FILE 學生表.FPT TO 學生表3.FPT,3.2.3 表與表結(jié)構(gòu)的復制,5記錄數(shù)據(jù)復制生成數(shù)組 格式:COPY TO ARRAY 數(shù)組名 FIELDS FOR | WHILE 功能:將記錄數(shù)據(jù)傳送到二維數(shù)組 每個記錄對應數(shù)組的一行 備注和通用型數(shù)據(jù)不能存儲到數(shù)組中,數(shù)組值為.F. 數(shù)組不需要提前定義 例如: USE 學生表 COPY TO ARRAY 學生數(shù)組 DISPLAY MEMORY,3.2.3 表與表結(jié)構(gòu)的復制,6復制生成排序表文件 格式:SORT TO ON/A| /D/C,字段2/A |/D/C . FIELDSFOR|WHILE 功能:按指定字段重新排列記錄并生成新文件,原文件不變。 說明:排序文件以排序字段值為序,優(yōu)先按字段1排序,.; /A表示升序,/D表示降序,缺省為升序; /C 不區(qū)分大小寫字母; 只允許C,N,D,L四種類型作排序關鍵字段; 若缺省范圍和條件,則對全部記錄排序。 例如: USE 學生表 SORT TO 學生排序表 ON 身高d FOR 性別=”男”,3.2.4 向表中添加記錄,1向表中添加數(shù)據(jù)的方法 (1)方法1:在創(chuàng)建新表結(jié)構(gòu), 結(jié)束退出時立即添加。 (2)方法2:打開表后,通過瀏覽窗口添加。(顯示瀏覽; 顯示追加方式; 表-追加新記錄) (3)方法3:打開要添加記錄的表,通過命令添加。 APPEND 命令: 可以在瀏覽或編輯窗口中手工連續(xù) 添加多條記錄。 APPEND FROM 命令: 可將另一表(源表)、文本文件或數(shù)組 中的數(shù)據(jù)添加當前表的后面。 它有3種命令格式:,1向表中添加數(shù)據(jù)的方法,從其它表中添加記錄命令: 格式:APPEND FROM FIELDS FOR | WHILE 功能:從源表中選擇滿足的記錄,并從中選擇 所需字段值,添加到目前表中。 例如: USE 學生表 APPEND FROM F:xsqk.dbf LIST 注意:F盤中事先已經(jīng)存在了一個xsqk.dbf表。,1向表中添加數(shù)據(jù)的方法,從文本格式文件中添加記錄命令: 格式: APPEND FROM 文本文件 SDF| DELIMITED FIELD FOR | WHILE 功能:將文本文件中滿足要求的記錄添加到當前表中 SDF:要求文本文件中的數(shù)據(jù)為標準格式 DELIMITED:要求源文件中的數(shù)據(jù)為限定格式 例如: USE 學生表 COPY TO XS.TXT SDF FOR 身高1.65 COPY STRUC TO 學生表結(jié)構(gòu) USE 學生表結(jié)構(gòu) APPEND FROM XS.TXT SDF LIST,1向表中添加數(shù)據(jù)的方法,從數(shù)據(jù)組中添加記錄命令: 格式: APPEND FROM ARRAY 數(shù)組名 FIELD FOR| WHILE 功能:將數(shù)組中每一行做為一個記錄,將各項數(shù)據(jù) 添加到當前表中。 例如: USE 學生表 COPY TO ARRAY AR FOR 身高=1.65 COPY STRU TO 學生數(shù)組 USE 學生數(shù)組 APPEND FROM ARRAY AR field 學生證號, 姓名 LIST,3.2.4 向表中添加記錄,2向表中輸入數(shù)據(jù)時,應注意的問題 (1) 在輸入新記錄時,當輸入內(nèi)容填滿一個字段的寬度時,光標會自動跳到下一個字段;內(nèi)容不滿一個字段的寬度時,可用Tab鍵或回車鍵將光標移到下一字段。 (2) 對于定義為日期型的字段,輸入數(shù)據(jù)時,只需按月份、日期、年份各兩位數(shù)字輸入,其中的分隔符“/”不必輸入。輸入的年月日必須是有效數(shù)字,否則系統(tǒng)將提示日期無效。 (3) 定義為數(shù)值型并具有小數(shù)位的字段,在輸入數(shù)據(jù)時,只要確定整數(shù)位數(shù)后,可不輸入小數(shù)點。 (4) 定義為邏輯型的字段,輸入數(shù)據(jù)時,只需輸入“T”或“F” 且不分大小寫,不需要輸入邏輯數(shù)據(jù)的點定界符。 (5) 空值的輸入方法:CTRL+0,(6) 備注型和通用型字段內(nèi)容的輸入: 字段說明:這兩個字段數(shù)據(jù)不能在瀏覽窗口中直接輸入, 因為記錄數(shù)據(jù)是保存在另一個文件 (.fpt)中, 表中只有4字節(jié),存儲一個指向ftp文件的指針 備注字段:雙擊瀏覽窗口的備注字段,或單擊后按組合鍵 ctrl+pageup、ctrl+pagedown、ctrl+home均進 入文本編輯器,編輯后關閉編輯器(ctrl+w) 通用字段:雙擊瀏覽窗口的通用字段,然后選擇“編輯”菜 單“插入對象”命令,插入或生成一個對象。 要刪除通用型字段的內(nèi)容,按ctrl+X,3.2.4 向表中添加記錄,3.2.5 瀏覽表中的數(shù)據(jù),1瀏覽窗口和編輯窗口(顯示-瀏覽/編輯) 2調(diào)整瀏覽窗口(行高、列寬、移動列) 3拆分瀏覽窗口 4使用Browse命令瀏覽數(shù)據(jù) BROWSE EIELDS 字段列表FOR 5數(shù)據(jù)的選擇顯示 LIST|DISPLAY FIELDS FOR WHILE TO PRINTER TO FILE OFF,3.2.6 編輯表結(jié)構(gòu),1用表設計器修改表結(jié)構(gòu) (1) 打開表設計器 打開表,在顯示菜單中選擇“表設計器”選項 打開表,輸入MODIFY STRUCTURE命令 (2) 修改表的結(jié)構(gòu) 2修改表結(jié)構(gòu)對表中數(shù)據(jù)的影響 (1) 若被刪除字段是被索引的字段,則該索引也被刪除。 (2) 若重命名字段是被索引的字段,則索引表達式也要修改。 (3) 修改字段的寬度和小數(shù)位數(shù),可能導致數(shù)據(jù)的丟失。 (4) 修改字段的類型,可能導致丟失數(shù)據(jù)。,3.2.7 在表中移動記錄指針,記錄指針的概念 VF每打開一個表,系統(tǒng)自動為其設置一個記錄指針,該指針總是指向其中的一個記錄,稱為當前記錄。 表剛打開時,指針指向第 一個記錄,記錄指針可隨著表的操作進行移動,也可用命令來移動記錄指針。 文件的邏輯結(jié)構(gòu) 指針的移動 1. 在瀏覽窗口中移動 2. 命令方法移動 3. 菜單方法移動指針 4. 與指針及表相關的測試函數(shù),TOP,BOF,bottom,EOF,3.2.7 在表中移動記錄指針,1在瀏覽窗口中移動指針 鼠標點擊記錄或用上下光標移動鍵、移動記錄指針。 2命令方法移動指針 (1) GO 命令(指針絕對定位命令) 格式1:GOTO TOP GOTO BOTTOM 格式2:GOTO (2) SKIP命令 格式:SKIP 功能:記錄指針相對當前記錄進行定位 說明:的值可以是正或負的整數(shù) 缺省時表示1,(3) 以下命令執(zhí)行后,記錄指針也會移動: LIST LIST NEXT N LIST REST LIST RECORD N DISPLAY LOCATE REPLACE,3.2.7 在表中移動記錄指針,3菜單方法移動指針 打開“瀏覽”,選擇“表”菜單下的轉(zhuǎn)到記錄菜單項,在子菜單中可選擇: 第一個 最后一個 下一個 上一個 記錄號 定位,3.2.7 在表中移動記錄指針,4與指針及表相關的測試函數(shù) (1) 文件結(jié)束測試函數(shù) EOF 格式:EOF() 功能:測試指定的表文件記錄指針是否指向文件結(jié)束位 置(表文件尾),若是,函數(shù)值為(.T.),否則為(.F.) 例如: USE 學生表 GO BOTTOM &指針移到最后一條記錄 ?EOF() &主屏幕顯示:.F. SKIP &指針移到文件尾 ?EOF() &主屏幕顯示:.T. GO 6 LIST ?EOF() &主屏幕顯示:.T,4與指針及表相關的測試函數(shù),(2) 文件起始測試函數(shù) BOF 格式:BOF() 功能:測試指定表文件的記錄指針是否指向文件起始位 置,即文件頭。若是,函數(shù)值為(.T.),否則為(.F.) 例如: USE 學生表 GO TOP &指針移到首記錄 ?BOF() &主屏幕顯示:.F. SKIP -1 ?BOF() &主屏幕顯示:.T.,4與指針及表相關的測試函數(shù),(3) 記錄號測試函數(shù) RECNO 格式:RECNO() 功能:給出指定表的記錄指針所指向的記錄(當前記錄)號; 無參數(shù)時,給出當前表當前記錄號; 沒有打開的表時,返回值為0; 如果指針指向文件尾,函數(shù)值記錄數(shù)加1; 如果指針指向文件首,函數(shù)值為1。 例如:USE 學生表 &假設表中有10個記錄 ?RECNO( ) &主屏幕顯示:1 ?SKIP -1 ?RECNO( ) &主屏幕顯示:1 GO BOTTOM ?RECNO( ) &主屏幕顯示:10 SKIP ?RECNO( ) &主屏幕顯示:11,4與指針及表相關的測試函數(shù),(4) 記錄數(shù)測試函數(shù) RECCOUNT 格式:RECCOUNT() 功能:測試指定工作區(qū)中數(shù)據(jù)表的記錄個數(shù), 無參數(shù)時,測試當前工作區(qū)中數(shù)據(jù)表中的記錄個數(shù); 若沒有打開的數(shù)據(jù)表文件,則返回值為0。 例如: USE 學生表 &假設表中有10個記錄 ?RECCOUNT( ) &主屏幕顯示:10,4與指針及表相關的測試函數(shù),(5) 記錄大小測試函數(shù)RECSIZE 格式:RECSIZE (|) 功能:測試指定的工作區(qū)中數(shù)據(jù)表記錄的長度。 例如: USE 學生表 ?RECSIZE( ),3.2.8 編輯表中的數(shù)據(jù),1在編輯和瀏覽窗口中修改記錄(BROWSE、EDIT) 打開編輯窗口或瀏覽窗口,用光標定位即可修改數(shù)據(jù)。 2通過命令方式成批替換字段的內(nèi)容 格式:REPLACE 字段1 WITH ADDITIVE ,字段2 WITH ADDITIVE . FOR | WHILE 范圍 功能:用表達式的值成批替換滿足條件記錄中指定字段值 說明: (1) 若無范圍和條件,則只替換當前記錄; (2) 表達式值的類型應與對應的字段類型一致; (3) ADDITIVE子句只用于備注型字段,表示在原來備注內(nèi)容后面添加新的內(nèi)容,否則替換原來內(nèi)容。,例 USE 成績表 LIST REPLACE 總分 WITH 0 ALL LIST REPLACE 總分 WITH 平時成績*0.3+期末成績*0.7 ALL LIST,問題:如何將總分化為整數(shù)? 答案: REPLACE 總分 WITH ROUND(平時成績*0.3+期末成績*0.7, 0) ALL,3.2.8 編輯表中的數(shù)據(jù),3刪除記錄 (1) 添加刪除標記(邏輯刪除): 使用菜單方法 使用邏輯刪除命令 DELETE FOR | WHILE (2) 徹底刪除記錄(物理刪除): 從表菜單選擇“徹底刪除”,刪除帶刪除標記記錄。 徹底刪除帶刪除標記的記錄:PACK 物理刪除表中的全部記錄: ZAP,3.2.8 編輯表中的數(shù)據(jù),4. 恢復記錄 恢復記錄是指恢復已經(jīng)被邏輯刪除的記錄。 (1) 用表的菜單中的“恢復記錄”選項去掉記錄的刪除標記。 (2) 采用命令方式恢復記錄。 RECALL FOR|WHILE 說明:沒有參數(shù)的recall命令只恢復當前記錄 例如:USE 學生表 DELE FOR 身高1.7 LIST RECALL FOR 身高1.7 LIST,1設置過濾器 (1) 菜單方法: “表”菜單 -“屬性”-“數(shù)據(jù)過濾器” (2) 命令方法: SET FILTER TO 例如:USE 學生表 SET FILTER TO 性別=女 AND 黨員=.T. LIST SET FILTER TO &取消設置過濾器 LIST,3.2.9 定制表,3.2.9 定制表,2設置字段表 (1) 菜單方法:“表”菜單 -“屬性”-“字段篩選” (2) 命令方法 格式: SET FIELDS TO , |ALL 功能:在內(nèi)存預設一個“字段表”,只能對預設表中字段操作, 可多次使用該命令,向預設表中加入新字段,也可以加 入或清除全部字段

溫馨提示

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

評論

0/150

提交評論