Visual-FoxPro-60編程入門第1-7章課件_第1頁
Visual-FoxPro-60編程入門第1-7章課件_第2頁
Visual-FoxPro-60編程入門第1-7章課件_第3頁
Visual-FoxPro-60編程入門第1-7章課件_第4頁
Visual-FoxPro-60編程入門第1-7章課件_第5頁
已閱讀5頁,還剩371頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1112學習VisualFoxPro的兩個重要部分: 1.命令的使用 2.集成開發(fā)環(huán)境的操作223第1章3第1章34知識點:

VisualFoxPro及其發(fā)展簡史

數(shù)據(jù)管理技術

數(shù)據(jù)庫系統(tǒng)的組成

數(shù)據(jù)模型

關系的基本運算

VisualFoxPro6.0的數(shù)據(jù)組織結構第1章VFP與數(shù)據(jù)庫基本概念

4知識點:第1章VFP與數(shù)據(jù)庫基本概念451.1VisualFoxPro概述VisualFoxPro的發(fā)展經(jīng)歷了dBASE、FoxBASE、FoxPro和VisualFoxPro等4個主要發(fā)展階段

dBASEII1982FoxBASE1984FoxPro1989VisualFoxPro3.01995VisualFoxPro6.0199851.1VisualFoxPro概述VisualF561.2數(shù)據(jù)管理技術人工管理文件系統(tǒng)數(shù)據(jù)庫管理1.2.1數(shù)據(jù)管理技術的發(fā)展61.2數(shù)據(jù)管理技術人工管理671.2.2數(shù)據(jù)庫系統(tǒng)的組成⒈數(shù)據(jù)庫⒉數(shù)據(jù)庫管理系統(tǒng)⒊計算機系統(tǒng)⒋用戶71.2.2數(shù)據(jù)庫系統(tǒng)的組成781.2.2數(shù)據(jù)庫系統(tǒng)的組成⒈

數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是統(tǒng)一管理的相關數(shù)據(jù)的集合。這些數(shù)據(jù)以一定的結構存放在磁盤中。其基本特點是:數(shù)據(jù)能夠為各種用戶共享、具有可控制的冗余度、數(shù)據(jù)對程序的獨立性以及由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制等。

數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(databasemanagementsystem,DBMS)是在操作系統(tǒng)支持下工作的管理數(shù)據(jù)的軟件,是數(shù)據(jù)庫系統(tǒng)的核心。它能夠為用戶或應用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的建立、更新、查詢、統(tǒng)計、顯示、打印及各種數(shù)據(jù)控制。

81.2.2數(shù)據(jù)庫系統(tǒng)的組成⒈數(shù)據(jù)庫891.2.2數(shù)據(jù)庫系統(tǒng)的組成⒊

計算機系統(tǒng)計算機系統(tǒng)(computersystem)是指用于數(shù)據(jù)庫管理的計算機硬件、軟件系統(tǒng)。⒋

用戶即與數(shù)據(jù)庫系統(tǒng)打交道的人員。通常有3種人員:①對數(shù)據(jù)庫系統(tǒng)進行日常維護的數(shù)據(jù)庫管理員。②用數(shù)據(jù)操作語言和高級語言編制應用程序的程序員。③使用數(shù)據(jù)庫中數(shù)據(jù)的人員。

91.2.2數(shù)據(jù)庫系統(tǒng)的組成⒊計算機系統(tǒng)9101.3數(shù)據(jù)模型1.3.1層次模型101.3數(shù)據(jù)模型1.3.1層次模型10111.3數(shù)據(jù)模型1.3.2網(wǎng)狀模型111.3數(shù)據(jù)模型1.3.2網(wǎng)狀模型11121.3數(shù)據(jù)模型1.3.3關系模型121.3數(shù)據(jù)模型1.3.3關系模型12131.3.3關系模型1.關系術語關系:二維表,VisualFoxPro的一個表文件。元組:表中一行,記錄。屬性:表中的一列,字段。分量:元組中一個屬性值。域:表中屬性的取值范圍。關鍵字,關鍵字段、碼:表中具有惟一標識的屬性。關系模式:對關系的描述,表的結構。131.3.3關系模型1.關系術語13141.4關系的基本運算

選擇:從關系中找出滿足條件的記錄。(行)投影:從關系中選擇若干屬性組成新的關系。(列)連接:將兩個關系通過公共屬性名連接成一個新的關系。141.4關系的基本運算選擇:從關系中找出滿足條件的記14151.5VFP的數(shù)據(jù)組織結構

從數(shù)據(jù)管理角度看,VFP數(shù)據(jù)組織的層次由大到小依次是:數(shù)據(jù)庫、表、記錄和字段。

1.字段2.記錄3.表4.數(shù)據(jù)庫151.5VFP的數(shù)據(jù)組織結構從數(shù)據(jù)管理角度看,VFP1516第2章16第2章1617第2章初識VisualFoxPro6.0

知識點:

VisualFoxPro6.0用戶界面

菜單系統(tǒng)

命令窗口

VisualFoxPro6.0的設計工具

VFP的系統(tǒng)功能17第2章初識VisualFoxPro6.0知識點:17182.1VisualFoxPro啟動與退出

啟動方法:⑴在桌面上雙擊“VisualFoxPro6.0”圖標。⑵在Windows的“開始”菜單的程序列表中選擇VisualFoxPro6.0項。⑶通過Windows的“資源管理器”或“我的電腦”,找到VisualFoxPro6.0程序并啟動。182.1VisualFoxPro啟動與退出啟動方法18192.1VisualFoxPro啟動與退出退出VFP,可以使用下述方法之一:⑴在命令窗口輸入“QUIT”并按回車鍵。⑵在“文件”菜單中選擇“退出”項。⑶直接按組合鍵Alt+F4。⑷用鼠標單擊VFP主界面標題欄最右邊的關閉窗口按鈕。192.1VisualFoxPro啟動與退出退出VFP,19202.2VisualFoxPro用戶界面2.2.1窗口

命令窗口命令窗口是一個標題為“命令”(Command)的小窗口。它的主要作用是輸入并顯示VFP命令,實現(xiàn)與用戶的單步交互操作。⒉

程序主窗口即啟動VFP后屏幕上出現(xiàn)的VFP主界面。程序主窗口由標題欄、菜單欄、工具欄、工作區(qū)和狀態(tài)欄組成。主要用于顯示VFP的處理結果,其中狀態(tài)欄用于顯示當前的操作狀態(tài)。202.2VisualFoxPro用戶界面2.2.1窗20212.2VisualFoxPro用戶界面⒊

全屏幕編輯窗口全屏幕編輯窗口是一種能夠實現(xiàn)數(shù)據(jù)或過程代碼編輯操作的環(huán)境,一般又分為表數(shù)據(jù)編輯窗口、表結構編輯窗口和過程編輯窗口。⒋

對話框對話框是一類特殊窗口,僅當所執(zhí)行的菜單項后帶“…”符號時才會出現(xiàn)。借助于對話框,用戶可以選擇所需要的數(shù)據(jù)或操作,而VFP則利用對話框引導用戶正確地操作,或者向用戶提供警告、提示信息等。212.2VisualFoxPro用戶界面⒊全屏幕編21222.2VisualFoxPro用戶界面2.2.2菜單菜單是一種用選項來組織命令的重要工具。VFP使用的菜單有:下拉式菜單和快捷菜單。2.2.3工具欄工具欄是一種用圖標的方式組織命令的工具。VisualFoxPro包含的工具欄有11種:常用、報表控件、報表設計器、表單控件、表單設計器、布局、查詢設計器、調色板、打印預覽、視圖設計器和數(shù)據(jù)庫設計器。默認情況只有“常用”工具欄可見。222.2VisualFoxPro用戶界面2.2.22223

2.3輔助設計工具2.3.1設計器設計器是輔助用戶創(chuàng)建文件的工具。例如輔助用戶創(chuàng)建表、數(shù)據(jù)庫、表單、查詢、報表等文件來管理數(shù)據(jù)。設計器主要包括表設計器、數(shù)據(jù)庫設計器、菜單設計器、表單設計器、查詢設計器、視圖設計器等。

