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

下載本文檔

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

文檔簡介

第三章VFP數(shù)據(jù)庫及其操作第三章VFP數(shù)據(jù)庫及操作3.1創(chuàng)建項目

3.5創(chuàng)建數(shù)據(jù)庫

3.2創(chuàng)建數(shù)據(jù)表

3.3數(shù)據(jù)表的基本操作與維護

3.4數(shù)據(jù)表的排序與索引

3.6建立數(shù)據(jù)字典

在VFP中,項目是文件、數(shù)據(jù)、文檔和VFP對象的集合,它包含了一個應(yīng)用系統(tǒng)開發(fā)過程中使用的各種數(shù)據(jù)庫、表、查詢、表單、報表、應(yīng)用程序及它所有文件。

擴展名:pjx

3.1創(chuàng)建項目1、建立工作目錄

setdefaulttod:\vfp2、建立項目文件有兩種方式:(1)菜單方式(2)命令方式格式:CREATPROJECT[<項目文件名>]練習(xí):創(chuàng)建名為學(xué)生管理的項目文件.3.1創(chuàng)建項目3、打開項目文件

(1)菜單方式(2)命令方式格式:MODIFYPROJECT[<項目文件名>]3.1創(chuàng)建項目例:打開學(xué)生管理.pjx項目.打開的項目如右圖:3.2.1定義表結(jié)構(gòu)1.基本概念數(shù)據(jù)庫表:VFP中的數(shù)據(jù)表屬于某個數(shù)據(jù)庫,稱數(shù)據(jù)庫表.自由表:數(shù)據(jù)表與數(shù)據(jù)庫無關(guān)、單獨存在的,稱自由表.2.定義表結(jié)構(gòu)

(1)字段名由字母、漢字、數(shù)字或下劃線組成,不能有空格。必須以字母或漢字開頭。數(shù)據(jù)庫表字段名最長為128個字符,自由表字段名最長為10個字符。

(2)字段類型(13種)

(3)字段寬度

(4)小數(shù)位(小數(shù)位數(shù)不能大于9,雙不大于18)3.2創(chuàng)建數(shù)據(jù)表3.創(chuàng)建自由表(1)用項目方式創(chuàng)建(2)用菜單方式(3)命令方式格式:CREATE<表文件名>例:創(chuàng)建名為學(xué)生信息表、選課信息表和成績信息表三個表??刹捎萌我庖环N方法創(chuàng)建。3.2創(chuàng)建數(shù)據(jù)表創(chuàng)建學(xué)生信息表時表設(shè)計器如下:3.2創(chuàng)建數(shù)據(jù)表表結(jié)構(gòu)定義好后,單擊確定按鈕,彈出下面對話框:3.2創(chuàng)建數(shù)據(jù)表單擊是,輸入記錄;單擊否,生成空表;3.2.2輸入記錄

向表中輸入記錄時,窗口有兩種形式:一種使瀏覽窗口,一條記錄占一行;一種是編輯窗口,一個字段占一行。

注意:備注型及通用型字段的輸入方法.下圖為學(xué)生信息表的兩種窗口:3.2創(chuàng)建數(shù)據(jù)表瀏覽窗口編輯窗口常見錯誤:1.表結(jié)構(gòu)還沒設(shè)計完呢,誤關(guān)窗口,如何繼續(xù)?顯示/表設(shè)計器2.不小心關(guān)閉了輸入數(shù)據(jù)窗口,想繼續(xù)輸入數(shù)據(jù)怎辦?顯示/瀏覽,顯示/追加方式繼續(xù)輸入數(shù)據(jù)3.3.1數(shù)據(jù)表的打開與瀏覽1.數(shù)據(jù)表的打開菜單方式:文件—打開命令方式:USE[表文件名][EXCLUSIVE]|[SHARED]例:打開學(xué)生信息.dbf。3.3數(shù)據(jù)表的基本操作與維護2.瀏覽與顯示表結(jié)構(gòu)菜單方式:顯示—表設(shè)計器命令方式:list/displaystructure例:瀏覽與顯示學(xué)生信息表.dbf表結(jié)構(gòu)。3.3.1數(shù)據(jù)表的打開與瀏覽注意:總計比字段之和多1。是用來存放刪除標記的。3.瀏覽與顯示表記錄(1)菜單方式:顯示—瀏覽或編輯(2)命令方式:格式1:browse[范圍][fields<字段列表>][for<條件>]格式2:list|display[范圍][fields<字段列表>][for<條件>][off]

范圍:

record<n>next<n>allrest例:瀏覽與顯示學(xué)生信息表.dbf表記錄。3.3.1數(shù)據(jù)表的打開與瀏覽3.3.1數(shù)據(jù)表的打開與瀏覽菜單方式篩選記錄:表—屬性(3)在瀏覽窗口中有選擇地瀏覽數(shù)據(jù):篩選記錄、選擇字段。例:篩選出學(xué)生信息表中男學(xué)生記錄。課堂練習(xí):

