VFP表的基本操作方法2課件_第1頁
VFP表的基本操作方法2課件_第2頁
VFP表的基本操作方法2課件_第3頁
VFP表的基本操作方法2課件_第4頁
VFP表的基本操作方法2課件_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、VFP表的基本操作方法2第第2章續(xù)章續(xù) 索引與查詢索引與查詢VFP表的基本操作方法2n索引文件有二種,索引文件有二種,單索引文件單索引文件和和復(fù)合索引文復(fù)合索引文件。件。VFP提供了四種類型索引文件:提供了四種類型索引文件:主索引主索引、候選索引候選索引、唯一索引唯一索引和和普通索引普通索引 。 建立方式:建立方式:1、使用表設(shè)計(jì)器、使用表設(shè)計(jì)器 2、命令、命令命令格式:命令格式: INDEX ON TAG FOR ASCENDING DESCENDINGCANDIDATEn功能:功能:對(duì)當(dāng)前表中滿足條件的記錄,建立索對(duì)當(dāng)前表中滿足條件的記錄,建立索引文件和增加索引標(biāo)識(shí)引文件和增加索引標(biāo)識(shí)索引

2、索引VFP表的基本操作方法2l確定主控確定主控 索引索引格式:set order to | | TAG l表示已打開索引的序號(hào)。表示已打開索引的序號(hào)。l 指定該單索引文件為主控索引指定該單索引文件為主控索引l指定索引表示為主控索引指定索引表示為主控索引l set order to 或set order to 命令取消主控索引文件及主控索引,表達(dá)式按物理順序輸出。索引的使用索引的使用VFP表的基本操作方法2索引的更新索引的更新l1、自動(dòng)更新l2、重新索引l格式:格式:REINDEX功能:重建當(dāng)前打開的所有索引文件。索引的刪除: DELETE TAG ALL VFP表的基本操作方法2查詢命令查詢命

3、令直接查詢也叫順序查詢,是按照記錄的物直接查詢也叫順序查詢,是按照記錄的物理順序逐個(gè)比較,逐個(gè)查詢。理順序逐個(gè)比較,逐個(gè)查詢。格式:格式:LOCATE FOR WHILE 功能:功能:按順序搜索表,從而找到滿足指定邏輯表達(dá)式的第一按順序搜索表,從而找到滿足指定邏輯表達(dá)式的第一個(gè)記錄。個(gè)記錄。格式:格式:CONTINUE 功能:功能:它使它使LOCATE命令從當(dāng)前記錄開始繼續(xù)查找下一條滿命令從當(dāng)前記錄開始繼續(xù)查找下一條滿足條件的記錄。足條件的記錄。VFP表的基本操作方法2LOCATE命令命令說明:說明:(1)被搜索的表不必有索引。被搜索的表不必有索引。(2)若若LOCATE發(fā)現(xiàn)一個(gè)滿發(fā)現(xiàn)一個(gè)滿足

4、條件的記錄,就將記錄指針定位在該記錄上??梢宰銞l件的記錄,就將記錄指針定位在該記錄上??梢允褂檬褂肦ECNO()返回該記錄的記錄號(hào),同時(shí)返回該記錄的記錄號(hào),同時(shí)FOUND()函函數(shù)返回?cái)?shù)返回“真真”,EOF()函數(shù)返回函數(shù)返回“假假”。如果沒有找。如果沒有找到,則將記錄指針指向范圍的最后一個(gè)記錄,同時(shí)將到,則將記錄指針指向范圍的最后一個(gè)記錄,同時(shí)將FOUND()函數(shù)值置為函數(shù)值置為“假假”,屏幕上顯示,屏幕上顯示“已到定位已到定位范圍末尾范圍末尾”。(3)如果執(zhí)行如果執(zhí)行SET EXCAT OFF命令后,命令后,再用再用LOCATE命令查找字符型數(shù)據(jù)時(shí),不要求字符型命令查找字符型數(shù)據(jù)時(shí),不要求

5、字符型數(shù)據(jù)精確匹配。數(shù)據(jù)精確匹配。 (4)該命令只能查找第一條滿足條件的該命令只能查找第一條滿足條件的記錄。記錄。 (5)若表中有多條滿足條件的記錄,當(dāng)已經(jīng)找到若表中有多條滿足條件的記錄,當(dāng)已經(jīng)找到一條滿足條件的記錄后,還想繼續(xù)查找后面滿足條件一條滿足條件的記錄后,還想繼續(xù)查找后面滿足條件的記錄時(shí),可以使用的記錄時(shí),可以使用 CONTINUE 命令繼續(xù)向后查找命令繼續(xù)向后查找滿足條件的記錄滿足條件的記錄VFP表的基本操作方法2索引查詢命令索引查詢命令格式:格式:FIND / 格式:格式: SEEK 功能:功能:在打開的索引文件中快速查找與在打開的索引文件中快速查找與相匹配的第相匹配的第1 條記

6、錄。條記錄。VFP表的基本操作方法2數(shù)據(jù)工作期數(shù)據(jù)工作期l工作區(qū)1)工作區(qū)號(hào):1-327672)別名:除了使用1-10編號(hào)外,還可以依次用A-J字母來表示,稱為別名。3)選擇工作區(qū):格式:select | 功能:選定某個(gè)工作區(qū),用于打開一個(gè)表VFP表的基本操作方法2一、視圖文件的建立一、視圖文件的建立1.菜單操作菜單操作2.命令操作命令操作命令格式:命令格式:Create view 視圖文件名視圖文件名二、視圖文件的打開二、視圖文件的打開視圖文件VFP表的基本操作方法2多表操作概述概述 迄今所講述的對(duì)表的操作都是在一個(gè)工作區(qū)進(jìn)行的,每個(gè)工作區(qū)最多只能打開一個(gè)表文件,用USE命令打開一個(gè)新表,同