2.3.2生成器生成器是VisualFoxPro6.0提供的一種可視化輔助工具。它用于簡化、修改表單及其他復雜控件的過程。每個生成器都有一系列選項卡組成,允許用戶訪問并設置所選對象的屬性。232.3輔助設計工具2.3.1設計器23242.3輔助設計工具2.3.3向導向導是幫助用戶迅速完成諸如建立表單和建立查詢等常用任務的交互式工具,它根據(jù)已有的一些實例,通過一系列的向導窗口和人機對話,完成一個任務。2.3.4項目管理器項目管理器是VisualFoxPro6.0提供的一個重要工具,它使用簡潔的可視化的方法對自由表、文件、數(shù)據(jù)庫、報表和查詢等進行組織和管理,是應用程序的控制中心。當開發(fā)一個應用系統(tǒng)時,可用項目管理器來跟蹤所有相關文件。

242.3輔助設計工具2.3.3向導24252.4.1VFP的工作方式⒈界面操作工作方式⒉命令操作⒊程序操作2.4VFP的系統(tǒng)功能

252.4.1VFP的工作方式2.4VFP的系統(tǒng)功能25262.4VFP的系統(tǒng)功能

2.4.2VFP菜單的約定及其使用

⒈VFP主菜單啟動VFP6.0后,窗口標題欄的下部就是菜單欄,如圖2-3所示。在菜單欄上顯示的是VFP主菜單的默認項,名稱有:文件、編輯、顯示、格式、工具、程序、窗口和幫助。每個菜單名都對應自己的一組下拉式菜單。262.4VFP的系統(tǒng)功能2.4.2VFP菜單的約26272.4.2VFP菜單的約定及其使用⒉

菜單的約定

①子菜單項后帶“…”符號:執(zhí)行這樣的菜單,會彈出一個對話框。②子菜單項的顏色為灰色:當菜單項呈灰色時,表示當前狀態(tài)下不可以使用。③子菜單項后帶黑三角“”符號:表示它有下級子菜單,當鼠標指向該菜單項時,自動出現(xiàn)下級子菜單。④子菜單項前有鉤“√”:是選擇標記。當菜單欄前有該符號時,表示該命令有效。若再選擇該命令,則刪除該標記,表示該命令不再有效。272.4.2VFP菜單的約定及其使用⒉菜單的約定27282.4.3命令的一般格式1、命令格式VFP可以執(zhí)行的命令由“命令動詞+命令子句”組成,常用形式:命令動詞[<范圍>][FOR<條件>][WHILE<條件>][FIELDS<字段列表>][OFF]……2、命令使用注意事項282.4.3命令的一般格式1、命令格式28292.5用VFP組織數(shù)據(jù)的例子

2.5.1設置默認目錄

利用“工具/選項”菜單⒉

用SET命令 例如,SETDEFAULTTOD:\JIANG

292.5用VFP組織數(shù)據(jù)的例子2.5.1設置默認目29302.5.2創(chuàng)建表文件的例子1、設計表結構302.5.2創(chuàng)建表文件的例子1、設計表結構30312.5用VFP組織數(shù)據(jù)的例子2.5.2創(chuàng)建表文件的例子 2、建立表結構 3、填寫數(shù)據(jù)2.5.3表文件的保存/關閉、打開與查看

“文件/保存”

“文件/關閉”

“文件/打開”

“顯示/瀏覽”312.5用VFP組織數(shù)據(jù)的例子2.5.2創(chuàng)建表文件的例3132第3章32第3章3233第3章VisualFoxPro6.0應用基礎

知識點:

數(shù)據(jù)類型

常量與變量

運算符與表達式

常用函數(shù)

VFP常用文件33第3章VisualFoxPro6.0應用基礎知識33343.1數(shù)據(jù)類型

VFP6.0提供了14種數(shù)據(jù)類型,分別是:數(shù)值型、字符型、邏輯型、日期型、通用型、備注型、貨幣型、日期時間型、整型、雙精度型、浮點型、二進制字符型、二進制備注型、對象型。343.1數(shù)據(jù)類型VFP6.0提供了14種數(shù)據(jù)類型,分別34353.1數(shù)據(jù)類型數(shù)值型數(shù)據(jù)(N):由數(shù)字0~9、一個符號(+或-)和一個小數(shù)點組成。字符型數(shù)據(jù)(C):由字母、數(shù)字空格等一切可打印的ASCII字符組成。邏輯型數(shù)據(jù)(L):.T.or.F.(.Y.or.N.)。日期型數(shù)據(jù)(D):可用setdate,setcentury,setmarkto來設置日期格式。日期時間型數(shù)據(jù)(T):用于保存日期、時間或二者兼有的數(shù)據(jù)。 例1:tMydatetime={^2005-9-511:00a},tMytimeonly={11:00a}貨幣型數(shù)據(jù)(Y):加符號$。 例2:money1=$1000.5,money2=$1234.56789。雙精度型數(shù)據(jù)(N):提高更高的精度,占用8個字節(jié)。浮點型數(shù)據(jù)(N):與數(shù)值型數(shù)據(jù)相同,以提供與其它軟件和系統(tǒng)的兼容性。整數(shù)型數(shù)據(jù)(N):不包含小數(shù),以二進制形式存儲,占4個字節(jié)。通用型數(shù)據(jù)(G):存儲OLE對象,長度為4個字節(jié)。備注型數(shù)據(jù)(M):存放較多內容的文本信息(.FPT),長度4個字節(jié)。二進制字符型數(shù)據(jù)(C):與字符型數(shù)據(jù)類似,以二進制存儲。二進制備注型數(shù)據(jù)(M):與備注型數(shù)據(jù)類似,以二進制存儲。對象型數(shù)據(jù)(O):Windows應用程序中生成的對象。如VFP的主窗口對象為_SCREEN。353.1數(shù)據(jù)類型數(shù)值型數(shù)據(jù)(N):由數(shù)字0~9、一個符號35363.2常量與變量3.2.1常量常量是以直觀的數(shù)據(jù)形態(tài)和意義直接出現(xiàn)的數(shù)據(jù),在程序執(zhí)行過程中常量的值是固定不變的。3.2.2變量在程序執(zhí)行過程中可以變化的數(shù)據(jù)項,稱為變量。363.2常量與變量3.2.1常量36373.2.1常量⑴數(shù)值型常量數(shù)值型常量可以是整數(shù)和實數(shù),用于表示一個數(shù)量的大小。例如3.14,1.23E+5。數(shù)值型常量的長度包括整數(shù)位數(shù)、小數(shù)位數(shù)和小數(shù)點。373.2.1常量⑴數(shù)值型常量37383.2.1常量⑵字符型常量字符型常量是用定界符界定的一串字符,又稱為字符串。可用的定界符有三對,即單引號‘’、雙引號“”、方括號[]等。例如,’123’、[計算機]、”A”都是書寫正確的字符型常量。383.2.1常量⑵字符型常量38393.2.1常量⑶邏輯型常量邏輯型常量屬于邏輯型數(shù)據(jù),只有兩個值:邏輯真和邏輯假。邏輯真常量用.T.、.t.、.Y.、.y.表示;邏輯假常量用.F.、.f.、.N.、.n.表示。如果書寫時少了字符左右的兩點,就會被計算機當作變量。393.2.1常量⑶邏輯型常量39403.2.1常量⑷日期型常量日期型常量必須用一對花括號將數(shù)據(jù)括起來,

例如,{11/05/1972}和{^1972-05-11},均表示

“1972年5月11日”這一日期數(shù)據(jù)。也可以用CTOD(”11/05/72”)來表示,意思是把字符型常量”11/05/72”轉換成日期型常量??瞻椎娜掌谛统A坑脅}表示。403.2.1常量⑷日期型常量40413.2.1常量⑸日期時間型常量

日期時間型常量與日期型常量類似,也必須用一對花括號將數(shù)據(jù)括起來,只是在日期數(shù)據(jù)后面加上“時:分:秒”即可。例如,{08/29/198705:26:30}表示1987年8月29日5時26分30秒。⑹貨幣型常量