篩選出DJKS表中考場為401的男生記錄。3.3.1數(shù)據(jù)表的打開與瀏覽3.3.1數(shù)據(jù)表的打開與瀏覽思考:如何取消篩選?方法:表—屬性—刪掉數(shù)據(jù)過濾器里的內(nèi)容.1.菜單方式3.3.2記錄的定位2.命令方式(1)GO|GOTO[RECORD]|TOP|BOTTOM函數(shù):recno()、bof()、eof()(2)

SKIP[+|-][<算術(shù)表達式>]

說明:SKIP與SKIP1命令等價(3)LOCATE[<范圍>]FOR<條件>[WHILE<條件>]

說明:①如找到滿足條件的記錄,則指針指向該記錄;如沒找到,則指向表文件結(jié)束位置。②FOR<條件>表示在指定范圍內(nèi),定位滿足條件的第一條記錄。③WHILE<條件>表示僅當(dāng)條件滿足時才進行記錄的定位。④如指針要指向下一條滿足條件的記錄,可使用命令CONTINUE。3.3.2記錄的定位3.3.2記錄的定位例:打開“學(xué)生信息”表,用LOCATE命令定位所有性別為女的學(xué)生記錄。注:Found()函數(shù),如果找到滿足條件的記錄,則函數(shù)返回值為真,否則為假。1.菜單方式:顯示—表設(shè)計器2.命令方式:modifystructure說明:在表設(shè)計器窗口,可以修改已有的字段、增加字段、刪除字段和改變字段順序.3.3.3修改表結(jié)構(gòu)修改學(xué)生信息表的表結(jié)構(gòu).1.在瀏覽窗口中追加記錄(1)菜單方式:顯示—追加方式(2)命令方式:append[blank]2.插入記錄命令方式:insert[before][blank]3.從其他文件中追加記錄(1)菜單方式(2)命令方式格式:APPENDFROM<源表文件名>[FIELDS<字段名表>][FOR<條件>]說明:只有名稱和類型相匹配的字段內(nèi)容才予以追加。3.3.4添加記錄1.在瀏覽、編輯窗口修改記錄(1)菜單方式(2)命令方式格式:BROWSE|EDIT|CHANGE[FIELDS<字段名表>][FOR<條件表達式>]

