《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第11章_第1頁(yè)
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第11章_第2頁(yè)
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第11章_第3頁(yè)
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第11章_第4頁(yè)
《Visual FoxPro6.0程序設(shè)計(jì)教程》課件第11章_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

任務(wù)11.1建立數(shù)據(jù)表任務(wù)11.2編輯數(shù)據(jù)表

任務(wù)導(dǎo)入

學(xué)習(xí)目標(biāo)

任務(wù)實(shí)施

1.數(shù)據(jù)表的基本概念

表名、字段、記錄是數(shù)據(jù)表的“三要素”,我們首先對(duì)其進(jìn)行介紹。任務(wù)11.1建?立?數(shù)?據(jù)?表

1)數(shù)據(jù)表

數(shù)據(jù)表是一些有組織的數(shù)據(jù)集合,是一組相關(guān)聯(lián)的數(shù)據(jù)按行和列排列而成的二維表格,簡(jiǎn)稱為表(Table)。

表11-1所示的“學(xué)生情況表”就是一個(gè)數(shù)據(jù)表。表11-1學(xué)生情況表

2)數(shù)據(jù)表中的字段

3)數(shù)據(jù)表中的記錄

2.用“表設(shè)計(jì)器”創(chuàng)建新表

在VFP中可以創(chuàng)建兩種表,即數(shù)據(jù)庫(kù)表和自由表。

(1)單擊常用工具欄中的“新建”按鈕,如圖11-1所示,在“新建”對(duì)話框中選中“表”,然后單擊“新建文件”按鈕,將打開“創(chuàng)建”對(duì)話框。

(2)在“創(chuàng)建”對(duì)話框中,選擇保存位置,輸入表的名稱(如st),然后單擊“保存”按鈕,打開“表設(shè)計(jì)器”。圖11-1“創(chuàng)建”對(duì)話框

(3)在“表設(shè)計(jì)器”中,選擇“字段”選項(xiàng)卡,如圖11-2所示,在“字段名”區(qū)域鍵入字段的名稱。

(4)利用“插入”按鈕,可以在已選定字段前插入一個(gè)新字段。

(5)利用“刪除”按鈕,可以從表中刪除選定字段。

(6)當(dāng)鼠標(biāo)指針指向字段名左端的方塊時(shí),將變?yōu)樯舷码p向箭頭,拖動(dòng)上下箭頭可以改變字段的順序,如圖11-3所示。圖11-2利用“表設(shè)計(jì)器”創(chuàng)建數(shù)據(jù)表圖11-3改變字段順序

(7)在輸入過程中,不能按〈Enter〉鍵,回車表示整個(gè)創(chuàng)建工作結(jié)束。定義好各個(gè)字段后,可按〈Enter〉鍵或單擊“確定”按鈕,這時(shí)出現(xiàn)確認(rèn)對(duì)話框,如圖11-4所示,顯示“現(xiàn)在輸入數(shù)據(jù)記錄嗎?”,若需要馬上輸入記錄則選擇“是”,不輸入記錄則選擇“否”。圖11-4提示輸入數(shù)據(jù)對(duì)話框

3.追加記錄

如果需要在已有的表中追加記錄,操作步驟為:

(1)單擊“文件”菜單→“打開”命令,或者單擊常用工具欄上的“打開”按鈕。

(2)在“打開”對(duì)話框中,選擇“文件類型”為“表(*.dbf)”,選擇表所在的文件夾,選中找到的表文件,單擊“確定”按鈕,如圖11-5所示。

(3)單擊“顯示”菜單→“瀏覽”命令,將顯示打開的表。圖11-5“打開”對(duì)話框

(4)單擊“顯示”菜單→“追加方式”,這時(shí)就可以在“瀏覽”窗口中輸入新的記錄了,如圖11-6所示。在輸入過程中,VFP窗口狀態(tài)欄中顯示當(dāng)前數(shù)據(jù)表文件名,記錄數(shù)等信息。圖11-6追加記錄

4.查看數(shù)據(jù)表中的記錄

5.瀏覽模式和編輯模式

瀏覽窗口有兩種不同的顯示模式:瀏覽模式和編輯模式。

選中“顯示”菜單→“瀏覽”命令,如圖11-7所示,這時(shí)數(shù)據(jù)表為瀏覽模式。