7、時(shí)也就關(guān)閉了前面已打開的表。在實(shí)際應(yīng)用中,常常需要同時(shí)打開多個(gè)表文件,以便對(duì)多個(gè)表文件的數(shù)據(jù)進(jìn)行操作。為了解決這一問題,Visual FoxPro引入了工作區(qū)和關(guān)聯(lián)的概念。VFP表的基本操作方法2一、工作區(qū)一、工作區(qū)1、工作區(qū)是一個(gè)編號(hào)區(qū)域,它標(biāo)示一個(gè) 已打開的表。 表打開后才能進(jìn)行操作,實(shí)際上打開表就是把它從磁盤調(diào)入內(nèi)存的某一個(gè)工作區(qū)。 VFP6提供了多達(dá)32767個(gè)工作區(qū),每個(gè)工作區(qū)都有一個(gè)工作區(qū)號(hào),分別用 132767表示,其工作區(qū)110還分別對(duì)應(yīng)有別名AJ。 VFP表的基本操作方法2說明說明: (1) 在任意時(shí)刻,只有一個(gè)工作區(qū)是當(dāng)前工作區(qū),用 戶只能在當(dāng)前工作區(qū)對(duì)打開的當(dāng)前表進(jìn)行操作

8、。 (2) 每一個(gè)工作區(qū)都可以并且只能打開一個(gè)表文件。 (3) 同一個(gè)表文件不允許同時(shí)在多個(gè)工作區(qū)打開,但在其它工作區(qū)中被關(guān)閉之后,可以在任意一個(gè)工作區(qū)中被打開。(工作區(qū)就象教室一樣,表就班級(jí)) (4)各工作區(qū)中打開的表彼此相互獨(dú)立(指針不受響)。2、選擇工作區(qū) 命令格式:命令格式:SELECT 工作區(qū)號(hào)/別名 功能:功能:選定某個(gè)工作區(qū),用于打開一個(gè)表。VFP表的基本操作方法2例:在1號(hào)和2號(hào)工作區(qū)內(nèi)分別打開SB.DBF和SP.DBF表文件。 SELECT 1 &也可以用也可以用 SELECT A USE SB LIST SELECT B &也可以用也可以用 SELECT 2

9、 USE SP LIST 說明:(1)用)用SELECT命令選定的工作區(qū)稱為命令選定的工作區(qū)稱為當(dāng)前工作區(qū)當(dāng)前工作區(qū), VFP默認(rèn)默認(rèn)1號(hào)工作區(qū)為當(dāng)前工作區(qū)。號(hào)工作區(qū)為當(dāng)前工作區(qū)。 (2)函數(shù))函數(shù)SELECT()()能夠返回當(dāng)前工作區(qū)的區(qū)號(hào)。能夠返回當(dāng)前工作區(qū)的區(qū)號(hào)。 (3)命令)命令“SELECT 0”表示選定當(dāng)前尚未使用的最表示選定當(dāng)前尚未使用的最 小號(hào)工作區(qū)。小號(hào)工作區(qū)。 (4)引用非當(dāng)前工作區(qū)表的字段必須冠以別名,)引用非當(dāng)前工作區(qū)表的字段必須冠以別名, 格式為格式為:別名別名.字段字段。VFP表的基本操作方法2例: CLOSE ALL &關(guān)閉所有打開的表 ?SELECT()

10、&顯示:1 ,1號(hào)工作區(qū)為默認(rèn)工作區(qū) USE SB list use SP list ? SELECT() &顯示:1,自動(dòng)關(guān)閉SB表 SELECT 0 ? SELECT() &顯示:2,尚未使用的最小工作區(qū) 號(hào)是2 VFP表的基本操作方法2 通過用工作區(qū)(或者表)別名指定欲訪問的工作區(qū),所得到的字段值為指定工作區(qū)打開的表當(dāng)前記錄的字段值?!纠吭?號(hào)和2號(hào)工作區(qū)打開SB.DBF和BMDM.DBF,在1號(hào)工作區(qū)內(nèi)查看當(dāng)前記錄的編號(hào)、名稱、部門名稱等字段內(nèi)容。SELECT AUSE SB & 在一號(hào)工作區(qū)中打開SB表(21)SELECT BUSE BMDM &am

11、p; 在二號(hào)工作區(qū)中打開BMDMGO 3 & 部門代碼為21SELECT A & 選擇1號(hào)工作區(qū)為當(dāng)前工作區(qū)DISPLAY 編號(hào),名稱,BMDM.名稱VFP表的基本操作方法2二、關(guān)聯(lián)二、關(guān)聯(lián)1、關(guān)聯(lián)的概述、關(guān)聯(lián)的概述 所謂表文件的關(guān)聯(lián)是把當(dāng)前工作區(qū)中打開的表與另一個(gè)工作區(qū)中打開的表進(jìn)行邏輯連接,而不生成新的表。當(dāng)前工作區(qū)的表和另一工作區(qū)中的打開表建立關(guān)聯(lián)后,當(dāng)前工作區(qū)中的表的記錄指針移動(dòng)時(shí),被關(guān)聯(lián)工作區(qū)的表記錄指針也將自動(dòng)相應(yīng)移動(dòng),以實(shí)現(xiàn)對(duì)多個(gè)表的同時(shí)操作。 在多個(gè)表中,必須有一個(gè)表為關(guān)聯(lián)表,此表常稱為父表,而其他的表則稱為被關(guān)聯(lián)表,常稱為子表。在兩個(gè)表之間建立關(guān)聯(lián),必須以某一