貨幣型常量用來表示貨幣值,使用時,在數(shù)值前加上貨幣符號。

413.2.1常量⑸日期時間型常量41423.2.2變量

變量分類

423.2.2變量⒈變量分類42433.2.2變量⒉

變量的命名規(guī)則

變量名是用來標識變量的符號,最多10個字符,可以由字母,數(shù)字和嵌在中間的下劃線組成。433.2.2變量⒉變量的命名規(guī)則43443.2.2變量⒊

內存變量定義與操作⑴

賦值命令①命令“=”

格式

:<內存變量名>=<表達式>功能:計算賦值號右邊表達式的值(一個數(shù)據(jù)),然后將這個值賦給左邊的內存變量。它具有計算和賦值的雙重功能。443.2.2變量⒊內存變量定義與操作44453.2.2變量②命令“STORE”格式:STORE<表達式>TO<內存變量名表>功能:計算<表達式>的值,然后將結果分別賦給變量表中的所有變量。所謂<內存變量名表>表示有多個變量,變量與變量之間用逗號“,”分隔。注意,“,”為英文標點。453.2.2變量②命令“STORE”45463.2.2變量⑵內存變量的顯示格式:DISPLAY/LISTMEMORY[LIKE<通配符>][TOPRINTER[PROMPT]/TOFILE<文件名>]功能:顯示當前內存變量的定義。⑶內存變量的清除RELEASE格式1:RELEASE<內存變量名表>格式2:RELEASEALL[LIKE/EXCEPT<通配符>]功能:從內存中清除指定的變量。463.2.2變量⑵內存變量的顯示46473.2.2變量⑷保存與恢復①內存變量的保存格式:SAVETO<內存變量文件名>[ALL[[LIKE/EXCEPT<通配符>]]]功能:將所指定的內存變量存入內存變量文件中。

②內存變量的恢復格式:RESTOREFROM<內存變量文件名>[ADDITIVE]功能:將內存變量文件中的所有內存變量恢復到內存中去。473.2.2變量⑷保存與恢復47483.2.2變量⒋

數(shù)組數(shù)組在使用之前必須用命令來聲明,包括數(shù)組名和數(shù)組的大小。⑴

數(shù)組的聲明格式:DIMENSION/DECLARE<數(shù)組名1>(<下標1>[,<下標2>])[,<數(shù)組名2>(<下標1>[,<下標2>])][,…]功能:用于定義一個或多個數(shù)組。483.2.2變量⒋數(shù)組4849⒋

數(shù)組幾點說明:①數(shù)組名后面的括號,既可以用圓括號也可以用方括號。②定義數(shù)組后,系統(tǒng)自動將每個數(shù)組元素定義為邏輯型,初值為邏輯假.F.。③數(shù)組中的元素位置是有序而固定的。④給數(shù)組變量賦值時,如果未指明下標(即未指明第幾個元素),則對該數(shù)組中所有元素賦同一個值。⑤數(shù)組定義后,數(shù)組元素可以重新定義,定義方法與內存變量相同。數(shù)組中各個元素的數(shù)據(jù)類型可以不同。⑥在引用數(shù)組時,如果未指明下標,則引用該數(shù)組的第一個元素。⑦內存變量和數(shù)組不能重名。⑧使用數(shù)組時,下標不能超界。49⒋數(shù)組幾點說明:49503.2.2變量5.系統(tǒng)內存變量

(1)默認屬性是public屬性(2)保持固有信息,通過一個前導下劃線識別(3)類型固定(數(shù)值型,字符型,邏輯型,日期型,對象型)503.2.2變量5.系統(tǒng)內存變量50513.3

運算符與表達式表達式可以一個常量、變量、函數(shù),或者由這些元素由運算符連接起來的有意義的式子。運算符是描述各種不同運算的符號,有四種類型:算術運算符、字符運算符、關系運算符和邏輯運算符。用在兩個數(shù)據(jù)之間的運算符稱為二目運算符,用在單個數(shù)據(jù)上的運算符稱為單目運算符。513.3運算符與表達式表達式可以一個常量、變量、函數(shù),5152

3.3