編輯模式是以一橫行為一字段的格式來顯示數(shù)據(jù)表中的記錄數(shù)據(jù)的,每條記錄按照順序連接顯示。如果要改為編輯模式,可以單擊“顯示”菜單→“編輯”命令,如圖11-8所示。圖11-7瀏覽模式

圖11-8編輯模式

6.移動(dòng)字段顯示位置

在瀏覽窗口中,字段的相對(duì)位置是根據(jù)建立字段的順序顯示的,可以根據(jù)需要任意移動(dòng)其相對(duì)位置,這并不影響表的實(shí)際結(jié)構(gòu)。

在“瀏覽”窗口中移動(dòng)字段位置的方法為:直接將列標(biāo)頭拖到新的位置,如圖11-9所示。圖11-9在“瀏覽”窗口中移動(dòng)字段位置

7.改變顯示列寬

在列標(biāo)頭中,將鼠標(biāo)指針指向兩個(gè)字段之間的結(jié)合點(diǎn),拖動(dòng)鼠標(biāo)調(diào)整列的寬度,如圖11-10所示。圖11-10改變顯示列寬

8.分割瀏覽窗口

1)分割瀏覽窗口

分割瀏覽窗口的方法是:將鼠標(biāo)指針指向窗口左下角的拆分條,向右方拖動(dòng)拆分條,將“瀏覽”窗口分成兩個(gè)窗格,如圖11-11所示。圖11-11拆分“瀏覽”窗口

2)不同顯示模式

在不同的窗格中,可以選取不同的顯示模式,也就是兩種模式共存。例如,單擊右窗格中的任意位置,選擇“顯示”菜單→“編輯”,可以將右窗格改為“編輯”模式,而左窗格仍為“瀏覽”模式,如圖11-12所示。圖11-12不同顯示模式

9.使用命令窗口

1)建新表命令

使用CREATE〈新表文件名〉命令也可以打開“表設(shè)計(jì)器”,創(chuàng)建一個(gè)新的表文件結(jié)構(gòu)。

使用下述命令可以不使用“表設(shè)計(jì)器”,直接創(chuàng)建表的結(jié)構(gòu):

CREATETABLE〈新表文件名〉(〈字段名1〉〈類型〉(〈長(zhǎng)度〉)

【例11-1】在命令窗口中通過命令建立數(shù)據(jù)表st,其中包含學(xué)號(hào)、姓名、性別、出生時(shí)間、入學(xué)成績(jī)、所在系、系負(fù)責(zé)人等字段,如圖11-13所示。圖11-13在命令窗口中通過命令建立數(shù)據(jù)表

2)打開表命令

3)關(guān)閉表命令

4)添加記錄命令

【例11-2】

增加數(shù)據(jù)表st.dbf中的記錄。

如圖11-14所示,打開數(shù)據(jù)表后,在命令窗口中輸入:

APPEND

在打開的編輯窗口中輸入具體的字段值即可。

圖11-14增加記錄

【例11-3】

在數(shù)據(jù)表st中追加一個(gè)空記錄。

APPENDBLANK

5)瀏覽記錄命令

【例11-4】

在命令方式下瀏覽st數(shù)據(jù)表中的數(shù)據(jù)。

在命令窗口中輸入下面的命令:

USEst

BROWSE

顯示效果如圖11-15所示。圖11-15瀏覽數(shù)據(jù)

【例11-5】如圖11-16所示,在命令窗口中輸入命令,按要求分別顯示不同記錄。圖11-16顯示記錄

10.移動(dòng)記錄指針

1)在“瀏覽”窗口中移動(dòng)記錄指針

在“瀏覽”窗口中移動(dòng)記錄指針的方法有以下3種。

(1)用鼠標(biāo)方式。用鼠標(biāo)單擊不同的記錄,可以移動(dòng)表的記錄指針,顯示表中不同的字段和記錄。這時(shí)記錄指針將隨之移動(dòng),狀態(tài)欄中的當(dāng)前記錄號(hào)也隨之變化,如圖11-17所示。圖11-17記錄指針

(2)用鍵盤方式??梢杂眉^鍵和〈Tab〉鍵移動(dòng)。