12、個(gè)字段為標(biāo)準(zhǔn),該字段稱為關(guān)鍵字段。表文件的關(guān)聯(lián)可分為一對(duì)一關(guān)聯(lián)、一對(duì)多關(guān)聯(lián)和多對(duì)一關(guān)聯(lián)。VFP表的基本操作方法2學(xué)號(hào)姓名班級(jí)年齡035821李三03物管 20025960張四02電商 21045524王五04統(tǒng)計(jì) 18學(xué)號(hào)CET4成績035821660259608004552458一對(duì)一關(guān)聯(lián)一對(duì)一關(guān)聯(lián)學(xué)生基本情況表 父表 學(xué)生成績表 子表VFP表的基本操作方法2編號(hào)名稱部門016-1 車床21016-2 車床21037-2 磨床22038-1 鉆床23代碼名稱21一車間22二車間23三車間多對(duì)一和一對(duì)多關(guān)聯(lián)多對(duì)一和一對(duì)多關(guān)聯(lián)多對(duì)一關(guān)聯(lián)多對(duì)一關(guān)聯(lián)父表父表子表子表子表子表父表父表一對(duì)多關(guān)聯(lián)一對(duì)多關(guān)

13、聯(lián)VFP表的基本操作方法2【說明】建立關(guān)聯(lián)時(shí),關(guān)鍵字必須是兩個(gè)表文件共有字段,且子表已按關(guān)鍵字段建立了索引文件,并已指定關(guān)鍵字段為主控索引。2、建立關(guān)聯(lián)、建立關(guān)聯(lián)步驟 :(1)打開數(shù)據(jù)工作期窗口(2)打開需要建立關(guān)聯(lián)的表(3)為子表按關(guān)聯(lián)的關(guān)鍵字建立索引或確定主控索引(4)選定父表為當(dāng)前工作區(qū),為一個(gè)或多個(gè)子表建立關(guān)聯(lián)(5)說明建立的為一多關(guān)系,缺省時(shí)默認(rèn)為多一關(guān)系 下面以教材84頁的例題為例,來建立關(guān)聯(lián):VFP表的基本操作方法2一、關(guān)聯(lián)的概念一、關(guān)聯(lián)的概念 每個(gè)打開的表都有一個(gè)記錄指針,用以指示當(dāng)前記錄。關(guān)聯(lián)就是令不同工作區(qū)的記錄指針建立一種臨時(shí)的聯(lián)動(dòng)關(guān)系,使一個(gè)表的記錄指針移動(dòng)是另一個(gè)表的

14、記錄指針能隨之移動(dòng)。1.關(guān)聯(lián)條件 建立關(guān)聯(lián)的兩個(gè)表,總有一個(gè)是父表,一個(gè)為子表。父表記錄指針的移動(dòng),會(huì)使子表記錄指針自動(dòng)移到滿足關(guān)聯(lián)條件的記錄上。表的關(guān)聯(lián)VFP表的基本操作方法2關(guān)聯(lián)條件通常要求比較不同表的兩個(gè)字段表達(dá)式值是否相等。要在關(guān)聯(lián)命令中指明這兩個(gè)字段表達(dá)式外,還必須先為子表的字段表達(dá)式建立索引。2.多一關(guān)系3.一多關(guān)系二、在數(shù)據(jù)工作期窗口建立關(guān)聯(lián)二、在數(shù)據(jù)工作期窗口建立關(guān)聯(lián)VFP表的基本操作方法2查詢命令查詢命令統(tǒng)計(jì)命令統(tǒng)計(jì)命令-計(jì)數(shù)命令計(jì)數(shù)命令格式:格式:COUNT FOR WHILE TO 功能:功能:統(tǒng)計(jì)當(dāng)前表中指定范圍內(nèi)滿足條件的記錄個(gè)數(shù),并存于中。參數(shù)描述:參數(shù)描述:、子句

15、的用法和前面所有命令的用法是一樣的。若使用、子句,可統(tǒng)計(jì)出指定內(nèi)滿足的記錄個(gè)數(shù),否則統(tǒng)計(jì)表中的記錄的總數(shù)。對(duì)COUNT命令,默認(rèn)的范圍是ALL。VFP表的基本操作方法2四、統(tǒng)計(jì)命令四、統(tǒng)計(jì)命令1 、統(tǒng)計(jì)記錄數(shù)統(tǒng)計(jì)記錄數(shù)【命令】 COUNT FOR WHILE TO 【功能】統(tǒng)計(jì)當(dāng)前表中指定范圍內(nèi)滿足條件的記錄個(gè)數(shù)?!菊f明】除非指定了或 FOR/WHILE ,否則將計(jì)算 所有記錄個(gè)數(shù),如選擇了 TO ,則可將計(jì)算結(jié)果保存在內(nèi)存變量中,否則統(tǒng)計(jì)結(jié)果只在屏幕上顯示?!纠?-1】統(tǒng)計(jì)學(xué)生表中男同學(xué)記錄個(gè)數(shù)和表記錄總數(shù)。 USE STUDENT COUNT FOR 性別性別=男男 TO A COUNT

16、TO BVFP表的基本操作方法22 、求和求和【命令】SUM FOR WHILE TO 【功能】對(duì)指定范圍內(nèi)、滿足條件的記錄按指定的各個(gè)表 達(dá)式分別求和?!菊f明】(1)缺省范圍、條件表示全部記錄。 (2)缺省數(shù)值型表達(dá)式表,表示對(duì)表中所有數(shù) 值型字段求和。 (3)數(shù)值型表達(dá)式表中表達(dá)式的個(gè)數(shù)應(yīng)與內(nèi)存 變量的個(gè)數(shù)一致。VFP表的基本操作方法2【例4-2】試求學(xué)生表中各同學(xué)的語文總成績,然后對(duì)所有 數(shù)值型字段進(jìn)行求和。 USE STUDENT SUM 語文語文 TO YUWEN sum TO YW,SX,YY,ZF3、求平均值、求平均值【命令】AVERAGEFOR WHILE TO 【功能】對(duì)當(dāng)前