運算符與表達式數(shù)值型表達式(+,-,*,/,**,%,())字符型表達式(+,-)日期型表達式(1)兩個日期型數(shù)據(jù)可以相減,結果為數(shù)值型(2)日期型數(shù)據(jù)可加上一個整數(shù),結果為日期型(3)日期型數(shù)據(jù)可減去一個整數(shù),結果為日期型關系型表達式(<,<=,>,>=,$,==,=)邏輯型表達式(NOT,AND,OR)計算表達式命令(=)523.3運算符與表達式數(shù)值型表達式(+,-,52533.4標準函數(shù)

基本形式函數(shù)名([<操作數(shù)表達式>])數(shù)值函數(shù)字符型函數(shù)測試函數(shù)日期時間函數(shù)數(shù)據(jù)庫和表函數(shù)數(shù)組函數(shù)其他函數(shù)533.4標準函數(shù)基本形式53543.4.1一般函數(shù)1、數(shù)值函數(shù)

(1)絕對值函數(shù)ABS()(2)平方根函數(shù)SQRT()(3)指數(shù)函數(shù)EXP()取模函數(shù)MOD()(4)對數(shù)函數(shù)LOG()(5)取整函數(shù)INT()543.4.1一般函數(shù)1、數(shù)值函數(shù)54553.4.1一般函數(shù)1、數(shù)值函數(shù)

(6)四舍五入函數(shù)ROUND()(7)最大值函數(shù)MAX()(8)最小值函數(shù)MIN()(9)π函數(shù)

PI()

⑽正弦函數(shù)SIN()

553.4.1一般函數(shù)1、數(shù)值函數(shù)5556⒉

字符函數(shù)

⑴字符重復函數(shù)REPLICATE()

⑵查找子串函數(shù)AT()

⑶截取子串函數(shù)SUBSTR()⑷左子串函數(shù)LEFT()⑸右子串函數(shù)RIGHT()⑹字符串修改函數(shù)STUFF()56⒉字符函數(shù)⑴字符重復函數(shù)REPLICATE()5657

字符函數(shù)⑺刪除空格函數(shù)①刪除左空格函數(shù)LTRIM()②刪除右空格函數(shù)RTRIM()③刪除前后空格函數(shù)ALLTRIM()

⑻空格函數(shù)SPACE()

57⒉字符函數(shù)⑺刪除空格函數(shù)5758⒉

字符函數(shù)

⑼宏替換函數(shù)&

⑽表達式計算函數(shù)EVALUATE()⑾

名表達式()58⒉字符函數(shù)⑼宏替換函數(shù)&5859日期時間函數(shù)系統(tǒng)時間函數(shù)time()日期函數(shù)date()日期時間函數(shù)datetime()年份、月份、日期和星期函數(shù)year/month/day/dow/cdow時、分、秒函數(shù)Hour/Minute/sec59日期時間函數(shù)系統(tǒng)時間函數(shù)time()5960⒊

日期時間函數(shù)⑴系統(tǒng)時間函數(shù)TIME()

⑵系統(tǒng)日期函數(shù)

DATE()

⑶年份函數(shù)YEAR()

⑷月份函數(shù)MONTH()⑸星期函數(shù)DOW()/CDOW()

⑹日期函數(shù)DAY()

60⒊日期時間函數(shù)⑴系統(tǒng)時間函數(shù)TIME()6061⒋

轉換函數(shù)

⑴字母小寫轉大寫函數(shù)UPPER()⑵字母大寫轉小寫函數(shù)LOWER()⑶字符轉日期函數(shù)CTOD()⑷日期轉字符函數(shù)DTOC()⑸數(shù)值型轉換成字符型函數(shù)STR()⑹字符型轉換成數(shù)值型函數(shù)VAL()⑺字符轉換成ASCII碼函數(shù)ASC()⑻ASCII碼轉換成字符函數(shù)CHR()

61⒋轉換函數(shù)⑴字母小寫轉大寫函數(shù)UPPER()6162⒌

測試函數(shù)

⑴字符串長度函數(shù)LEN()⑵數(shù)據(jù)類型測試函數(shù)TYPE()⑶條件函數(shù)IIF()⑷文件測試函數(shù)FILE()⑸自定義對話框函數(shù)MESSAGEBOX()

62⒌測試函數(shù)⑴字符串長度函數(shù)LEN()62633.4.2數(shù)據(jù)庫函數(shù)⑴字段數(shù)函數(shù)FCOUNT()⑵字段名函數(shù)FIELDS()⑶表頭測試函數(shù)BOF()⑷表尾測試函數(shù)EOF()⑸記錄號測試函數(shù)RECNO()⑹記錄數(shù)測試函數(shù)RECCOUNT()⑺表文件名函數(shù)DBF()⑻查詢結果測試函數(shù)FOUND()

633.4.2數(shù)據(jù)庫函數(shù)⑴字段數(shù)函數(shù)FCOUNT()63643.5VisualFoxPro6.0常用文件類型3.5.1數(shù)據(jù)文件

⒈表文件

數(shù)據(jù)庫文件

索引文件

查詢文件

643.5VisualFoxPro6.0常用文件類型364653.5.2文檔文件

表單文件

報表文件

菜單文件

項目文件3.5.3程序文件

源程序文件

編譯后的程序文件

應用程序文件

653.5.2文檔文件6566第4章66第4章6667第4章

自由表的建立與操作

知識點:表的設計與實現(xiàn)表結構的修改表數(shù)據(jù)的編輯表數(shù)據(jù)的瀏覽與輸出記錄定位表內容的統(tǒng)計計算VFP的文件管理67第4章自由表的建立與操作知識點:6768第4章

自由表的建立與操作4.1.1設計表結構⒈VFP系統(tǒng)對表文件的規(guī)定⒉

注意事項⒊

學生管理中的表結構設計68第4章自由表的建立與操作4.1.1設計表結構6869第4章

自由表的建立與操作4.1.2建立表結構

⒈菜單方式

“文件/新建”⒉

命令方式

格式:CREATE[<表文件名>/?]功能:在當前目錄(文件夾)中建立一個新表文件。69第4章自由表的建立與操作4.1.2建立表結構69704.2表結構的查看與修改4.2.1顯示表結構

格式:DISPLAY/LISTSTRUCTURE[IN<工作區(qū)號>/<別名>][……]功能:顯示當前表或指定工作區(qū)已打開表的結構。4.2.2修改表結構⒈

菜單方式

命令方式格式:MODIFYSTRUCTURE功能:用表設計器修改當前表結構。

704.2表結構的查看與修改4.2.1顯示表結構70714.2.3復制表結構格式:COPYSTURCTURETO<文件名>[FIELDS<字段名表>]功能:將當前表文件的結構復制到指定的新的文件中。例如,由當前表文件”學生DBF”創(chuàng)建XS.dbf,結構與學生完全相同。在命令窗口輸入下述命令序列:USE學生COPYSTRUCTURETOXS714.2.3復制表結構格式:COPYSTURCTURE71724.3表數(shù)據(jù)的輸入與輸出

4.3.1表文件的打開與關閉

1、表文件的打開⑴菜單方式單擊菜單欄上的“文件/打開”;或單擊常用工具欄上

按鈕。⑵命令方式格式:USE<表文件名>功能:在當前工作區(qū)打開指定的表文件。724.3表數(shù)據(jù)的輸入與輸出4.3.1表文件的打開與關閉72734.3.1表文件的打開與關閉

2、關閉表文件⑴菜單方式單擊菜單欄上的“窗口/數(shù)據(jù)工作期”,彈出“數(shù)據(jù)工作期”對話框734.3.1表文件的打開與關閉2、關閉表文件7374關閉表文件⑵命令方式,可根據(jù)情況選擇使用下述方法之一。①執(zhí)行命令USE。立即關閉當前工作區(qū)中打開的表。②執(zhí)行命令CLOSETABLES。關閉所有工作區(qū)中打開的自由表。③執(zhí)行命令CLEARALL。清除所有內存變量,同時關閉所有工作區(qū)中打開的表。④執(zhí)行命令CLOSEALL。關閉所有已打開的文件,包括表文件。⑤在同一工作區(qū)打開另一個表時,原來在該工作區(qū)中打開的表自動關閉。74關閉表文件⑵命令方式,可根據(jù)情況選擇使用下述方法之一。74754.3.2輸入數(shù)據(jù)

菜單方式⑴在菜單欄上選擇“表/追加新記錄”項。⑵在菜單欄上選擇“顯示/瀏覽”+“顯示/追加方式”項。⑶在菜單欄上選擇“表/追加記錄”項。754.3.2輸入數(shù)據(jù)⒈菜單方式75764.3.2輸入數(shù)據(jù)⒉

命令方式⑴APPEND格式:APPEND[BLANK][IN<工作區(qū)號>/<別名>]功能:在數(shù)據(jù)表的表尾添加一條或多條新記錄。等價于菜單方式的“顯示/瀏覽+顯示/追加方式”。⑵APPENDFROM格式:APPENDFROM<源表文件名>[……]功能:從一個指定文件中讀入記錄,添加到當前表文件的尾部。764.3.2輸入數(shù)據(jù)⒉命令方式76774.3.3輸出數(shù)據(jù)

格式:DISPLAY/LIST[<范圍>][FOR<條件表達式>][WHILE<條件表達式>][FIELDS<字段名表>][OFF][TOPRINTER[PROMPT]/TOFILE<文件名>]功能:顯示當前表中指定數(shù)據(jù)。774.3.3輸出數(shù)據(jù)格式:DISPLAY/LIST[<77784.4表內容的修改

4.4.1記錄的定位

⒈GO命令格式1:GOn功能:將指針定位在當前表中記錄號為n的記錄上。格式2:GOTOP功能:將指針定位在首記錄上。格式3:GOBOTTOM功能:將指針定位在末記錄上。784.4表內容的修改4.4.1記錄的定位78794.4.1記錄的定位

⒉SKIP命令 格式1:SKIP 功能:將指針從當前記錄開始下移一條記錄。 格式2:SKIPn 功能:將指針從當前記錄開始,下移n條記錄。 格式3:SKIP–n 功能:將指針從當前記錄開始,上移n條記錄。794.4.1記錄的定位⒉SKIP命令79804.4.2插入記錄

格式:INSERT[BEFORE][BLANK]功能:在當前表當前記錄前面或后面插入一條新記錄,并進入編輯狀態(tài)。804.4.2插入記錄格式:INSERT[BEFORE80814.4.3記錄的瀏覽與編輯⒈BROWSE格式:BROWSE[FOR<條件>][FIELDS<字段名表>][LAST][TITLE<標題文本>][……]功能:打開當前表的瀏覽窗口,可實現(xiàn)記錄的顯示、修改、刪除和追加等操作。例1:各種類型數(shù)據(jù)的編輯。例2: M型、G型數(shù)據(jù)的輸入與編輯。814.4.3記錄的瀏覽與編輯⒈BROWSE81824.4.4修改指定字段的數(shù)據(jù)

格式:REPLACE<字段名>WITH<表達式1>[ADDITIVE][,<字段名2>WITH<表達式2>[ADDITIVE]……][<范圍>][FOR/WHILE<條件>][IN<工作區(qū)號>/<別名>][…]功能:用表達式的值成批修改多個指定字段的值。

例如,給第一條記錄增加5元獎學金。執(zhí)行以下命令序列:USE學生REPL獎學金WITH獎學金+5 824.4.4修改指定字段的數(shù)據(jù)格式:REPLACE82834.5記錄刪除

4.5.1邏輯刪除⒈菜單方式在BROWSE窗口實現(xiàn)操作。⒉命令方式格式:DELETE[<范圍>][FOR<條件>][WHILE<條件>][IN<工作區(qū)號>/<別名>]功能:邏輯刪除指定的記錄,即給要刪除的記錄打上刪除標記。

834.5記錄刪除4.5.1邏輯刪除83844.5記錄刪除4.5.2設置邏輯刪除的有效性格式:SETDELETEON/OFF功能:指定標有刪除標記的記錄是否參與其他命令的處理。844.5記錄刪除4.5.2設置邏輯刪除的有效性84854.5記錄刪除4.5.3取消刪除⒈菜單方式⒉命令方式格式:RECALL[<范圍>][FOR<條件>][WHILE<條件>]功能:將指定記錄的邏輯刪除標記清除,即讓有刪除標記的記錄恢復正常。854.5記錄刪除4.5.3取消刪除85864.5記錄刪除4.5.4物理刪除

⒈菜單方式

“表/徹底刪除”⒉命令方式⑴PACK永久刪除當前表中邏輯刪除的記錄。⑵ZAP永久刪除當前表中全部記錄。864.5記錄刪除4.5.4物理刪除86874.6表內容的統(tǒng)計計算

4.6.1數(shù)值字段求和命令SUM4.6.2數(shù)值數(shù)據(jù)求平均值AVERAGE4.6.3計數(shù)命令COUNT4.6.4分類求和命令TOTAL874.6表內容的統(tǒng)計計算4.6.1數(shù)值字段求和命令S87884.7文件管理

4.7.1表文件的備份

COPYTO4.7.2列文件目錄

DIR

4.7.3修改文件名RENAME4.7.4刪除文件ERASE/DELETEFILE

884.7文件管理4.7.1表文件的備份COPYT8889第5章89第5章8990第5章排序、索引與查找

知識點:什么是排序建立排序文件索引建立索引文件索引查找一般查找90第5章排序、索引與查找知識點:90915.1排序

排序是指將當前表按照指定的排序字段(又稱關鍵字)重新排列記錄順序,并將排序結果存儲在一個新的表文件中。命令格式:SORTTO<表文件名>ON<字段名1>[/A/D][/C][,<字段名2>[/A/D][/C]…][<范圍>][FOR<條件>][WHILE<條件>][FIELDS<字段名表>/……]功能:對當前表進行排序,并將排過序的記錄輸出到新表中。915.1排序排序是指將當前表按照指定的排序字段(又91925.1排序表記錄排序的例子。⑴

按獎學金升序建立排序文件JXJPX.DBF。在命令窗口執(zhí)行下述命令:USE學生SORTTOJXJPXON獎學金USEJXJPX925.1排序表記錄排序的例子。9293表記錄排序的例子93表記錄排序的例子93945.2索引

索引只是按照指定字段為當前表建立一個索引表,以索引文件的形式存儲在磁盤上。索引表中的順序是按照字段值的大小排列的。為表文件建立索引之后,就可以用索引來控制表數(shù)據(jù)的顯示。945.2索引索引只是按照指定字段為當前表建立一個索引表94955.2.1索引文件分類⒈

單項索引文件

結構復合索引文件

獨立復合索引文件

955.2.1索引文件分類⒈單項索引文件95965.2.1索引文件分類1、單項索引文件,擴展名為.IDX。這種索引文件只有一個索引表達式。2、復合索引文件,其擴展名為.CDX。在復合索引文件中,每一個索引都有一個特殊的標識名(TAG),TAG的命名與自由表中字段命名方法相同(<=10字符)。3、結構復合索引文件和獨立復合索引文件都屬于復合索引文件。無論是哪一種索引文件,都只能與表文件同時使用。965.2.1索引文件分類1、單項索引文件,擴展名為.ID96975.2.2建立索引文件

菜單方式利用表設計器來生成索引。方法如下。①打開表設計器:先打開表,再選擇“顯示/表設計器”,進入表設計器窗口。②選擇索引字段:在“字段”選項卡中,單擊要建索引的字段,在“索引列”單擊其下三角按鈕,在列表中選擇升序或降序,③選擇索引類型④單擊“確定”按鈕,完成索引建立。

975.2.2建立索引文件⒈菜單方式9798索引類型主索引:要求索引表達式必須是表的主關鍵字段,該字段的值在表中是惟一的、確定的,且表允許有空值。主索引僅用于數(shù)據(jù)庫表,且一個表只能創(chuàng)建一個主索引。候選索引:要求同主索引。數(shù)據(jù)庫表和自由表都可以建立候選索引,一個表可以建立多個候選索引。唯一索引:相同索引值的記錄只留下一條。等同于命令中的UNIQUE選項。如果按性別建立索引,并選擇“唯一索引”,則索引表中只有2條記錄。數(shù)據(jù)庫表和自由表都可以建立唯一索引。普通索引:沒有限制。索引表中記錄數(shù)同原表文件。數(shù)據(jù)庫表和自由表都可以建立普通索引。98索引類型主索引:要求索引表達式必須是表的主關鍵字段,該字98995.2.2建立索引文件⒉

命令方式⑴建立單項索引文件格式:INDEXON<索引表達式>TO<文件名>[UNIQUE][COMPACT][ADDITIVE]功能:對當前表根據(jù)索引表達式按升序建立單項索引文件?!纠?.2】建立單項索引文件。①

以出生年月為關鍵字建立單索引文件CSNY.IDX。請在命令窗口執(zhí)行下述命令:USE學生INDEXON出生年月TOCSNY995.2.2建立索引文件⒉命令方式991005.2.2建立索引文件⑵

建立結構復合索引格式:INDEXON<索引表達式>TAG<索引標識>[UNIQUE][ADDITIVE][ASCENDING/DESCENDING]功能:對當前表根據(jù)索引表達式建立索引并以<索引標識>為標識存入結構復合索引文件中。1005.2.2建立索引文件⑵建立結構復合索引1001015.2.2建立索引文件⑶建立獨立復合索引格式:INDEXON<索引表達式>TAG<索引標識>[UNIQUE][ADDITIVE][OF<文件名>][ASCENDING/DESCENDING]功能:對當前表根據(jù)“索引表達式”建立索引并以<索引標識>為標識存入<文件名>指定的獨立復合索引文件中。1015.2.2建立索引文件⑶建立獨立復合索引1011025.2.3索引文件的打開與關閉⒈打開索引文件⑴打開表的同時打開索引文件格式:USE<表文件名>[IN<工作區(qū)>]INDEX<索引文件名表/?>[EXCLUSIVE/SHARED][ORDER[<索引序號>/<單項索引文件名>/[TAG]<索引標識>[OF<復合索引文件名>[ASCENDING/DESCENDING]]]][……]功能:在當前工作區(qū)或指定工作區(qū)打開表文件并同時打開<索引文件名表>指出的各個索引文件。1025.2.3索引文件的打開與關閉⒈打開索引文件1021035.2.3索引文件的打開與關閉⒉

關閉索引文件關閉索引文件有2條命令,格式如下:格式1:CLOSEINDEXES格式2:SETINDEXTO功能:關閉當前工作區(qū)除結構復合索引以外的所有打開的索引文件。1035.2.3索引文件的打開與關閉⒉關閉索引文件1031045.2.4確定主控索引

格式:SETORDERTO[<索引序號>/<單項索引文件名>/[TAG]<索引標識>[OF<復合索引文件名>][IN<工作區(qū)>]功能:重新確定主控索引文件或主控標識。5.2.5索引文件更新

先打開索引,再執(zhí)行索引重建命令。格式:REINDEX

1045.2.4確定主控索引格式:SETORDER1041055.3表內容的查找5.3.1索引查找⑴FIND命令格式:FIND<字符or數(shù)值>/<n>功能:搜索某個已建立索引的表,查找滿足條件第一個記錄。說明:①FIND命令只查找字符型或數(shù)值型數(shù)據(jù),字符型數(shù)據(jù)可不加定界符②FIND命令要求選定表已建立索引③若找到匹配記錄,RECNO()返回匹配記錄的記錄號,F(xiàn)ound()返回·T·,EOF()返回·F·若找不到匹配記錄,RECNO()返回值等于表的記錄數(shù)加1,F(xiàn)ound()返回·F·,EOF()返回·T·1055.3表內容的查找5.3.1索引查找105106

5.3.1索引查找⑵SEEK命令格式:SEEK<表達式>[ORDER<索引序列號>/<單項索引文件名>]/[TAG]<索引標識>[OF<復合索引文件名>][A/D][IN<工作區(qū)>]功能:SEEK命令在一個表中搜索首次出現(xiàn)的一個記錄,這個記錄的索引關鍵字必須與指定的表達式匹配。說明:①SEEK命令查找對象可以是變量、常量和表達式,數(shù)據(jù)類型多種(字符型數(shù)據(jù)必加定界符)②ORDER子句:指定用來搜索關鍵字的索引序號,單項索引文件名或復合索引文件的索引標記1065.3.1索引查找⑵SEEK命令1061075.3.2一般查找⒈順序查找命令

格式:LOCATEFOR<條件>[WHILE<條件>][<范圍>][NOOPTIMIZE]功能:按表內容的排列順序(物理順序或邏輯順序)依次搜索滿足條件的第一條記錄。1075.3.2一般查找⒈順序查找命令

格式:LOCAT107108LOCATE命令說明說明:該命令用于查找未索引或已索引的表文件。[<范圍>]:默認為全部記錄,即ALL。如果找到匹配記錄,指針指向該記錄,RECNO()返回匹配記錄的記錄號,F(xiàn)OUND()的值為.T.,EOF()值為.F.;若找不到,指針指向表尾部,F(xiàn)OUND()的值為.F.,EOF()值為.T.。只能在當前工作區(qū)中查找。

108LOCATE命令說明說明:1081095.3.2一般查找⒉繼續(xù)查找命令格式:CONTINUE功能:配合LOCATE命令在表的剩余部分尋找滿足條件的下一條記錄。1095.3.2一般查找⒉繼續(xù)查找命令109110第6章110第6章110111第6章數(shù)據(jù)庫的建立與操作

知識點:數(shù)據(jù)庫的常用概念數(shù)據(jù)庫的建立VFP的工作區(qū)表間的聯(lián)系設置數(shù)據(jù)庫的參照完整性111第6章數(shù)據(jù)庫的建立與操作知識點:1111126.1VFP數(shù)據(jù)庫的常用概念

⒈主關鍵字⒉數(shù)據(jù)之間的聯(lián)系類型⑴一對一關系⑵一對多關系⑶多對多關系

⒊外部關鍵字1126.1VFP數(shù)據(jù)庫的常用概念⒈主關鍵字1121136.1VFP數(shù)據(jù)庫的常用概念⒋數(shù)據(jù)庫表、自由表⒌數(shù)據(jù)庫的完整性⑴實體完整性⑵參照完整性⑶用戶自定義完整性

1136.1VFP數(shù)據(jù)庫的常用概念⒋數(shù)據(jù)庫表、自由表1131146.2數(shù)據(jù)庫的建立6.2.1一個數(shù)據(jù)庫的例子1146.2數(shù)據(jù)庫的建立6.2.1一個數(shù)據(jù)庫的例子1141156.2.2數(shù)據(jù)庫的建立與編輯

⒈創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫可以采用下述方法之一。使用“項目管理器”;使用“文件”菜單中的“新建”命令;使用CREATEDATABASE命令。⒉

打開數(shù)據(jù)庫格式:OPENDATABASE[數(shù)據(jù)庫文件名/?] 功能:該命令用于在命令窗口或程序中直接打開指定的數(shù)據(jù)庫。1156.2.2數(shù)據(jù)庫的建立與編輯⒈創(chuàng)建數(shù)據(jù)庫1151166.2.2數(shù)據(jù)庫的建立與編輯⒊修改數(shù)據(jù)庫⑴

使用“項目管理器”

在“項目管理器”中選擇數(shù)據(jù)庫名稱;單擊“項目管理器”窗口的“修改”按鈕,彈出數(shù)據(jù)庫設計窗口。⑵使用MODIFYDATABASE命令格式:MODIFYDATABASE[數(shù)據(jù)庫名/?]功能:打開數(shù)據(jù)庫設計器,讓用戶交互地修改當前數(shù)據(jù)庫。1166.2.2數(shù)據(jù)庫的建立與編輯⒊修改數(shù)據(jù)庫1161176.2.2數(shù)據(jù)庫的建立與編輯⒋關閉數(shù)據(jù)庫格式:CLOSEDATABASE[ALL] 功能:關閉當前數(shù)據(jù)庫和表。說明:有ALL:關閉所有打開的數(shù)據(jù)庫和其中的表;所有打開的自由表和索引。沒有ALL:表示關閉當前數(shù)據(jù)庫和表。

1176.2.2數(shù)據(jù)庫的建立與編輯⒋關閉數(shù)據(jù)庫1171186.2.2數(shù)據(jù)庫的建立與編輯⒌刪除數(shù)據(jù)庫

使用“項目管理器”

刪除一個數(shù)據(jù)庫的方法在“項目管理器”中選擇待刪除的數(shù)據(jù)庫名;單擊“項目管理器”窗口的“移去”按鈕,在接下去的提示中選擇刪除。⑵使用DELETEDATABASE命令刪除一個數(shù)據(jù)庫格式:DELETEDATABASE[數(shù)據(jù)庫名/?]功能:從磁盤上刪除數(shù)據(jù)庫。1186.2.2數(shù)據(jù)庫的建立與編輯⒌刪除數(shù)據(jù)庫1181196.2.3數(shù)據(jù)庫表的建立與操作

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

當有數(shù)據(jù)庫打開時,創(chuàng)建的數(shù)據(jù)表均為數(shù)據(jù)庫表。⒉將表加入到數(shù)據(jù)庫所添加的數(shù)據(jù)表不能屬于任何其他的數(shù)據(jù)庫。如果需要將一個屬于其他數(shù)據(jù)庫的表添加到一個新的數(shù)據(jù)庫中,必須先將該表移出原來所屬的數(shù)據(jù)庫。當向數(shù)據(jù)庫中添加一個數(shù)據(jù)庫表時,VisualFoxPro將顯示出錯信息;添加表操作完成后,該表就變成了數(shù)據(jù)庫表,同時也具備了數(shù)據(jù)庫表的各種特性。⒊將表從數(shù)據(jù)庫中移出1196.2.3數(shù)據(jù)庫表的建立與操作⒈創(chuàng)建數(shù)據(jù)庫表1191206.2.4數(shù)據(jù)庫表的性能優(yōu)化

設置字段的一般屬性 ⑴

定義長字段名 ⑵設置字段標題 ⑶設置字段注釋 ⑷建立輸入掩碼 ⑸設置字段的默認值

設置有效性規(guī)則 ⑴

字段級有效性規(guī)則 ⑵表的記錄級有效性規(guī)則

1206.2.4數(shù)據(jù)庫表的性能優(yōu)化⒈設置字段的一般屬性1201216.3VFP的工作區(qū)

6.3.1工作區(qū)的表示

工作區(qū)是內存中用于臨時存放數(shù)據(jù)表的區(qū)域。VisualFoxPro系統(tǒng)最多能同時使用32767個工作區(qū),但在每個工作區(qū)中只能打開一個數(shù)據(jù)表。⑴工作區(qū)編號:用數(shù)字。⑵工作區(qū)的系統(tǒng)別名:用英文字母。⑶用戶別名:用戶指定的名字。1216.3VFP的工作區(qū)6.3.1工作區(qū)的表示1211226.3.2工作區(qū)的使用

⒈選擇工作區(qū)系統(tǒng)啟動時,1號工作區(qū)就是當前工作區(qū),若想改變當前工作區(qū),可使用SELECT命令。格式:SELECT<工作區(qū)編號>/<工作區(qū)別名>功能:選擇一個工作區(qū)作為當前工作區(qū)。1226.3.2工作區(qū)的使用⒈選擇工作區(qū)122123⒉

工作區(qū)的使用規(guī)則①在一個工作區(qū)中只能打開一個表文件。②對非當前工作區(qū)中的表文件進行操作時,必須采取引用的方式。即,別名.字段名,或別名->字段名。③對當前表進行的所有操作均不影響其他工作區(qū)中表文件的記錄指針。④一個表文件能在多個工作區(qū)中多次打開。⑤指定工作區(qū)的方法:SELECT<工作區(qū)編號>/<工作區(qū)別名>⑥指定當前可用的最小號工作區(qū):SELECT0 或USE<表文件>IN06.3.3工作區(qū)操作示例123⒉工作區(qū)的使用規(guī)則1231246.4表間的聯(lián)系

6.4.1聯(lián)系類型數(shù)據(jù)表之間的聯(lián)系類型有兩種:一種是臨時性關聯(lián);一種是永久性關聯(lián)。⒈什么是臨時關聯(lián)建立數(shù)據(jù)表之間的臨時性關聯(lián)的主要目的是,讓相關聯(lián)的表之間實現(xiàn)指針聯(lián)動,即,當指針在父表中移動并指向某一記錄時,子表指針會指向與其相關的記錄上。

數(shù)據(jù)表之間的臨時性關聯(lián)特點之一是其臨時性,需要時建立,一旦關閉了表文件,表之間的關聯(lián)也就自動解除。

1246.4表間的聯(lián)系6.4.1聯(lián)系類型1241256.4.2臨時關聯(lián)⒉

創(chuàng)建臨時關聯(lián)⑴利用“數(shù)據(jù)工作期”創(chuàng)建表間的臨時性關聯(lián)。⑵用SETRELATION命令建立臨時關系格式:SETRELATIONTO[<關系表達式1>INTO<工作區(qū)1>/<表別名1>[,<關系表達式2>INTO<工作區(qū)2>/<表別名2>…]][IN<工作區(qū)>/<表別名>][ADDITIVE] 功能:在兩個打開的表之間建立關系。1256.4.2臨時關聯(lián)⒉創(chuàng)建臨時關聯(lián)125126建立一對多臨時關聯(lián)【例6.10】建立“學生.DBF”和“成績.DBF”一對多的臨時關聯(lián)。執(zhí)行下述命令序列。SELECT1USE成績INDEXON學號TOX1 SELECT2USE學生SETRELATIONTO學號INTO成績

BORWSESELECT成績BROWSE

126建立一對多臨時關聯(lián)【例6.10】建立“學生.DBF”和1261276.4.3永久關聯(lián)

什么是永久關聯(lián)建立數(shù)據(jù)表之間永久關聯(lián)的主要目的是,實現(xiàn)數(shù)據(jù)庫中表之間的參照完整性。因此,表之間的永久關聯(lián)主要用于在更新、刪除、插入等操作中,保證數(shù)據(jù)庫數(shù)據(jù)的可靠性和一致性。數(shù)據(jù)表之間永久關聯(lián)的特點之一是其永久性,一旦建立,就被存儲在數(shù)據(jù)庫文件中,要解除永久關聯(lián),需要人工處理。1276.4.3永久關聯(lián)⒈什么是永久關聯(lián)1271286.4.3永久關聯(lián)⒉創(chuàng)建永久關聯(lián)在“數(shù)據(jù)庫設計器”中創(chuàng)建表的永久關聯(lián),是一種最簡便的方法。首先在父表的關聯(lián)字段上建立主索引,在子表的關聯(lián)字段上建立普通索引,然后,在數(shù)據(jù)庫設計器中通過鼠標的拖拉,便可以完成創(chuàng)建工作。

1286.4.3永久關聯(lián)⒉創(chuàng)建永久關聯(lián)1281296.4.3永久關聯(lián)⒊

刪除永久關聯(lián)可以采用下述方法之一。⑴在數(shù)據(jù)庫設計器窗口,右擊表示關聯(lián)的連線,在快捷菜單中選擇“刪除關系”項。⑵在數(shù)據(jù)庫設計器窗口,單擊表示關聯(lián)的連線,然后按DELETE鍵。⑶通過刪除數(shù)據(jù)庫文件來刪除表之間的永久關聯(lián)。

1296.4.3永久關聯(lián)⒊ 刪除永久關聯(lián)1291306.5設置數(shù)據(jù)庫的參照完整性

6.5.1參照完整性規(guī)則

為數(shù)據(jù)庫中多個關聯(lián)的表設置了參照完整性規(guī)則,當插入、更新、刪除記錄時,可以保證數(shù)據(jù)庫表中數(shù)據(jù)的有效性和一致性,防止下列情況的發(fā)生:⑴當父表中沒有關聯(lián)記錄時,將記錄添加到相關子表中,造成子表出現(xiàn)“孤立”記錄。⑵改變父表關鍵字值,而子表未作相應的改變,造成子表中出現(xiàn)“孤立”記錄。⑶刪除父表記錄,而子表未作相應的改變,造成子表中出現(xiàn)“孤立”記錄。1306.5設置數(shù)據(jù)庫的參照完整性6.5.1參照完整性規(guī)1301316.5.2參照完整性的實現(xiàn)步驟如下:①打開“數(shù)據(jù)庫設計器”,選擇建立永久性關聯(lián)的表;②啟動“參照完整性生成器”,選擇“編輯參考完整性”選項;③設置相應的完整性規(guī)則。④單擊“確定”按鈕,出現(xiàn)“參照完整性生成器”確認框。⑤單擊“是”按鈕。1316.5.2參照完整性的實現(xiàn)步驟如下:131132第7章132第7章132133第7章

面向過程的程序設計

知識點:程序設計概述程序的建立、保存、運行與調試程序中常用的命令程序控制的基本結構過程與過程文件綜合程序設計范例133第7章面向過程的程序設計知識點:1331347.1程序設計概述

面向過程程序設計的特點

1347.1程序設計概述面向過程程序設計的特點1341357.1程序設計概述面向對象程序設計的特點1357.1程序設計概述面向對象程序設計的特點1351367.1.3基本要求與算法表示

程序的基本要求“清晰第一,效率第二”。書寫規(guī)范,風格統(tǒng)一。程序的基本結構規(guī)定為:順序結構、選擇結構和循環(huán)結構。一個大的程序開發(fā)應當采用“自頂向下、逐步細化和模塊化”的方法。程序模塊應該只有一個入口、一個出口,無死語句、死循環(huán)。1367.1.3基本要求與算法表示⒈程序的基本要求1361377.1.3基本要求與算法表示⒉

算法表示流程圖中常用的符號1377.1.3基本要求與算法表示⒉算法表示流程圖中常1371387.2程序的建立、保存、運行和調試修改

7.2.1程序文件的建立創(chuàng)建程序有以下三種的方法。⑴通過項目管理器創(chuàng)建在“項目管理器”中,選定“代碼”選項卡中的“程序”項,如圖7-4所示。單擊“新建”按鈕。⑵通過文件菜單創(chuàng)建單擊“文件/新建”項,在新建對話框中選擇“程序”項,再單擊“新建文件”按鈕。⑶命令MODIFYCOMMAND1387.2程序的建立、保存、運行和調試修改7.2.11381397.2.1程序文件的建立⒊

保存程序通過菜單保存“文件/保存”;單擊“工具欄”上的保存按鈕;組合鍵:CTRL+W。1397.2.1程序文件的建立⒊保存程序1391407.2.2程序的修改和運行

⒈程序的修改⑴項目管理器 在項目管理器的代碼選項卡列表中,選擇要修改的程序文件,單擊“修改”按鈕。⑵文件菜單 單擊“文件/打開”項,打開程序并修改。⑶命令MODIFYCOMMAND1407.2.2程序的修改和運行⒈程序的修改1401417.2.2程序的修改和運行⒉

運行程序⑴項目管理器在項目管理器的代碼選項卡中,選擇要運行的程序文件,單擊“運行”按鈕。⑵程序菜單單擊“程序/運行”選項,在程序列表中選擇要運行的程序文件,單擊“運行”按鈕。⑶DO命令1417.2.2程序的修改和運行⒉運行程序1411427.3程序中常用的命令

7.3.1注釋語句⒈

程序注釋語句格式1:NOTE[<注釋文本>]格式2:*[<注釋文本>]功能:對程序的結構或整體功能進行注釋。⒉

語句注釋&&格式:&&[<注釋文本>]功能:對程序中某一條語句進行注釋。1427.3程序中常用的命令7.3.1注釋語句1421437.3.2程序調試語句⒈

中斷語句CANCEL功能:中斷當前程序的執(zhí)行,并返回到系統(tǒng)命令窗口。⒉

掛起語句SUSPEND功能:暫停當前程序的執(zhí)行,并返回到系統(tǒng)命令窗口。通過使用語句RESUME可以使程序繼續(xù)執(zhí)行。⒊

恢復執(zhí)行語句RESUME功能:恢復被SUSPEND掛起的程序,從暫停的位置繼續(xù)執(zhí)行。

1437.3.2程序調試語句⒈中斷語句CANCEL1431447.3.3輸出語句

換行輸出語句:?格式:?[<表達式列表>]功能:分別計算列表中各表達式的值,并將表達式的值輸出到VFP主窗口當前光標的下一行。說明:<表達式列表>中,各表達式以逗號分隔。⒉

同行輸出語句:??格式:??[<表達式列表>]功能:分別計算列表中各表達式的值,并將表達式的值輸出到VFP主窗口當前光標所在行、列的后面。1447.3.3輸出語句⒈換行輸出語句:?1441457.3.4輸入語句

數(shù)據(jù)接收語句INPUT格式:INPUT[<字符表達式>]TO<內存變量>功能:把鍵盤輸入的數(shù)據(jù)賦給由<內存變量>指定的內存變量。說明:在程序中遇到該命令時,暫時中止程序執(zhí)行,等待用戶從鍵盤輸入數(shù)據(jù),并以回車鍵結束輸入,繼續(xù)執(zhí)行該語句之下的命令。從鍵盤輸入的數(shù)據(jù)可以是常量、變量或表達式。數(shù)據(jù)類型可以是除備注型和通用型外的所有類型,數(shù)據(jù)輸入時要按照常量數(shù)據(jù)的正確表達方式。如字符數(shù)據(jù)加定界符,日期數(shù)據(jù)加花括號{}等。[<字符表達式>]:提示用戶正確操作,<字符表達式>作為提示信息顯示在屏幕上。1457.3.4輸入語句⒈數(shù)據(jù)接收語句INPUT1451467.3.4輸入語句⒉

字符串接收語句ACCEPT格式:ACCEPT[<字符表達式>]TO<內存變量>功能:把鍵盤輸入的數(shù)據(jù)賦給由<內存變量>指定的內存變量。⒊

單字符接收語句WAIT格式:WAIT[字符表達式][TO<內存變量>][TIMEOUT<秒數(shù)>][…]功能:接收鍵盤輸入的單個字符常量。1467.3.4輸入語句⒉字符串接收語句ACCEP1461477.3.5環(huán)境設置語句

清屏語句:CLEAR

常用

SET語句系列

⑴SETTALKON/OFF

⑵SETDELETEOFF/ON⑶SETEXACTOFF/ON⑷SETDEFAULTTO⑸SETEXCLUSIVEON/OFF⑹SETESCAPEON/OFF

1477.3.5環(huán)境設置語句⒈清屏語句:CLEAR1471487.4程序的控制結構

VFP采用結構化程序設計方法,有三種基本的程序控制結構:順序結構選擇分支結構(簡稱分支結構)循環(huán)結構。其中,選擇結構和循環(huán)結構需要使用特定的語句來實現(xiàn)。1487.4程序的控制結構VFP采用結構化程序設計方法,1481497.4.1順序結構順序結構是指根據(jù)程序中命令的排列順序從上到下依次執(zhí)行。

【例7.2】求指定班級獎學金總額,并輸出計算結果。⑴分析問題①

打開

“學生”表文件②

由鍵盤輸入指定的班級③

求和④

輸出求和計算結果

關閉表文件1497.4.1順序結構順序結構是指根據(jù)程序中命令的排149150⑵算法流程圖

150⑵算法流程圖

150151⑶寫程序代碼

151⑶寫程序代碼1511527.4.2選擇分支結構

根據(jù)條件的判斷結果確定哪些語句被執(zhí)行,哪些語句被放棄。在VFP中,有二路選擇分支結構和多路選擇分支結構。

二路選擇分支結構 IF…ENDIF多路選擇分支結構 DOCASE…ENDCASE1527.4.2選擇分支結構根據(jù)條件的判斷結果確定哪些152153選擇分支結構的算法框圖

153選擇分支結構的算法框圖153154⒈

二路選擇分支結構格式1:IF<條件表達式>[THEN]<語句系列1>ELSE<語句系列2>ENDIF功能:當<條件表達式>的值為真時,執(zhí)行<語句系列1>;否則執(zhí)行<語句系列2>。然后,繼續(xù)執(zhí)行ENDIF之下的語句。154⒈ 二路選擇分支結構格式1:IF<條件表達式>[154155⒈

二路選擇分支結構格式2:IF<條件表達式>[THEN] <語句系列1> ENDIF功能:當<條件表達式>的值為真時,執(zhí)行<語句系列1>;否則,不進行任何操作,控制轉到ENDIF之下,去執(zhí)行ENDIF之下的語句。155⒈ 二路選擇分支結構格式2:IF<條件表達式>[155156選擇分支結構的例子【例7.3】從鍵盤輸入一個數(shù),說明它是奇數(shù)還是偶數(shù)?!纠?.5】求解一元二次方程。一元二次標準方程式為:AX2+BX+C=0。【例7.6】求指定學生的平均成績,如果指定學生不存在,給出提示信息:“無此學生”。

156選擇分支結構的例子【例7.3】從鍵盤輸入一個數(shù),說明它156157⒉

多路選擇分支結構

格式:DOCASECASE<條件表達式1><語句系列1>[CASE<條件表達式2><語句系列2>

…CASE<條件表達式n><語句系列n>][OTHERWISE<語句系列n+1>] ENDCASE157⒉ 多路選擇分支結構

格式:DOCASE157158⒉

多路選擇分支結構功能:依次判斷<條件表達式I>(I=1,2,3,……,n),當值為真時執(zhí)行對應的<語句系列I>;當所有<條件表達式>的值均為假時,則執(zhí)行OTHERWISE下面的<語句系列N+1>,如果沒有OTHERWISE項,也不會有出錯信息,程序會自動執(zhí)行ENDCASE下面的語句?!纠?.7】統(tǒng)計計算指定學生的平均成績,并根據(jù)該成績輸出對應的評價等級。158⒉ 多路選擇分支結構功能:依次判斷<條件表達式I>(1581597.4.3循環(huán)結構

循環(huán)結構是指根據(jù)問題的需要任意次地重復執(zhí)行一行或多行語句。在VFP中有三種循環(huán)語句:DOWHILE…ENDDOSCAN…ENDSCANFOR…ENDFOR1597.4.3循環(huán)結構循環(huán)結構是指根據(jù)問題的需要任意1591607.4.3循環(huán)結構⒈DOWHILE…ENDDO格式:

DOWHILE<條件表達式><語句序列> [<EXIT>][<LOOP>]ENDDO功能:

當<條件表達式>的值為真時,重復執(zhí)行<語句序列>,直到<條件表達式>的值為假時結束。1607.4.3循環(huán)結構⒈DOWHILE…ENDDO160161⒈DOWHILE…ENDDO任選項說明EXIT--結束當前循環(huán)操作,跳到ENDDO后面的語句。LOOP--跳過LOOP后面的語句,直接回到循環(huán)起始語句DOWHILE。注:在語句序列中,還可以出現(xiàn)IF語句或CASE語句或WHILE語句--WHILE語句的嵌套。161⒈DOWHILE…ENDDO任選項說明161162⒈DOWHILE…ENDDO①

循環(huán)次數(shù)已知的情況格式:J=初值DOWHILEJ<=M <語句序列> J=J+1ENDDO功能:已知循環(huán)次數(shù)為M、循環(huán)變量J遞增計數(shù)。當J<=M的值為真時,重復執(zhí)行DOWHILE…ENDDO之間的語句,直到J<=M的值為假(即J>M)

溫馨提示

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

評論

0/150

提交評論