(3)用菜單方式。單擊“表”菜單→“轉(zhuǎn)到記錄”→“第一個(gè)”、“最后一個(gè)”、“下一個(gè)”、“前一個(gè)”或“記錄號(hào)”。如果選擇了“記錄號(hào)”,在“轉(zhuǎn)到記錄”對(duì)話框中輸入待查看記錄的編號(hào),然后選擇“確定”。

2)使用移動(dòng)指針命令

可以在命令窗口或程序中使用命令來移動(dòng)記錄指針。移動(dòng)記錄指針的命令有兩種:絕對(duì)移動(dòng)(GO)和相對(duì)移動(dòng)(SKIP)。

(1)絕對(duì)移動(dòng)

(2)相對(duì)移動(dòng)

11.在表單中顯示瀏覽窗口示例

【例11-6】在表單中使用命令方式來打開瀏覽窗口,顯示并修改數(shù)據(jù)表的內(nèi)容,如圖11-18所示。圖11-18在表單中瀏覽或修改數(shù)據(jù)表(1)建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。

(2)編寫代碼。

運(yùn)行程序,結(jié)果如圖11-18所示。思考與練習(xí)

1.數(shù)據(jù)表的“三要素”是什么?數(shù)據(jù)表的擴(kuò)展名是什么?

2.根據(jù)表11-2的內(nèi)容建立數(shù)據(jù)表,并以瀏覽模式和編輯模式查看數(shù)據(jù)表中的數(shù)據(jù)。表11-2教師情況表任務(wù)導(dǎo)入

學(xué)習(xí)目標(biāo)

任務(wù)實(shí)施

1.修改記錄

1)在“瀏覽”模式下修改記錄任務(wù)11.2編?輯?數(shù)?據(jù)?表

2)在“編輯”模式下修改記錄

直接在命令窗口使用EDIT命令,便可以打開“編輯”窗口,修改打開的數(shù)據(jù)表。

3)使用批替換命令

【例11-7】

將某數(shù)據(jù)表中的“總分”字段值設(shè)為“語文”與“數(shù)學(xué)”成績(jī)之和。

【例11-8】

修改記錄,給女同學(xué)的“入學(xué)成績(jī)”加10分。

【例11-9】

利用批替換命令填寫記錄。

2.刪除記錄

1)在瀏覽窗口刪除記錄

單擊記錄左邊的小方框,標(biāo)記待刪除的記錄,如圖11-19所示。圖11-19刪除記錄

2)刪除滿足條件的記錄

若要有選擇地刪除一組記錄,可單擊“表”菜單→“刪除記錄”命令,打開“刪除”對(duì)話框,選擇刪除記錄的范圍,輸入刪除條件。

要?jiǎng)h除中文系的學(xué)生,如圖11-20所示,在打開的“刪除”對(duì)話框中,單擊“FOR”條件中的“…”按鈕,在彈出的“表達(dá)式生成器”對(duì)話框中,選擇或輸入條件后,單擊“確定”按鈕。圖11-20“刪除”對(duì)話框和“表達(dá)式生成器”對(duì)話框返回至“刪除”對(duì)話框后,單擊“刪除”按鈕,可以看到滿足條件的記錄左側(cè)被加上了刪除標(biāo)記,如圖11-21所示。圖11-21“表達(dá)式生成器”對(duì)話框

3.與刪除記錄有關(guān)的命令

1)邏輯刪除記錄命令

邏輯刪除記錄命令可以對(duì)數(shù)據(jù)表中指定范圍內(nèi)滿足條件的記錄加注標(biāo)記,其格式為:

DELETE[〈范圍〉][FOR〈條件〉]

【例11-10】刪除所有中文系的女生記錄。

2)恢復(fù)刪除記錄命令

恢復(fù)刪除記錄命令可以恢復(fù)數(shù)據(jù)表中指定范圍內(nèi)滿足條件的刪除記錄。

3)物理刪除記錄命令

物理刪除記錄命令可以將數(shù)據(jù)表中所有具有刪除標(biāo)記的記錄正式從表文件中刪掉。

4)直接刪除所有記錄命令

4.修改數(shù)據(jù)表結(jié)構(gòu)

建立表之后,還可以修改表的結(jié)構(gòu)和屬性。

1)修改表結(jié)構(gòu)