17、表文件中指定范圍內(nèi)滿足條件的記錄, 按指定的數(shù)值型字段計(jì)算平均值。【說明】(1)缺省范圍、條件表示全部記錄。 (2)缺省數(shù)值型表達(dá)式表,表示對(duì)當(dāng)前表中所有數(shù)值 型字段求平均值;數(shù)值型表達(dá)式表中表達(dá)式的 個(gè)數(shù)應(yīng)與內(nèi)存變量的個(gè)數(shù)一致。VFP表的基本操作方法2【例4-3】試求學(xué)生表中同學(xué)們的語文平均成績。 USE STUDENT Average 語文語文 TO YW_a4、綜合計(jì)算、綜合計(jì)算【命令】CALCULATEFOR WHILE TO 【功能】對(duì)當(dāng)前表文件中指定范圍內(nèi)滿足條件的記錄進(jìn)行 指定的計(jì)算工作。【說明】 可以是書上92頁表3、3中函數(shù)的 任意組合?!纠?-4】試求學(xué)生表中同學(xué)們語文成績

18、的最大值。 USE STUDENT CALCULATE max(語文語文) TO max_ywVFP表的基本操作方法25、分類匯總、分類匯總【命令】 TOTAL TO ON FIELDS FOR 【功能】按關(guān)鍵字段對(duì)當(dāng)前表文件的數(shù)值型字段數(shù)值型字段進(jìn)行分類 匯總,形成一個(gè)新的表文件?!菊f明】(1)當(dāng)前表必須在關(guān)鍵字上排序或索引,即當(dāng)前表當(dāng)前表 必須是有序的必須是有序的,否則不能匯總。 (2) 匯總命令執(zhí)行后,將生成一個(gè)新的表文件。 (3) 缺省,則將所有數(shù)值型字段的值 進(jìn)行匯總。 (4) 對(duì)非數(shù)值型字段,則把關(guān)鍵字相同的連續(xù)記 錄的第一條記錄的字段內(nèi)容送入新表。 VFP表的基本操作方法2【例3

19、-5】對(duì)對(duì)student表按表按“性別性別”對(duì)對(duì)“總分總分” 分類匯總。分類匯總。 USE STUDENT INDEX ON 性別性別 TAG XB TOTAL ON 性別性別 FIELDS 總分總分 TO xbf USE xbf list 性別性別,總分總分VFP表的基本操作方法2五、五、SELECT-SQL查詢查詢SQL 是結(jié)構(gòu)化查詢語言是結(jié)構(gòu)化查詢語言 Structured Query Language的縮寫??傻目s寫。可以說查詢是以說查詢是SQL語言的重要組成部分,但語言的重要組成部分,但不是全部,不是全部,SQL還包含數(shù)據(jù)定義、數(shù)據(jù)操還包含數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能等部分??v和

20、數(shù)據(jù)控制功能等部分。VFP表的基本操作方法2格式格式:SELECT ALL / DISTINCT FROM WHERE 說明:說明: ALL :表示選出的記錄中包含重復(fù)記錄表示選出的記錄中包含重復(fù)記錄DISTINCT:表示選出的記錄中不包含重復(fù)記錄:表示選出的記錄中不包含重復(fù)記錄 :可以是字段名表,也可以包含函數(shù)??梢允亲侄蚊?,也可以包含函數(shù)。FROM :用于指定查詢的表:用于指定查詢的表 WHERE :指定篩選條件:指定篩選條件SQL查詢查詢VFP表的基本操作方法2查詢命令查詢命令SQL舉例舉例2)SELECT *; FROM student3)SELECT 學(xué)號(hào)學(xué)號(hào),姓名姓名,英語英語+

21、5 AS 提分后的英語;提分后的英語; FROM student; WHERE 英語英語=100 1) SELECT 學(xué)號(hào),姓名;學(xué)號(hào),姓名; FROM student; WHERE 總分總分=360VFP表的基本操作方法2數(shù)據(jù)庫 數(shù)據(jù)庫是表的集合。從Visual FoxPro 3.0開始引入了真正意義上的數(shù)據(jù)庫概念,把一個(gè)二維表定義為表,把若干個(gè)關(guān)系比較固定的表集中起來放在一個(gè)數(shù)據(jù)庫中管理,在表間建立關(guān)系,設(shè)置屬性和數(shù)據(jù)有效性規(guī)則使相關(guān)聯(lián)的表協(xié)同工作。數(shù)據(jù)庫文件具有.dbc擴(kuò)展名,其中可以包含一個(gè)或多個(gè)表、關(guān)系、視圖和存儲(chǔ)過程等。 一個(gè)Visual FoxPro表或.dbf文件,能夠存在以下

22、兩種狀態(tài)之一:與數(shù)據(jù)庫相關(guān)聯(lián)的數(shù)據(jù)庫表(就象團(tuán)員就象團(tuán)員),與數(shù)據(jù)庫不關(guān)聯(lián)的自由表。二者的絕大多數(shù)操作相同且可以相互轉(zhuǎn)換。相比之下,數(shù)據(jù)庫表的優(yōu)點(diǎn)要多一些。當(dāng)一個(gè)表是數(shù)據(jù)庫的一部分時(shí),它就可以具有以下內(nèi)容: 長表名和表中的長字段名 表中字段的標(biāo)題和注釋 默認(rèn)值、輸入掩碼和表中字段格式化 表字段的默認(rèn)控件類 字段級(jí)規(guī)則和記錄級(jí)規(guī)則 支持參照完整性的主關(guān)鍵字索引和表間關(guān)系 INSERT、UPDATE或DELETE事件的觸發(fā)器VFP表的基本操作方法21 建立數(shù)據(jù)庫 a 菜單方式菜單方式 用菜單方式建立數(shù)據(jù)庫的具體步驟如下:(1)選擇【文件】 【新建】出現(xiàn)新建對(duì)話框。(2)選擇“數(shù)據(jù)庫”單選按鈕,再單