功能:打開瀏覽窗口,顯示記錄,進行編輯和修改。2.批量修改記錄(1)菜單方式:表—替換字段3.3.5修改記錄(2)命令方式格式:REPLACE[<范圍>][<字段1>WITH<表達式1>[ADDITIVE][,<字段2>WITH<表達式2>[ADDITIVE]…][FOR<條件>][WHILE<條件>]功能:對當(dāng)前數(shù)據(jù)表中指定范圍內(nèi)滿足條件的記錄進行批量修改。注意:此命令非常重要,大家必須掌握.3.3.5修改記錄例:打開“學(xué)生信息”表,給女學(xué)生的獎學(xué)金加10,用REPLACE命令完成,并顯示結(jié)果。

USE學(xué)生信息

REPLACE獎學(xué)金WITH獎學(xué)金+10FOR性別=“女”

LIST學(xué)號,姓名,性別,獎學(xué)金

use課堂練習(xí):

將djks表中考場401改為509。

3.3.5修改記錄1.邏輯刪除(1)菜單方式例:將學(xué)生信息表中獎學(xué)金<200的記錄刪除.如下圖所示:3.3.6刪除記錄(2)命令方式格式:DELETE[<范圍>][FOR<條件>][WHILE<條件>]功能:給當(dāng)前數(shù)據(jù)表文件中滿足條件的記錄加刪除標記。說明:若省略<范圍>和<條件>選項,則只給當(dāng)前記錄加刪除標記。(3)鼠標方式3.3.6刪除記錄2.恢復(fù)邏輯刪除的記錄(1)菜單方式例:恢復(fù)學(xué)生信息表中獎學(xué)金<200的記錄.如下圖:3.3.6刪除記錄(2)命令方式

RECALL<范圍>[FOR<條件>][WHILE<條件>](3)鼠標方式3.物理刪除(1)菜單方式(2)命令方式

PACK4.一次性刪除記錄

ZAP**記錄刪除,保留表結(jié)構(gòu)課堂練習(xí):把學(xué)生信息表中的所有記錄徹底刪除.3.3.6刪除記錄3.3.7數(shù)據(jù)表與數(shù)組間的數(shù)據(jù)交換1、表的當(dāng)前記錄復(fù)制到數(shù)組格式:SCATTER[FIELDS<字段名表>][MEMO]TO<數(shù)組名>功能:將當(dāng)前數(shù)據(jù)表中的當(dāng)前記錄按字段順序復(fù)制到指定的數(shù)組中。見書例3-17、3-18P652、將數(shù)組復(fù)制到表的當(dāng)前記錄

格式:GATHERFROM<數(shù)組名>[FIELDS<字段名表>][MEMO]功能:從數(shù)組的第一個元素開始,將各元素的值順序復(fù)制到當(dāng)前記錄的指定字段中。

3.3.8數(shù)據(jù)表的復(fù)制1、數(shù)據(jù)表文件的復(fù)制

(1)菜單方式打開原表選文件導(dǎo)出

(2)命令方式

格式:COPYTO<新表文件名>[范圍][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]

功能:將當(dāng)前數(shù)據(jù)表文件的內(nèi)容全部或部分復(fù)制到新文件中。2、數(shù)據(jù)表結(jié)構(gòu)的復(fù)制

格式:COPYSTRUCTURETO<新表文件名>[FIELDS<字段名表>]

功能:復(fù)制全部或部分表結(jié)構(gòu)。3.數(shù)據(jù)表的重新命名(1)項目管理器方式(2)命令方式格式:RENAME<源表文件名>to<新表文件名>功能:改名說明:①源表文件名和新表文件名必須帶擴展名。②可使用通配符對一組文件進行更名。數(shù)據(jù)表的輔助文件也必須更名。課堂練習(xí):

將學(xué)生信息表中的編號、姓名、性別、黨員否的字段內(nèi)容復(fù)制到學(xué)生表中,將學(xué)生表重命名為xs.3.3.8數(shù)據(jù)表的復(fù)制3.4.1數(shù)據(jù)表的排序

排序是把表中的記錄按照某個字段值的大小順序重新排列.命令格式:Sortto文件名on字段名/a或/dfor條件例1:對學(xué)生信息表按性別降序排序,生成新表abc.dbfSorttoabcon性別/dUseabc

list3.4數(shù)據(jù)表的排序和索引3.4.2數(shù)據(jù)表的索引1.索引的基本概念(1)索引:是由指針構(gòu)成的文件,這些指針邏輯上按照索引關(guān)鍵字的值進行排序。創(chuàng)建索引是創(chuàng)建一個由指向表文件記錄的指針構(gòu)成的文件。(2)索引的類型(不要求)

◆獨立索引(擴展名為.idx)◆結(jié)構(gòu)復(fù)合索引(擴展名為.cdx

)◆非結(jié)構(gòu)復(fù)合索引(擴展名也為.cdx

)(3)索引關(guān)鍵字及索引關(guān)鍵字的類型p72

◆主索引(索引關(guān)鍵字的值必須唯一)◆侯選索引(同上)◆唯一索引(忽略重復(fù)字段,只存儲第一個)◆普通索引(索引字段、索引項都可重復(fù))2.建立索引(1)在表設(shè)計器中建立索引

注意:索引關(guān)鍵字可以是單個字段,也可是多個字段的組合;多個字段間用“+”聯(lián)接。如組成表達式的類型不同,必須轉(zhuǎn)換為相同的類型。如:在學(xué)生信息表中,按性別和專業(yè)編號建立普通索引,索引表達式為:性別+專業(yè)編號又如:按性別和出生日期建立普通索引,索引表達式為:性別+DTOC(出生日期)

(2)用命令建立索引(不能建主索引)

格式:INDEXON<索引關(guān)鍵字表達式>TAG<索引標識名>[UNIQUE|CANDIDATE][ASCENDING|DESCENDING][FOR<條件>]

功能:建立結(jié)構(gòu)復(fù)合索引。3.按索引順序瀏覽記錄(1)菜單方式(2)命令方式格式:SETORDERTO[TAG<索引標識名>]功能:在打開的復(fù)合索引文件中設(shè)置一個索引標識作為主標識,使數(shù)據(jù)表中的記錄按該索引順序處理。說明:不帶TAG<索引標識名>選項,表示取消使用任何索引。例:設(shè)置學(xué)生信息表的結(jié)構(gòu)復(fù)合索引文件中的索引標識為性別_專業(yè)編號的索引為主索引,并顯示學(xué)生信息表的記錄,最后取消索引3.4.3索引查詢

在VFP系統(tǒng)中,當(dāng)對數(shù)據(jù)表建立索引后,可使用FIND,SEEK等專門的數(shù)據(jù)表查詢命令,實現(xiàn)快速記錄指針定位。1、FIND命令(不要求)2、SEEK命令格式:SEEK〈表達式〉[ORDER[TAG]<索引標識名>][ASCENDING|DESCENDING]功能:在索引文件中查找關(guān)鍵字內(nèi)容與表達式相同的第一條記錄。例:假設(shè)已在學(xué)生信息表中按“性別”和“性別_獎學(xué)金”建立索引,用命令進行查詢。

SEEK“男”order性別

SEEK“男”+str(300)order性別_獎學(xué)金1、數(shù)據(jù)表的統(tǒng)計

(1)計數(shù)命令

格式:COUNT[<范圍>][FOR<條件>][WHILE<條件>][TO<內(nèi)存變量名>]

功能:在當(dāng)前數(shù)據(jù)表文件中,統(tǒng)計指定范圍內(nèi)滿足條件的記錄個數(shù)。

(2)求和命令

格式:SUM[<字段表達式表>][<范圍>][TO<內(nèi)存變量名表>|TOARRAY<數(shù)組名>][FOR<條件>][WHILE<條件>]

功能:對當(dāng)前數(shù)據(jù)表中滿足條件的記錄根據(jù)指定的數(shù)值型字段表達式按列求和。

3.4.4數(shù)據(jù)表的統(tǒng)計與匯總(3)求平均值命令格式:AVERAGE[<字段表達式表>][<范圍>][TO<內(nèi)存變量名表>|TOARRAY<數(shù)組名>][FOR<條件>][WHILE<條件>]功能:對當(dāng)前數(shù)據(jù)表中滿足條件的記錄按指定的數(shù)值型字段求平均值。2、數(shù)據(jù)表的分類匯總(略)課堂練習(xí):

1.求男生的平均獎學(xué)金.2.統(tǒng)計女生人數(shù).3.4.4數(shù)據(jù)表的統(tǒng)計與匯總3.5.1數(shù)據(jù)庫的創(chuàng)建3.5創(chuàng)建數(shù)據(jù)庫建立數(shù)據(jù)庫有三種方式:

1.在項目管理器中建立數(shù)據(jù)庫

2.菜單方式

3.命令方式格式:CREATEDATABASE[<數(shù)據(jù)庫名>]例:用命令方式建立名為“學(xué)生管理”的數(shù)據(jù)庫。

CREATEDATABASE學(xué)生管理.DBC提示:是在默認路徑下建立.3.5.2數(shù)據(jù)庫的基本操作1、打開數(shù)據(jù)庫

(1)項目管理器方式

(2)菜單方式

(3)命令方式

①打開數(shù)據(jù)庫文件格式:opendatabase[<文件名>]

②打開數(shù)據(jù)庫設(shè)計器格式:MODIFYDATABASE[<文件名>]3.5創(chuàng)建數(shù)據(jù)庫3.5.2數(shù)據(jù)庫的基本操作

2.關(guān)閉數(shù)據(jù)庫

(1)項目管理器方式(2)命令方式格式:CLOSEDATABASE[ALL]

3、刪除數(shù)據(jù)庫

(1)項目管理器方式(2)命令方式格式:DELETEDATABASE<數(shù)據(jù)庫文件名>[DELETETABLES]例:打開教學(xué)管理數(shù)據(jù)庫,并關(guān)閉。3.5創(chuàng)建數(shù)據(jù)庫3.5.3數(shù)據(jù)庫表的建立1.在數(shù)據(jù)庫中建立數(shù)據(jù)表2.向數(shù)據(jù)庫添加自由表例:向?qū)W生管理數(shù)據(jù)庫中添加學(xué)生信息、選課信息和成績信息三個表。如下圖:3.從數(shù)據(jù)庫中移去數(shù)據(jù)表3.5創(chuàng)建數(shù)據(jù)庫3.6.1設(shè)置表的字段屬性例1:在學(xué)生信息表中為專業(yè)編號字段指定標題為:學(xué)生的專業(yè)編號。設(shè)置方法:數(shù)據(jù)庫表-----右鍵----修改------標題查看方法:顯示-----瀏覽,即可看到字段名稱已改變。注意:字段標題僅在顯示時改變,實際字段名并沒有改變。3.6建立數(shù)據(jù)字典3.6.1設(shè)置表的字段屬性例2:在學(xué)生信息表中為性別字段設(shè)置規(guī)則為:性別只能是男或女,出錯提示為:性別必須是男或女,不接受其它值。設(shè)置方法:

數(shù)據(jù)庫表-----右鍵----修改----規(guī)則和信息規(guī)則:性別=“男”.or.性別=“女”或:性別$“男女”信息:“性別必須是男或女,不接受其它值?!辈榭捶椒?顯示---瀏覽3.6.2設(shè)置表的有效性規(guī)則例3:在學(xué)生信息表中為“性別”字段設(shè)置默認值為:“男”。設(shè)置方法:

數(shù)據(jù)庫表-----右鍵----修改-

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論