選擇“文件”菜單→“打開”命令,選定要打開的表。然后單擊“顯示”菜單→“表設(shè)計(jì)器”命令,則打開“表設(shè)計(jì)器”對(duì)話框。

2)修改表結(jié)構(gòu)的命令

5.記錄篩選

如果只想查看某一類型的記錄,例如入學(xué)成績(jī)高于某一數(shù)值的學(xué)生,或者某系的學(xué)生,可以通過設(shè)置“數(shù)據(jù)過濾器”對(duì)“瀏覽”窗口中顯示的記錄進(jìn)行篩選。

圖11-22篩選記錄

2)使用命令

可用SETFILTER命令篩選記錄。該命令的語法格式為:

SETFILTERTO[〈邏輯表達(dá)式〉]

如圖11-23所示,只顯示所有女同學(xué)的記錄:

SETFILTERTONOTSt.性別圖11-23使用篩選命令

6.字段篩選

1)通過界面操作

(1)單擊“表”菜單→“屬性”命令,打開“工作區(qū)屬性”對(duì)話框。

(2)選中“字段篩選指定的字段”,單擊“字段篩選”,將打開“字段選擇器”對(duì)話框。

(3)將所需字段移入“選定字段”欄,如圖11-24所示,然后選擇“確定”返回“工作區(qū)屬性”對(duì)話框。

2)使用命令篩選字段圖11-24字段篩選

7.索引的基本概念

通常輸入記錄是不需要按照順序輸入的,然而當(dāng)數(shù)據(jù)量大時(shí),如果不按照某種順序來排序,尋找數(shù)據(jù)時(shí)必須從頭到尾搜尋整個(gè)數(shù)據(jù)表,這樣效率很低。1)主索引

2)候選索引

3)唯一索引

4)普通索引

8.使用表設(shè)計(jì)器建立索引

(1)單擊“文件”菜單→“打開”命令,選定要打開的表。

(2)選擇“顯示”菜單→“表設(shè)計(jì)器”命令,表的結(jié)構(gòu)將顯示在“表設(shè)計(jì)器”中。

(3)在“表設(shè)計(jì)器”中有“字段”、“索引”和“表”三個(gè)選項(xiàng)卡,在“字段”選項(xiàng)卡中定義字段時(shí),就可以直接指定某些字段是否是索引項(xiàng)。如圖11-25所示。圖11-25建立普通索引

(4)如果要將索引定義為其他類型的索引,則需選擇“索引”選項(xiàng)卡,在“索引名”框中,鍵入索引名(如xh,每個(gè)索引都要有一個(gè)名稱以供識(shí)別)。

如果要建立復(fù)合字段索引,可在“表達(dá)式生成器”中輸入索引表達(dá)式,如圖11-26所示。圖11-26表達(dá)式生成器

(5)當(dāng)索引設(shè)定完畢后,單擊“確定”按鈕,系統(tǒng)會(huì)彈出提示框,如圖11-27所示,詢問“結(jié)構(gòu)更改為永久性更改?”,選擇“是”按鈕,回到主窗口。圖11-27提示框

(6)單擊“顯示”菜單→“瀏覽”命令打開數(shù)據(jù)表,單擊“表”菜單→“屬性”命令,在“工作區(qū)屬性”對(duì)話框的“索引順序”中,選擇要用的索引,如圖11-28所示,單擊“確定”按鈕后可以看到排序后的結(jié)果。圖11-28按學(xué)號(hào)排序后的結(jié)果

9.用命令建立索引

在VFP中,一般情況下都可以在表設(shè)計(jì)器中交互建立索引,特別是主索引和候選索引是在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)確定好的。但是有時(shí)需要在程序中臨時(shí)建立一些普通索引或唯一索引,這時(shí)可以使用命令方式來建立索引。

10.復(fù)合索引中索引表達(dá)式的使用

1)對(duì)多個(gè)“數(shù)值型”字段建立復(fù)合索引

2)對(duì)不同數(shù)據(jù)類型的字段建立復(fù)合索引

11.在索引中添加篩選表達(dá)式

(1)在“表設(shè)計(jì)器”的“索引”選項(xiàng)卡中,創(chuàng)建或選擇一個(gè)索引。