23、擊“新建文件”按鈕,出現(xiàn)“創(chuàng)建”對(duì)話框。(3)在“創(chuàng)建”對(duì)話框中輸入文件名。選擇“保存”按鈕,系統(tǒng)自動(dòng)打開數(shù)據(jù)庫文件,并且將數(shù)據(jù)庫設(shè)計(jì)器也自動(dòng)打開。n注:一個(gè)表在同一時(shí)間只能屬于一個(gè)數(shù)據(jù)庫。VFP表的基本操作方法2b 利用項(xiàng)目管理器建立數(shù)據(jù)庫利用項(xiàng)目管理器建立數(shù)據(jù)庫 打開已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口項(xiàng)目管理器窗口,選擇“數(shù)據(jù)”標(biāo)簽的“數(shù)據(jù)庫”,然后單擊“新建”按鈕。出現(xiàn)新建數(shù)據(jù)庫對(duì)話框,單擊“新建數(shù)據(jù)庫”按鈕,出現(xiàn)“新建”對(duì)話框,選擇數(shù)據(jù)庫的路徑并輸入數(shù)據(jù)庫名后單擊“保存”按鈕,完成數(shù)據(jù)庫的建立,并打開該數(shù)據(jù)庫設(shè)計(jì)器VFP表的基本操作方法22 打開數(shù)據(jù)庫a 菜單方式菜單方式(1)選擇【

24、文件】|【打開】,出現(xiàn)打開對(duì)話框。(2)選擇數(shù)據(jù)庫文件所在的文件夾,將文件類型選擇為“數(shù)據(jù)庫(.dbc)”。(3)選擇所要打開的數(shù)據(jù)庫文件名,單擊“確定”按鈕。b 利用項(xiàng)目管理器打開數(shù)據(jù)庫利用項(xiàng)目管理器打開數(shù)據(jù)庫打開已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口,選擇“數(shù)據(jù)”標(biāo)簽,選擇要打開的數(shù)據(jù)庫名,然后單擊“打開”按鈕。VFP表的基本操作方法23 關(guān)閉數(shù)據(jù)庫 利用項(xiàng)目管理器利用項(xiàng)目管理器 打開已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口,選擇“數(shù)據(jù)”標(biāo)簽,選擇“數(shù)據(jù)庫”下面需要關(guān)閉的數(shù)據(jù)庫名,然后單擊“關(guān)閉”按鈕。在常用工具欄上的當(dāng)前數(shù)據(jù)庫下拉列表框中該數(shù)據(jù)庫名消失,同時(shí)在項(xiàng)目管理器中“關(guān)閉”按鈕變成“打開

25、”按鈕。4 刪除數(shù)據(jù)庫 打開已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口,單擊“數(shù)據(jù)”標(biāo)簽,選擇要?jiǎng)h除的“數(shù)據(jù)庫”(不能處于打開狀態(tài)),然后單擊“移去”按鈕。出現(xiàn)圖3-4選擇對(duì)話框,若選擇“移去”僅將數(shù)據(jù)庫從項(xiàng)目中移去,若選擇“刪除”將從磁盤上刪除數(shù)據(jù)庫。被刪除的數(shù)據(jù)庫中的表成為自由表。VFP表的基本操作方法2VFP表的基本操作方法26.1.1 查詢的設(shè)計(jì)過程查詢的設(shè)計(jì)過程在創(chuàng)建查詢時(shí),通??梢宰裱韵铝鶄€(gè)步驟來創(chuàng)建查詢。(1)用“查詢向?qū)А被颉安樵冊(cè)O(shè)計(jì)器”創(chuàng)建查詢。(2)選擇在查詢結(jié)果中需要的字段。(3)設(shè)置查詢記錄的條件。(4)設(shè)置排序及分組條件來組織查詢結(jié)果。(5)選擇查詢輸出類別,可以是報(bào)表、

26、表文件、圖表、瀏覽窗口和表文件等等。(6)運(yùn)行此查詢。6.1 數(shù)據(jù)查詢數(shù)據(jù)查詢VFP表的基本操作方法21利用利用“查詢向?qū)Р樵兿驅(qū)А眲?chuàng)建查詢創(chuàng)建查詢利用“查詢向?qū)А眲?chuàng)建查詢的步驟如下:(1)進(jìn)入“查詢向?qū)А边M(jìn)入“查詢向?qū)А笨捎孟旅?種方法: 選擇【工具】|【向?qū)А縷【查詢】命令。 選擇【文件】|【新建】命令,進(jìn)入“新建”對(duì)話框,選擇“查詢”單選按鈕,單擊“向?qū)А卑粹o。 在“項(xiàng)目管理器”窗口中,選擇“數(shù)據(jù)”選項(xiàng)卡,選中“查詢”,單擊“新建”按鈕,出現(xiàn)“新建查詢”對(duì)話框,單擊“查詢向?qū)А卑粹o。(2)選擇查詢結(jié)果中需要的字段6.1.2 查詢的創(chuàng)建查詢的創(chuàng)建VFP表的基本操作方法2(3)設(shè)置查詢條件(

27、4)設(shè)置排序字段(5)設(shè)置記錄輸出范圍(6)保存查詢VFP表的基本操作方法22查詢?cè)O(shè)計(jì)器查詢?cè)O(shè)計(jì)器 進(jìn)入“查詢?cè)O(shè)計(jì)器”窗口有二種方法,(1)選擇【文件】【新建】命令,進(jìn)入“新建”對(duì)話框,選擇“查詢”單選按鈕,單擊“新建”按鈕;(2)在“項(xiàng)目管理器”窗口中,選擇“數(shù)據(jù)”選項(xiàng)卡,選中“查詢”文件類型,單擊“新建”按鈕,出現(xiàn)“新建查詢”對(duì)話框,單擊“新建查詢”按鈕。VFP表的基本操作方法2 3查詢?cè)O(shè)計(jì)器工具欄查詢?cè)O(shè)計(jì)器工具欄 “查詢?cè)O(shè)計(jì)器工具欄”各按鈕的功能如下: 按鈕:添加數(shù)據(jù)庫表。 按鈕:移去數(shù)據(jù)庫表。 按鈕:添加數(shù)據(jù)庫表間的聯(lián)接。 按鈕:顯示SQL窗口。 按鈕:最大化上部分窗口。 按鈕:確定查

28、詢?nèi)ハ?。VFP表的基本操作方法24使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢使用“查詢?cè)O(shè)計(jì)器”創(chuàng)建前面“查詢向?qū)А眲?chuàng)建查詢例子,具體步驟如下:(1)進(jìn)入“查詢?cè)O(shè)計(jì)器”窗口,添加stud表 ,如圖所示。VFP表的基本操作方法2(2)選擇查詢需要的字段(3)設(shè)置查詢條件(4)保存查詢VFP表的基本操作方法21查詢的運(yùn)行查詢的運(yùn)行運(yùn)行查詢的方法有以下5種: 在“查詢?cè)O(shè)計(jì)器”窗口中,選擇【查詢】|【運(yùn)行查詢】命令。 在“查詢?cè)O(shè)計(jì)器”窗口中,右擊“查詢?cè)O(shè)計(jì)器”窗口,選擇快捷菜單中的【運(yùn)行查詢】命令。 選擇【程序】|【運(yùn)行】命令。彈出“運(yùn)行”對(duì)話框,在對(duì)話框中,選擇所要運(yùn)行的查詢文件,單擊“運(yùn)行”按鈕。

29、 在“項(xiàng)目管理器”窗口中,選擇要運(yùn)行的查詢文件,單擊右邊的“運(yùn)行”按鈕。 在“命令”窗口中,鍵入 DO 。例如,DO 查詢1.qpr。6.1.3 查詢的運(yùn)行與修改查詢的運(yùn)行與修改VFP表的基本操作方法22查詢的修改查詢的修改修改可以用以下3種方法: 在“項(xiàng)目管理器”窗口中,選擇要修改的查詢文件,單擊右邊的“修改”按鈕,進(jìn)入“查詢?cè)O(shè)計(jì)器”窗口中修改。 選擇【文件】|【打開】命令,在“打開”對(duì)話框中,選擇所要修改的查詢文件,單擊“確定”按鈕,進(jìn)入“查詢?cè)O(shè)計(jì)器”窗口中修改。 在命令窗口中,鍵入 MODIFY QUERY 。3查詢?nèi)ハ虻脑O(shè)置查詢?nèi)ハ虻脑O(shè)置 單擊“查詢?cè)O(shè)計(jì)器”工具欄中的“查詢?nèi)ハ颉卑粹o或

30、在系統(tǒng)菜單中單擊【查詢】|【查詢?nèi)ハ颉棵?,彈出“查詢?nèi)ハ颉睂?duì)話框,如圖3.26 所示。其中共包含7個(gè)查詢?nèi)ハ?,各?xiàng)的含義見p105。VFP表的基本操作方法26.2.1 視圖簡介視圖是一個(gè)定制的虛擬邏輯表,視圖中只存放相應(yīng)的數(shù)據(jù)邏輯關(guān)系,并不保存表的記錄內(nèi)容,但可以在視圖中改變記錄的值,然后將更新記錄返回到源表。 視圖與查詢?cè)诠δ苌嫌性S多相似之處,但又有各自特點(diǎn),主要區(qū)別如下: 功能不同:視圖可以更新字段內(nèi)容并返回源表,而查詢文件中的記錄數(shù)據(jù)不能被修改。 從屬不同:視圖不是一個(gè)獨(dú)立的文件而從屬于某一個(gè)數(shù)據(jù)庫。查詢是一個(gè)獨(dú)立的文件,它不從屬于某一個(gè)數(shù)據(jù)庫。6.2 建立視圖建立視圖VFP表的基本操

31、作方法2 訪問范圍不同:視圖可以訪問本地?cái)?shù)據(jù)源和遠(yuǎn)程數(shù)據(jù)源,而查詢只能訪問本地?cái)?shù)據(jù)源。 輸出去向不同:視圖只能輸出到表中,而查詢可以選擇多種去向,如表、圖表、報(bào)表、標(biāo)簽、窗口等形式。 使用方式不同:視圖只有所屬的數(shù)據(jù)庫被打開時(shí),才能使用。而查詢文件可在命令窗口中執(zhí)行。VFP表的基本操作方法26.2.2 本地視圖的創(chuàng)建本地視圖的創(chuàng)建1使用本地視圖向?qū)?chuàng)建本地視圖使用本地視圖向?qū)?chuàng)建本地視圖2使用視圖設(shè)計(jì)器創(chuàng)建本地視圖使用視圖設(shè)計(jì)器創(chuàng)建本地視圖n方式一:在向?qū)нx取中選擇本地視圖向?qū)?n方式二:在文件下選擇新建,選擇視圖下的向?qū)?依照本地視圖向?qū)Р僮?VFP表的基本操作方法21 1創(chuàng)建遠(yuǎn)程數(shù)據(jù)聯(lián)接創(chuàng)