(2)在“篩選”框中,輸入一個(gè)篩選表達(dá)式,如圖11-29所示,例如,建立一個(gè)年齡在22歲以上記錄的篩選表達(dá)式:

YEAR(DATE())–YEAR(出生時(shí)間)>=22

(3)最后,單擊“確定”。圖11-29在索引中添加篩選表達(dá)式

12.查找記錄

在VFP中,除了可以使用篩選表達(dá)式來查找和顯示記錄外,還可以使用命令方式查找記錄。

1)打開索引文件

2)字符查找命令(FIND)

【例11-11】

在已經(jīng)建立的索引文件基礎(chǔ)上,查找姓名為“李才”和學(xué)號(hào)為“2011005”、“2011010”的記錄。

查找后的結(jié)果如圖11-30所示。

3)表達(dá)式查找命令(SEEK)圖11-30用FIND命令查找字符型數(shù)據(jù)

【例11-12】

以性別為關(guān)鍵字建立索引,并查找第一個(gè)男生記錄和第一個(gè)女生記錄。

查找結(jié)果如圖11-31所示。圖11-31用SEEK命令查找記錄

4)順序查詢命令(LOCATE)

5)繼續(xù)查找命令(CONTINUE)

【例11-13】

在數(shù)據(jù)表中依次查找1992年出生的學(xué)生記錄。

查找結(jié)果如圖11-32所示。圖11-32順序查找學(xué)生記錄

13.控制重復(fù)輸入

前面已經(jīng)介紹過,主索引和候選索引中關(guān)鍵字的字段值必須是唯一的,因此如果某字段設(shè)定為這兩種索引類型,便可以讓VFP自動(dòng)幫用戶作數(shù)據(jù)重復(fù)輸入的驗(yàn)證工作,而不需用戶自己操心此問題。

(1)在瀏覽窗口中打開數(shù)據(jù)表st。

(2)打開“表設(shè)計(jì)器”,在“索引”選項(xiàng)卡中將學(xué)號(hào)選取為“候選索引”,并返回到瀏覽窗口。

(3)單擊“顯示”菜單→“追加方式”,光標(biāo)跳到最后一行,輸入學(xué)號(hào)數(shù)據(jù)與上一行相同,按下向下方向鍵,這時(shí)將顯示錯(cuò)誤信息。如圖11-33所示,表示學(xué)號(hào)索引關(guān)鍵字的字段中有數(shù)據(jù)違反唯一性規(guī)則。

(4)單擊“確定”按鈕回到該記錄作修改,如果單擊“還原”按鈕會(huì)還原記錄的內(nèi)容。圖11-33控制重復(fù)輸入

14.統(tǒng)計(jì)記錄數(shù)命令COUNT

建立數(shù)據(jù)表文件后,常常要對(duì)數(shù)據(jù)表中數(shù)值型字段的記錄進(jìn)行統(tǒng)計(jì)。

【例11-14】

分別統(tǒng)計(jì)女生人數(shù)和入學(xué)成績(jī)≥490分的學(xué)生數(shù)。

如圖11-34所示,顯示統(tǒng)計(jì)結(jié)果分別為4個(gè)和8個(gè)。圖11-34統(tǒng)計(jì)記錄數(shù)

15.求和命令SUM

1)行向求和

2)列向求和

【例11-15】

求女生入學(xué)成績(jī)之和。

如圖11-35所示,即可得到相應(yīng)的求和結(jié)果。圖11-35求和

16.求平均值命令A(yù)VERAGE

可以對(duì)指定的各表達(dá)式計(jì)算算術(shù)平均值。

(1)〈范圍〉默認(rèn)ALL。

(2)若省略〈表達(dá)式表〉,則對(duì)當(dāng)前數(shù)據(jù)庫(kù)所有數(shù)值型字段求平均值;若有〈表達(dá)式表〉,則對(duì)表中所指定的表達(dá)式求平均值。

(3)若選用TO〈內(nèi)存變量表〉,則計(jì)算的結(jié)果按順序分別存入各內(nèi)存變量。

【例11-16】

求1992年出生的學(xué)生平均入學(xué)成績(jī)。

如圖11-36所示,可以看到平均入學(xué)成績(jī)的輸出結(jié)果。圖11-36

溫馨提示

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

評(píng)論

0/150

提交評(píng)論