32、建遠(yuǎn)程數(shù)據(jù)聯(lián)接遠(yuǎn)程視圖是通過ODBC從遠(yuǎn)程數(shù)據(jù)源建立的視圖。所謂ODBC即Open DataBase Connectivity (開放式數(shù)據(jù)互連)的英語縮寫,它是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫接口,以一個(gè)動(dòng)態(tài)連接庫(DLL)方式提供的。創(chuàng)建ODBC數(shù)據(jù)源可以用二種方法建立。第一種方法是利用 “連接設(shè)計(jì)器”中“新的數(shù)據(jù)源”創(chuàng)建,第二種方法是利用在windows系統(tǒng)的“控制面板”中啟動(dòng)“ODBC數(shù)據(jù)源(32位)”應(yīng)用程序。 6.2.3 創(chuàng)建創(chuàng)建遠(yuǎn)程視圖遠(yuǎn)程視圖VFP表的基本操作方法21 1更新數(shù)據(jù)更新數(shù)據(jù)在在“視圖設(shè)計(jì)器視圖設(shè)計(jì)器”中,中,“更新條件更新條件”選項(xiàng)卡控制對(duì)數(shù)據(jù)源選項(xiàng)卡控制對(duì)數(shù)據(jù)源的修改(如更改、

33、刪除、插入)應(yīng)發(fā)送回?cái)?shù)據(jù)源的方式,的修改(如更改、刪除、插入)應(yīng)發(fā)送回?cái)?shù)據(jù)源的方式,而且還可以控制對(duì)表中的特定字段定義是否為可修改字段,而且還可以控制對(duì)表中的特定字段定義是否為可修改字段,并能對(duì)用戶的服務(wù)器設(shè)置合適的并能對(duì)用戶的服務(wù)器設(shè)置合適的SQLSQL更新方法。更新方法。2 2修改視圖修改視圖在在“項(xiàng)目管理器項(xiàng)目管理器”中,選擇中,選擇“數(shù)據(jù)數(shù)據(jù)”選項(xiàng)卡,選定要修改選項(xiàng)卡,選定要修改的的“本地視圖本地視圖”或或“遠(yuǎn)程視圖遠(yuǎn)程視圖”,單擊右邊的,單擊右邊的“修改修改”按按鈕,進(jìn)入鈕,進(jìn)入“視圖設(shè)計(jì)器視圖設(shè)計(jì)器”進(jìn)行修改。進(jìn)行修改。6.2.4 使用視圖的有關(guān)操作使用視圖的有關(guān)操作VFP表的基本

34、操作方法23刪除視圖刪除視圖 在在“項(xiàng)目管理器項(xiàng)目管理器”中,選擇中,選擇“數(shù)據(jù)數(shù)據(jù)”選項(xiàng)卡,選定要修改選項(xiàng)卡,選定要修改的的“本地視圖本地視圖”或或“遠(yuǎn)程視圖遠(yuǎn)程視圖”,單擊右邊的,單擊右邊的“移去移去”按鈕,按鈕,單擊提示框中單擊提示框中“移去移去”按鈕即可刪除。按鈕即可刪除。4瀏覽或運(yùn)行視圖瀏覽或運(yùn)行視圖 5顯示顯示SQL語句語句在在“視圖設(shè)計(jì)器視圖設(shè)計(jì)器”窗口。可用下面三種方法之一察看窗口??捎孟旅嫒N方法之一察看SQL語語句:句: 單擊單擊“視圖設(shè)計(jì)器視圖設(shè)計(jì)器”工具欄中工具欄中“SQL”按鈕。按鈕。 右擊右擊“視圖設(shè)計(jì)器視圖設(shè)計(jì)器”窗口,選擇窗口,選擇 “察看察看 SQL”命令。命

35、令。 在系統(tǒng)菜單中選擇在系統(tǒng)菜單中選擇【查詢】【查詢】|【查看【查看SQL】VFP表的基本操作方法2查詢命令查詢命令統(tǒng)計(jì)命令統(tǒng)計(jì)命令-求和命令求和命令格式:格式:SUM FOR WHILE TO /TO ARRAY 功能:功能:對(duì)當(dāng)前表中指定范圍內(nèi)滿足條件的數(shù)值型字段或是由字段組成的數(shù)值型表達(dá)式累加求和,并把結(jié)果存放在對(duì)應(yīng)的標(biāo)識(shí)的變量中。若使用任選項(xiàng),則只對(duì)中的各表達(dá)式累加求和,否則將對(duì)當(dāng)前表中的所有數(shù)值型字段累加求和,數(shù)值型字段之間或表達(dá)式之間用逗號(hào)分隔開。若使用 TO ,可將求出的各表達(dá)式的值依次賦給各內(nèi)存變量,但要注意:表達(dá)式表中的表達(dá)式的個(gè)數(shù)應(yīng)該與內(nèi)存變量表中的變量個(gè)數(shù)相等,若省略,內(nèi)

36、存變量的個(gè)數(shù)應(yīng)該與數(shù)值型字段的個(gè)數(shù)相等。也可將求出的各表達(dá)式的值存放于指定的數(shù)組中,一個(gè)數(shù)組元素等同于一個(gè)內(nèi)存變量。 VFP表的基本操作方法2統(tǒng)計(jì)命令統(tǒng)計(jì)命令-求平均值命令求平均值命令格式:格式:AVERAGE FOR WHILE TO | TO ARRAY 功能:功能:對(duì)當(dāng)前表中指定范圍內(nèi)滿足條件的記錄的數(shù)值型字段求算術(shù)平均值,并把結(jié)果存入中或存入指定的數(shù)組中。 說明:說明:AVERAGE和SUM命令的不同之處僅僅在于前者是求數(shù)值型字段或數(shù)值型表達(dá)式的平均值,而后者是求和。 若省略,約定為ALL,若省略,約定為當(dāng)前表中的所有的數(shù)值型和浮點(diǎn)型字段。若省略和,則不保留結(jié)果,若系統(tǒng)設(shè)置為SET T

37、ALK ON則只顯示,否則不顯示。VFP表的基本操作方法2統(tǒng)計(jì)命令統(tǒng)計(jì)命令-計(jì)算命令計(jì)算命令格式:格式:CALCULATE FOR WHILE TO | TO ARRAY 功能:功能:在打開的表中,分別計(jì)算在打開的表中,分別計(jì)算的表達(dá)式的表達(dá)式。 說明:說明:表達(dá)式中必須包含系統(tǒng)規(guī)定的表達(dá)式中必須包含系統(tǒng)規(guī)定的8個(gè)函數(shù)之一,其中常用個(gè)函數(shù)之一,其中常用的函數(shù)由的函數(shù)由AVG(), CNT(), MAX(), MIN() SUM ()等5個(gè)。 VFP表的基本操作方法2查詢命令查詢命令統(tǒng)計(jì)命令統(tǒng)計(jì)命令-匯總命令匯總命令格式:格式:TOTAL TO ON FIELDS | FOR WHILE 功能:

38、功能:在當(dāng)前打開的表中,分別對(duì)在當(dāng)前打開的表中,分別對(duì)值相同的記錄的值相同的記錄的數(shù)值型字段求和,并將結(jié)果存入一個(gè)新表數(shù)值型字段求和,并將結(jié)果存入一個(gè)新表。 說明:說明:。 指排序字段或索引關(guān)鍵字,及即當(dāng)前表是有序的。指排序字段或索引關(guān)鍵字,及即當(dāng)前表是有序的。 FIELDS 子句的子句的指出要匯總的字段。指出要匯總的字段。 :缺省是:缺省是 表示對(duì)所有的記錄。表示對(duì)所有的記錄。VFP表的基本操作方法2查詢命令查詢命令SELECT-SQL查詢查詢 SQL 是結(jié)構(gòu)化查詢語言是結(jié)構(gòu)化查詢語言Structured Query Language的縮寫。可以說查詢是的縮寫??梢哉f查詢是SQL語言語言的重

39、要組成部分,但不是全部,的重要組成部分,但不是全部,SQL還包含還包含數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能等部分。數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能等部分。VFP表的基本操作方法2查詢命令查詢命令SQL 簡單查詢簡單查詢 首先從幾個(gè)最簡單的查詢開始,這首先從幾個(gè)最簡單的查詢開始,這些查詢基于單個(gè)表,可以有簡單的查詢些查詢基于單個(gè)表,可以有簡單的查詢條件。這樣的查詢由條件。這樣的查詢由SELECT和和FROM短語構(gòu)成無條件查詢,或由短語構(gòu)成無條件查詢,或由SELECT、FROM和和WHERE短語構(gòu)成條件查詢。短語構(gòu)成條件查詢。VFP表的基本操作方法2查詢命令查詢命令SQL格式:格式:SELECT AL

40、L / DISTINCTFROM ! WHERE 說明:說明: ALL :表示選出的記錄中包含重復(fù)記錄表示選出的記錄中包含重復(fù)記錄 DISTINCT:表示選出的記錄中不包含重復(fù)記錄:表示選出的記錄中不包含重復(fù)記錄 FROM ?。河糜谥付ú樵兊谋恚河糜谥付ú樵兊谋?WHERE :指定篩選條件:指定篩選條件VFP表的基本操作方法2查詢命令查詢命令Sql其它語句其它語句lGroup by用于對(duì)查詢結(jié)果進(jìn)行分組用于對(duì)查詢結(jié)果進(jìn)行分組lHaving短語必須根據(jù)短語必須根據(jù)group by使用使用 ,它用,它用來限定分組必須滿足的條件來限定分組必須滿足的條件 lOrder by短語用來對(duì)查詢的結(jié)果進(jìn)行排序

41、短語用來對(duì)查詢的結(jié)果進(jìn)行排序VFP表的基本操作方法2單表查詢1.選擇表中的若干列1)查詢指定列2)查詢?nèi)苛?)查詢經(jīng)過計(jì)算的值4)目標(biāo)列為字符串常量、函數(shù)5)使用別名例:表student(sno,sname,ssex,sage,sdept)1)select sno,sname from studentVFP表的基本操作方法22)select * from student3)select sname,2003-sage from student4)select sname,出生年份:, 2003-sage,islower(sdept)5)select sname 姓名,sage as 年齡 f

42、rom student VFP表的基本操作方法26)SELECT 編號(hào),姓名編號(hào),姓名FROM 學(xué)生表學(xué)生表 WHERE 成績成績=60 7)SELECT *FROM 學(xué)生表學(xué)生表 8)SELECT 編號(hào)編號(hào),姓名姓名,成績成績+5 AS 提分后的成績提分后的成績 FROM 學(xué)生表學(xué)生表 WHERE 成績成績=55 VFP表的基本操作方法22.查詢示列1)查找大修過的所有設(shè)備 select distinct 編號(hào) from dx2)求出每一設(shè)備的增值金額 select 編號(hào),sum(增值) from zz group by 編號(hào) 3)找出大修費(fèi)用已超過5000元的設(shè)備Select 編號(hào) from dxGroup by 編號(hào)Having sum(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論