版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1-7章1.第1-7章1.學習VisualFoxPro的兩個重要部分:
1.命令的使用
2.集成開發(fā)環(huán)境的操作2.2.第1章3.第1章3.知識點:
VisualFoxPro及其發(fā)展簡史
數(shù)據(jù)管理技術(shù)
數(shù)據(jù)庫系統(tǒng)的組成
數(shù)據(jù)模型
關(guān)系的基本運算
VisualFoxPro6.0的數(shù)據(jù)組織結(jié)構(gòu)第1章VFP與數(shù)據(jù)庫基本概念
4.知識點:第1章VFP與數(shù)據(jù)庫基本概念4.1.1VisualFoxPro概述VisualFoxPro的發(fā)展經(jīng)歷了dBASE、FoxBASE、FoxPro和VisualFoxPro等4個主要發(fā)展階段
dBASEII1982FoxBASE1984FoxPro1989VisualFoxPro3.01995VisualFoxPro6.019985.1.1VisualFoxPro概述VisualFo1.2數(shù)據(jù)管理技術(shù)
人工管理文件系統(tǒng)數(shù)據(jù)庫管理1.2.1數(shù)據(jù)管理技術(shù)的發(fā)展6.1.2數(shù)據(jù)管理技術(shù)人工管理1.2.2數(shù)據(jù)庫系統(tǒng)的組成⒈數(shù)據(jù)庫⒉數(shù)據(jù)庫管理系統(tǒng)⒊計算機系統(tǒng)⒋用戶7.1.2.2數(shù)據(jù)庫系統(tǒng)的組成7.1.2.2數(shù)據(jù)庫系統(tǒng)的組成⒈
數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。這些數(shù)據(jù)以一定的結(jié)構(gòu)存放在磁盤中。其基本特點是:數(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)的核心。它能夠為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的建立、更新、查詢、統(tǒng)計、顯示、打印及各種數(shù)據(jù)控制。
8.1.2.2數(shù)據(jù)庫系統(tǒng)的組成⒈數(shù)據(jù)庫8.1.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ù)操作語言和高級語言編制應(yīng)用程序的程序員。③使用數(shù)據(jù)庫中數(shù)據(jù)的人員。9.1.2.2數(shù)據(jù)庫系統(tǒng)的組成⒊計算機系統(tǒng)9.1.3數(shù)據(jù)模型1.3.1層次模型10.1.3數(shù)據(jù)模型1.3.1層次模型10.1.3數(shù)據(jù)模型1.3.2網(wǎng)狀模型11.1.3數(shù)據(jù)模型1.3.2網(wǎng)狀模型11.1.3數(shù)據(jù)模型1.3.3關(guān)系模型12.1.3數(shù)據(jù)模型1.3.3關(guān)系模型12.1.3.3關(guān)系模型1.關(guān)系術(shù)語關(guān)系:二維表,VisualFoxPro的一個表文件。元組:表中一行,記錄。屬性:表中的一列,字段。分量:元組中一個屬性值。域:表中屬性的取值范圍。關(guān)鍵字,關(guān)鍵字段、碼:表中具有惟一標識的屬性。關(guān)系模式:對關(guān)系的描述,表的結(jié)構(gòu)。13.1.3.3關(guān)系模型1.關(guān)系術(shù)語13.1.4關(guān)系的基本運算
選擇:從關(guān)系中找出滿足條件的記錄。(行)投影:從關(guān)系中選擇若干屬性組成新的關(guān)系。(列)連接:將兩個關(guān)系通過公共屬性名連接成一個新的關(guān)系。14.1.4關(guān)系的基本運算選擇:從關(guān)系中找出滿足條件的記錄。1.5VFP的數(shù)據(jù)組織結(jié)構(gòu)
從數(shù)據(jù)管理角度看,VFP數(shù)據(jù)組織的層次由大到小依次是:數(shù)據(jù)庫、表、記錄和字段。1.字段2.記錄3.表4.數(shù)據(jù)庫15.1.5VFP的數(shù)據(jù)組織結(jié)構(gòu)從數(shù)據(jù)管理角度看,VFP數(shù)據(jù)第2章16.第2章16.第2章初識VisualFoxPro6.0
知識點:
VisualFoxPro6.0用戶界面
菜單系統(tǒng)
命令窗口
VisualFoxPro6.0的設(shè)計工具
VFP的系統(tǒng)功能17.第2章初識VisualFoxPro6.0知識點:172.1VisualFoxPro啟動與退出
啟動方法:⑴在桌面上雙擊“VisualFoxPro6.0”圖標。⑵在Windows的“開始”菜單的程序列表中選擇VisualFoxPro6.0項。⑶通過Windows的“資源管理器”或“我的電腦”,找到VisualFoxPro6.0程序并啟動。18.2.1VisualFoxPro啟動與退出啟動方法:12.1VisualFoxPro啟動與退出退出VFP,可以使用下述方法之一:⑴在命令窗口輸入“QUIT”并按回車鍵。⑵在“文件”菜單中選擇“退出”項。⑶直接按組合鍵Alt+F4。⑷用鼠標單擊VFP主界面標題欄最右邊的關(guān)閉窗口按鈕。19.2.1VisualFoxPro啟動與退出退出VFP,可以2.2VisualFoxPro用戶界面2.2.1窗口
⒈
命令窗口命令窗口是一個標題為“命令”(Command)的小窗口。它的主要作用是輸入并顯示VFP命令,實現(xiàn)與用戶的單步交互操作。⒉
程序主窗口即啟動VFP后屏幕上出現(xiàn)的VFP主界面。程序主窗口由標題欄、菜單欄、工具欄、工作區(qū)和狀態(tài)欄組成。主要用于顯示VFP的處理結(jié)果,其中狀態(tài)欄用于顯示當前的操作狀態(tài)。20.2.2VisualFoxPro用戶界面2.2.1窗口2.2VisualFoxPro用戶界面⒊
全屏幕編輯窗口全屏幕編輯窗口是一種能夠?qū)崿F(xiàn)數(shù)據(jù)或過程代碼編輯操作的環(huán)境,一般又分為表數(shù)據(jù)編輯窗口、表結(jié)構(gòu)編輯窗口和過程編輯窗口。⒋
對話框?qū)υ捒蚴且活愄厥獯翱冢瑑H當所執(zhí)行的菜單項后帶“…”符號時才會出現(xiàn)。借助于對話框,用戶可以選擇所需要的數(shù)據(jù)或操作,而VFP則利用對話框引導(dǎo)用戶正確地操作,或者向用戶提供警告、提示信息等。21.2.2VisualFoxPro用戶界面⒊全屏幕編輯窗2.2VisualFoxPro用戶界面2.2.2菜單菜單是一種用選項來組織命令的重要工具。VFP使用的菜單有:下拉式菜單和快捷菜單。2.2.3工具欄工具欄是一種用圖標的方式組織命令的工具。VisualFoxPro包含的工具欄有11種:常用、報表控件、報表設(shè)計器、表單控件、表單設(shè)計器、布局、查詢設(shè)計器、調(diào)色板、打印預(yù)覽、視圖設(shè)計器和數(shù)據(jù)庫設(shè)計器。默認情況只有“常用”工具欄可見。22.2.2VisualFoxPro用戶界面2.2.2菜單
2.3輔助設(shè)計工具2.3.1設(shè)計器設(shè)計器是輔助用戶創(chuàng)建文件的工具。例如輔助用戶創(chuàng)建表、數(shù)據(jù)庫、表單、查詢、報表等文件來管理數(shù)據(jù)。設(shè)計器主要包括表設(shè)計器、數(shù)據(jù)庫設(shè)計器、菜單設(shè)計器、表單設(shè)計器、查詢設(shè)計器、視圖設(shè)計器等。2.3.2生成器生成器是VisualFoxPro6.0提供的一種可視化輔助工具。它用于簡化、修改表單及其他復(fù)雜控件的過程。每個生成器都有一系列選項卡組成,允許用戶訪問并設(shè)置所選對象的屬性。23.2.3輔助設(shè)計工具2.3.1設(shè)計器23.2.3輔助設(shè)計工具2.3.3向?qū)驅(qū)菐椭脩粞杆偻瓿芍T如建立表單和建立查詢等常用任務(wù)的交互式工具,它根據(jù)已有的一些實例,通過一系列的向?qū)Т翱诤腿藱C對話,完成一個任務(wù)。2.3.4項目管理器項目管理器是VisualFoxPro6.0提供的一個重要工具,它使用簡潔的可視化的方法對自由表、文件、數(shù)據(jù)庫、報表和查詢等進行組織和管理,是應(yīng)用程序的控制中心。當開發(fā)一個應(yīng)用系統(tǒng)時,可用項目管理器來跟蹤所有相關(guān)文件。24.2.3輔助設(shè)計工具2.3.3向?qū)?4.2.4VFP的系統(tǒng)功能
2.4.1VFP的工作方式⒈界面操作工作方式⒉命令操作⒊程序操作25.2.4VFP的系統(tǒng)功能2.4.1VFP的工作方式252.4VFP的系統(tǒng)功能
2.4.2VFP菜單的約定及其使用⒈VFP主菜單啟動VFP6.0后,窗口標題欄的下部就是菜單欄,如圖2-3所示。在菜單欄上顯示的是VFP主菜單的默認項,名稱有:文件、編輯、顯示、格式、工具、程序、窗口和幫助。每個菜單名都對應(yīng)自己的一組下拉式菜單。26.2.4VFP的系統(tǒng)功能2.4.2VFP菜單的約定及2.4.2VFP菜單的約定及其使用⒉菜單的約定①子菜單項后帶“…”符號:執(zhí)行這樣的菜單,會彈出一個對話框。②子菜單項的顏色為灰色:當菜單項呈灰色時,表示當前狀態(tài)下不可以使用。③子菜單項后帶黑三角“”符號:表示它有下級子菜單,當鼠標指向該菜單項時,自動出現(xiàn)下級子菜單。④子菜單項前有鉤“√”:是選擇標記。當菜單欄前有該符號時,表示該命令有效。若再選擇該命令,則刪除該標記,表示該命令不再有效。27.2.4.2VFP菜單的約定及其使用⒉菜單的約定22.4.3命令的一般格式1、命令格式VFP可以執(zhí)行的命令由“命令動詞
+命令子句”組成,常用形式:命令動詞[<范圍>][FOR<條件>][WHILE<條件>][FIELDS<字段列表>][OFF]……2、命令使用注意事項28.2.4.3命令的一般格式1、命令格式28.2.5用VFP組織數(shù)據(jù)的例子
2.5.1設(shè)置默認目錄⒈利用“工具/選項”菜單⒉用SET命令 例如,SETDEFAULTTOD:\JIANG
29.2.5用VFP組織數(shù)據(jù)的例子2.5.1設(shè)置默認目錄2.5.2創(chuàng)建表文件的例子1、設(shè)計表結(jié)構(gòu)30.2.5.2創(chuàng)建表文件的例子1、設(shè)計表結(jié)構(gòu)30.2.5用VFP組織數(shù)據(jù)的例子2.5.2創(chuàng)建表文件的例子
2、建立表結(jié)構(gòu)
3、填寫數(shù)據(jù)2.5.3表文件的保存/關(guān)閉、打開與查看
“文件/保存”
“文件/關(guān)閉”
“文件/打開”
“顯示/瀏覽”31.2.5用VFP組織數(shù)據(jù)的例子2.5.2創(chuàng)建表文件的例子3第3章32.第3章32.第3章VisualFoxPro6.0應(yīng)用基礎(chǔ)
知識點:
數(shù)據(jù)類型
常量與變量
運算符與表達式
常用函數(shù)
VFP常用文件33.第3章VisualFoxPro6.0應(yīng)用基礎(chǔ)知識點:3.1數(shù)據(jù)類型
VFP6.0提供了14種數(shù)據(jù)類型,分別是:數(shù)值型、字符型、邏輯型、日期型、通用型、備注型、貨幣型、日期時間型、整型、雙精度型、浮點型、二進制字符型、二進制備注型、對象型。34.3.1數(shù)據(jù)類型VFP6.0提供了14種數(shù)據(jù)類型3.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è)置日期格式。日期時間型數(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):存放較多內(nèi)容的文本信息(.FPT),長度4個字節(jié)。二進制字符型數(shù)據(jù)(C):與字符型數(shù)據(jù)類似,以二進制存儲。二進制備注型數(shù)據(jù)(M):與備注型數(shù)據(jù)類似,以二進制存儲。對象型數(shù)據(jù)(O):Windows應(yīng)用程序中生成的對象。如VFP的主窗口對象為_SCREEN。35.3.1數(shù)據(jù)類型數(shù)值型數(shù)據(jù)(N):由數(shù)字0~9、一個符號(+3.2常量與變量3.2.1常量常量是以直觀的數(shù)據(jù)形態(tài)和意義直接出現(xiàn)的數(shù)據(jù),在程序執(zhí)行過程中常量的值是固定不變的。3.2.2變量在程序執(zhí)行過程中可以變化的數(shù)據(jù)項,稱為變量。36.3.2常量與變量3.2.1常量36.3.2.1常量⑴數(shù)值型常量數(shù)值型常量可以是整數(shù)和實數(shù),用于表示一個數(shù)量的大小。例如3.14,1.23E+5。數(shù)值型常量的長度包括整數(shù)位數(shù)、小數(shù)位數(shù)和小數(shù)點。37.3.2.1常量⑴數(shù)值型常量37.3.2.1常量⑵字符型常量字符型常量是用定界符界定的一串字符,又稱為字符串??捎玫亩ń绶腥龑?,即單引號‘’、雙引號“”、方括號[]等。例如,’123’、
[計算機]、”A”都是書寫正確的字符型常量。38.3.2.1常量⑵字符型常量38.3.2.1常量⑶邏輯型常量邏輯型常量屬于邏輯型數(shù)據(jù),只有兩個值:邏輯真和邏輯假。邏輯真常量用.T.、.t.、.Y.、.y.表示;邏輯假常量用.F.、.f.、.N.、.n.表示。如果書寫時少了字符左右的兩點,就會被計算機當作變量。39.3.2.1常量⑶邏輯型常量39.3.2.1常量⑷日期型常量日期型常量必須用一對花括號將數(shù)據(jù)括起來,
例如,{11/05/1972}和{^1972-05-11},均表示“1972年5月11日”這一日期數(shù)據(jù)。也可以用CTOD(”11/05/72”)來表示,意思是把字符型常量”11/05/72”轉(zhuǎn)換成日期型常量??瞻椎娜掌谛统A坑脅}表示。40.3.2.1常量⑷日期型常量40.3.2.1常量⑸日期時間型常量日期時間型常量與日期型常量類似,也必須用一對花括號將數(shù)據(jù)括起來,只是在日期數(shù)據(jù)后面加上“時:分:秒”即可。例如,{08/29/198705:26:30}表示1987年8月29日5時26分30秒。⑹貨幣型常量貨幣型常量用來表示貨幣值,使用時,在數(shù)值前加上貨幣符號。
41.3.2.1常量⑸日期時間型常量41.3.2.2變量
⒈
變量分類42.3.2.2變量⒈變量分類42.3.2.2變量⒉
變量的命名規(guī)則變量名是用來標識變量的符號,最多10個字符,可以由字母,數(shù)字和嵌在中間的下劃線組成。43.3.2.2變量⒉變量的命名規(guī)則43.3.2.2變量⒊
內(nèi)存變量定義與操作⑴
賦值命令①命令“=”格式
:<內(nèi)存變量名>=<表達式>功能:計算賦值號右邊表達式的值(一個數(shù)據(jù)),然后將這個值賦給左邊的內(nèi)存變量。它具有計算和賦值的雙重功能。44.3.2.2變量⒊內(nèi)存變量定義與操作44.3.2.2變量②命令“STORE”格式:STORE<表達式>TO<內(nèi)存變量名表>功能:計算<表達式>的值,然后將結(jié)果分別賦給變量表中的所有變量。所謂<內(nèi)存變量名表>表示有多個變量,變量與變量之間用逗號“,”分隔。注意,“,”為英文標點。45.3.2.2變量②命令“STORE”45.3.2.2變量⑵內(nèi)存變量的顯示格式:DISPLAY/LISTMEMORY[LIKE<通配符>][TOPRINTER[PROMPT]/TOFILE<文件名>]功能:顯示當前內(nèi)存變量的定義。⑶內(nèi)存變量的清除
RELEASE格式1:RELEASE<內(nèi)存變量名表>格式2:RELEASEALL[LIKE/EXCEPT<通配符>]功能:從內(nèi)存中清除指定的變量。46.3.2.2變量⑵內(nèi)存變量的顯示46.3.2.2變量⑷保存與恢復(fù)①內(nèi)存變量的保存格式:SAVETO<內(nèi)存變量文件名>[ALL[[LIKE/EXCEPT<通配符>]]]功能:將所指定的內(nèi)存變量存入內(nèi)存變量文件中。
②內(nèi)存變量的恢復(fù)格式:RESTOREFROM<內(nèi)存變量文件名>[ADDITIVE]功能:將內(nèi)存變量文件中的所有內(nèi)存變量恢復(fù)到內(nèi)存中去。47.3.2.2變量⑷保存與恢復(fù)47.3.2.2變量⒋數(shù)組數(shù)組在使用之前必須用命令來聲明,包括數(shù)組名和數(shù)組的大小。⑴
數(shù)組的聲明格式:DIMENSION/DECLARE<數(shù)組名1>(<下標1>[,<下標2>])[,<數(shù)組名2>(<下標1>[,<下標2>])][,…]
功能:用于定義一個或多個數(shù)組。48.3.2.2變量⒋數(shù)組48.⒋數(shù)組幾點說明:①數(shù)組名后面的括號,既可以用圓括號也可以用方括號。②定義數(shù)組后,系統(tǒng)自動將每個數(shù)組元素定義為邏輯型,初值為邏輯假.F.。③數(shù)組中的元素位置是有序而固定的。④給數(shù)組變量賦值時,如果未指明下標(即未指明第幾個元素),則對該數(shù)組中所有元素賦同一個值。⑤數(shù)組定義后,數(shù)組元素可以重新定義,定義方法與內(nèi)存變量相同。數(shù)組中各個元素的數(shù)據(jù)類型可以不同。⑥在引用數(shù)組時,如果未指明下標,則引用該數(shù)組的第一個元素。⑦內(nèi)存變量和數(shù)組不能重名。⑧使用數(shù)組時,下標不能超界。49.⒋數(shù)組幾點說明:49.3.2.2變量5.系統(tǒng)內(nèi)存變量
(1)默認屬性是public屬性(2)保持固有信息,通過一個前導(dǎo)下劃線識別(3)類型固定(數(shù)值型,字符型,邏輯型,日期型,對象型)50.3.2.2變量5.系統(tǒng)內(nèi)存變量50.3.3運算符與表達式表達式可以一個常量、變量、函數(shù),或者由這些元素由運算符連接起來的有意義的式子。運算符是描述各種不同運算的符號,有四種類型:算術(shù)運算符、字符運算符、關(guān)系運算符和邏輯運算符。用在兩個數(shù)據(jù)之間的運算符稱為二目運算符,用在單個數(shù)據(jù)上的運算符稱為單目運算符。51.3.3運算符與表達式表達式可以一個常量、變量、函數(shù),或者
3.3運算符與表達式數(shù)值型表達式(+,-,*,/,**,%,())字符型表達式(+,-)日期型表達式
(1)兩個日期型數(shù)據(jù)可以相減,結(jié)果為數(shù)值型
(2)日期型數(shù)據(jù)可加上一個整數(shù),結(jié)果為日期型
(3)日期型數(shù)據(jù)可減去一個整數(shù),結(jié)果為日期型關(guān)系型表達式(<,<=,>,>=,$,==,=)邏輯型表達式(NOT,AND,OR)計算表達式命令(=)52.3.3運算符與表達式數(shù)值型表達式(+,-,*,3.4標準函數(shù)
基本形式函數(shù)名([<操作數(shù)表達式>])數(shù)值函數(shù)字符型函數(shù)測試函數(shù)日期時間函數(shù)數(shù)據(jù)庫和表函數(shù)數(shù)組函數(shù)其他函數(shù)53.3.4標準函數(shù)基本形式53.3.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()54.3.4.1一般函數(shù)1、數(shù)值函數(shù)54.3.4.1一般函數(shù)1、數(shù)值函數(shù)
(6)四舍五入函數(shù)ROUND()(7)最大值函數(shù)MAX()(8)最小值函數(shù)MIN()(9)π函數(shù)PI() ⑽正弦函數(shù)SIN()55.3.4.1一般函數(shù)1、數(shù)值函數(shù)55.⒉
字符函數(shù)
⑴字符重復(fù)函數(shù)REPLICATE()
⑵查找子串函數(shù)AT()
⑶截取子串函數(shù)SUBSTR()⑷左子串函數(shù)LEFT()⑸右子串函數(shù)RIGHT()⑹字符串修改函數(shù)STUFF()56.⒉字符函數(shù)⑴字符重復(fù)函數(shù)REPLICATE()56
⒉
字符函數(shù)⑺刪除空格函數(shù)①刪除左空格函數(shù)LTRIM()②刪除右空格函數(shù)RTRIM()③刪除前后空格函數(shù)ALLTRIM()
⑻空格函數(shù)SPACE()
57.⒉字符函數(shù)⑺刪除空格函數(shù)57.⒉
字符函數(shù)
⑼宏替換函數(shù)&
⑽表達式計算函數(shù)EVALUATE()⑾
名表達式
()58.⒉字符函數(shù)⑼宏替換函數(shù)&58.日期時間函數(shù)系統(tǒng)時間函數(shù)time()日期函數(shù)date()日期時間函數(shù)datetime()年份、月份、日期和星期函數(shù)
year/month/day/dow/cdow時、分、秒函數(shù)
Hour/Minute/sec59.日期時間函數(shù)系統(tǒng)時間函數(shù)time()59.⒊日期時間函數(shù)⑴系統(tǒng)時間函數(shù)TIME()⑵系統(tǒng)日期函數(shù)DATE()⑶年份函數(shù)YEAR()
⑷月份函數(shù)MONTH()⑸星期函數(shù)DOW()/CDOW()⑹日期函數(shù)DAY()
60.⒊日期時間函數(shù)⑴系統(tǒng)時間函數(shù)TIME()60.⒋
轉(zhuǎn)換函數(shù)
⑴字母小寫轉(zhuǎn)大寫函數(shù)UPPER()⑵字母大寫轉(zhuǎn)小寫函數(shù)LOWER()⑶字符轉(zhuǎn)日期函數(shù)CTOD()⑷日期轉(zhuǎn)字符函數(shù)DTOC()⑸數(shù)值型轉(zhuǎn)換成字符型函數(shù)STR()⑹字符型轉(zhuǎn)換成數(shù)值型函數(shù)VAL()⑺字符轉(zhuǎn)換成ASCII碼函數(shù)ASC()⑻ASCII碼轉(zhuǎn)換成字符函數(shù)CHR()
61.⒋轉(zhuǎn)換函數(shù)⑴字母小寫轉(zhuǎn)大寫函數(shù)UPPER()61.⒌
測試函數(shù)
⑴字符串長度函數(shù)LEN()⑵數(shù)據(jù)類型測試函數(shù)TYPE()⑶條件函數(shù)IIF()⑷文件測試函數(shù)FILE()⑸自定義對話框函數(shù)MESSAGEBOX()
62.⒌測試函數(shù)⑴字符串長度函數(shù)LEN()62.3.4.2數(shù)據(jù)庫函數(shù)⑴字段數(shù)函數(shù)FCOUNT()⑵字段名函數(shù)FIELDS()⑶表頭測試函數(shù)BOF()⑷表尾測試函數(shù)EOF()⑸記錄號測試函數(shù)RECNO()⑹記錄數(shù)測試函數(shù)RECCOUNT()⑺表文件名函數(shù)DBF()⑻查詢結(jié)果測試函數(shù)FOUND()
63.3.4.2數(shù)據(jù)庫函數(shù)⑴字段數(shù)函數(shù)FCOUNT()63.3.5VisualFoxPro6.0常用文件類型3.5.1數(shù)據(jù)文件⒈表文件⒉
數(shù)據(jù)庫文件⒊
索引文件⒋
查詢文件64.3.5VisualFoxPro6.0常用文件類型3.53.5.2文檔文件⒈
表單文件⒉
報表文件⒊
菜單文件⒋
項目文件3.5.3程序文件⒈
源程序文件⒉
編譯后的程序文件⒊
應(yīng)用程序文件
65.3.5.2文檔文件65.第4章66.第4章66.第4章
自由表的建立與操作
知識點:表的設(shè)計與實現(xiàn)表結(jié)構(gòu)的修改表數(shù)據(jù)的編輯表數(shù)據(jù)的瀏覽與輸出記錄定位表內(nèi)容的統(tǒng)計計算VFP的文件管理67.第4章自由表的建立與操作知識點:67.第4章
自由表的建立與操作4.1.1設(shè)計表結(jié)構(gòu)⒈VFP系統(tǒng)對表文件的規(guī)定⒉注意事項⒊學生管理中的表結(jié)構(gòu)設(shè)計68.第4章自由表的建立與操作4.1.1設(shè)計表結(jié)構(gòu)68.第4章
自由表的建立與操作4.1.2建立表結(jié)構(gòu)⒈菜單方式
“文件/新建”⒉
命令方式格式:CREATE[<表文件名>/?]功能:在當前目錄(文件夾)中建立一個新表文件。69.第4章自由表的建立與操作4.1.2建立表結(jié)構(gòu)69.4.2表結(jié)構(gòu)的查看與修改4.2.1顯示表結(jié)構(gòu)格式:DISPLAY/LISTSTRUCTURE[IN<工作區(qū)號>/<別名>][……]功能:顯示當前表或指定工作區(qū)已打開表的結(jié)構(gòu)。4.2.2修改表結(jié)構(gòu)⒈
菜單方式⒉命令方式格式:MODIFYSTRUCTURE功能:用表設(shè)計器修改當前表結(jié)構(gòu)。70.4.2表結(jié)構(gòu)的查看與修改4.2.1顯示表結(jié)構(gòu)70.4.2.3復(fù)制表結(jié)構(gòu)格式:COPYSTURCTURETO<文件名>[FIELDS<字段名表>]功能:將當前表文件的結(jié)構(gòu)復(fù)制到指定的新的文件中。例如,由當前表文件”學生DBF”創(chuàng)建XS.dbf,結(jié)構(gòu)與學生完全相同。在命令窗口輸入下述命令序列:
USE學生COPYSTRUCTURETOXS71.4.2.3復(fù)制表結(jié)構(gòu)格式:COPYSTURCTURET4.3表數(shù)據(jù)的輸入與輸出
4.3.1表文件的打開與關(guān)閉
1、表文件的打開⑴菜單方式單擊菜單欄上的“文件/打開”;或單擊常用工具欄上
按鈕。⑵命令方式格式:USE<表文件名>功能:在當前工作區(qū)打開指定的表文件。72.4.3表數(shù)據(jù)的輸入與輸出4.3.1表文件的打開與關(guān)閉74.3.1表文件的打開與關(guān)閉
2、關(guān)閉表文件⑴菜單方式單擊菜單欄上的“窗口/數(shù)據(jù)工作期”,彈出“數(shù)據(jù)工作期”對話框73.4.3.1表文件的打開與關(guān)閉2、關(guān)閉表文件73.關(guān)閉表文件⑵命令方式,可根據(jù)情況選擇使用下述方法之一。①執(zhí)行命令USE。立即關(guān)閉當前工作區(qū)中打開的表。②執(zhí)行命令CLOSETABLES。關(guān)閉所有工作區(qū)中打開的自由表。③執(zhí)行命令CLEARALL。清除所有內(nèi)存變量,同時關(guān)閉所有工作區(qū)中打開的表。④執(zhí)行命令CLOSEALL。關(guān)閉所有已打開的文件,包括表文件。⑤在同一工作區(qū)打開另一個表時,原來在該工作區(qū)中打開的表自動關(guān)閉。74.關(guān)閉表文件⑵命令方式,可根據(jù)情況選擇使用下述方法之一。74.4.3.2輸入數(shù)據(jù)
⒈菜單方式⑴在菜單欄上選擇“表/追加新記錄”項。⑵在菜單欄上選擇“顯示/瀏覽”+“顯示/追加方式”項。⑶在菜單欄上選擇“表/追加記錄”項。75.4.3.2輸入數(shù)據(jù)⒈菜單方式75.4.3.2輸入數(shù)據(jù)⒉命令方式⑴APPEND格式:APPEND[BLANK][IN<工作區(qū)號>/<別名>]功能:在數(shù)據(jù)表的表尾添加一條或多條新記錄。等價于菜單方式的“顯示/瀏覽+顯示/追加方式”。⑵APPENDFROM格式:APPENDFROM<源表文件名>[……]功能:從一個指定文件中讀入記錄,添加到當前表文件的尾部。76.4.3.2輸入數(shù)據(jù)⒉命令方式76.4.3.3輸出數(shù)據(jù)
格式:DISPLAY/LIST[<范圍>][FOR<條件表達式>][WHILE<條件表達式>][FIELDS<字段名表>][OFF][TOPRINTER[PROMPT]/TOFILE<文件名>]功能:顯示當前表中指定數(shù)據(jù)。77.4.3.3輸出數(shù)據(jù)格式:DISPLAY/LIST[<范圍4.4表內(nèi)容的修改
4.4.1記錄的定位⒈GO命令格式1:GOn功能:將指針定位在當前表中記錄號為n的記錄上。格式2:GOTOP功能:將指針定位在首記錄上。格式3:GOBOTTOM功能:將指針定位在末記錄上。78.4.4表內(nèi)容的修改4.4.1記錄的定位78.4.4.1記錄的定位
⒉SKIP命令 格式1:SKIP
功能:將指針從當前記錄開始下移一條記錄。 格式2:SKIPn
功能:將指針從當前記錄開始,下移n條記錄。 格式3:SKIP–n
功能:將指針從當前記錄開始,上移n條記錄。79.4.4.1記錄的定位⒉SKIP命令79.4.4.2插入記錄
格式:INSERT[BEFORE][BLANK]功能:在當前表當前記錄前面或后面插入一條新記錄,并進入編輯狀態(tài)。80.4.4.2插入記錄格式:INSERT[BEFORE][4.4.3記錄的瀏覽與編輯⒈BROWSE格式:BROWSE[FOR<條件>][FIELDS<字段名表>][LAST][TITLE<標題文本>][……]功能:打開當前表的瀏覽窗口,可實現(xiàn)記錄的顯示、修改、刪除和追加等操作。例1:各種類型數(shù)據(jù)的編輯。例2: M型、G型數(shù)據(jù)的輸入與編輯。81.4.4.3記錄的瀏覽與編輯⒈BROWSE81.4.4.4修改指定字段的數(shù)據(jù)
格式:REPLACE<字段名>WITH<表達式1>[ADDITIVE][,<字段名2>WITH<表達式2>[ADDITIVE]……][<范圍>][FOR/WHILE<條件>][IN<工作區(qū)號>/<別名>][…]功能:用表達式的值成批修改多個指定字段的值。例如,給第一條記錄增加5元獎學金。執(zhí)行以下命令序列:USE學生REPL獎學金WITH獎學金+5 82.4.4.4修改指定字段的數(shù)據(jù)格式:REPLACE<字4.5記錄刪除
4.5.1邏輯刪除⒈菜單方式在BROWSE窗口實現(xiàn)操作。⒉命令方式格式:DELETE[<范圍>][FOR<條件>][WHILE<條件>][IN<工作區(qū)號>/<別名>]功能:邏輯刪除指定的記錄,即給要刪除的記錄打上刪除標記。83.4.5記錄刪除4.5.1邏輯刪除83.4.5記錄刪除4.5.2設(shè)置邏輯刪除的有效性格式:SETDELETEON/OFF功能:指定標有刪除標記的記錄是否參與其他命令的處理。84.4.5記錄刪除4.5.2設(shè)置邏輯刪除的有效性84.4.5記錄刪除4.5.3取消刪除⒈菜單方式⒉命令方式格式:RECALL[<范圍>][FOR<條件>][WHILE<條件>]功能:將指定記錄的邏輯刪除標記清除,即讓有刪除標記的記錄恢復(fù)正常。85.4.5記錄刪除4.5.3取消刪除85.4.5記錄刪除4.5.4物理刪除
⒈菜單方式
“表/徹底刪除”⒉命令方式⑴PACK永久刪除當前表中邏輯刪除的記錄。⑵ZAP永久刪除當前表中全部記錄。86.4.5記錄刪除4.5.4物理刪除86.4.6表內(nèi)容的統(tǒng)計計算
4.6.1數(shù)值字段求和命令SUM4.6.2數(shù)值數(shù)據(jù)求平均值A(chǔ)VERAGE4.6.3計數(shù)命令COUNT4.6.4分類求和命令TOTAL87.4.6表內(nèi)容的統(tǒng)計計算4.6.1數(shù)值字段求和命令SUM4.7文件管理
4.7.1表文件的備份COPYTO4.7.2列文件目錄DIR
4.7.3修改文件名RENAME4.7.4刪除文件ERASE/DELETEFILE
88.4.7文件管理4.7.1表文件的備份COPYTO8第5章89.第5章89.第5章排序、索引與查找
知識點:什么是排序建立排序文件索引建立索引文件索引查找一般查找90.第5章排序、索引與查找知識點:90.5.1排序
排序是指將當前表按照指定的排序字段(又稱關(guān)鍵字)重新排列記錄順序,并將排序結(jié)果存儲在一個新的表文件中。命令格式:SORTTO<表文件名>ON<字段名1>[/A/D][/C][,<字段名2>[/A/D][/C]…][<范圍>][FOR<條件>][WHILE<條件>][FIELDS<字段名表>/……]功能:對當前表進行排序,并將排過序的記錄輸出到新表中。91.5.1排序排序是指將當前表按照指定的排序字段(又稱關(guān)5.1排序表記錄排序的例子。⑴
按獎學金升序建立排序文件JXJPX.DBF。在命令窗口執(zhí)行下述命令:USE學生SORTTOJXJPXON獎學金USEJXJPX92.5.1排序表記錄排序的例子。92.表記錄排序的例子93.表記錄排序的例子93.5.2索引
索引只是按照指定字段為當前表建立一個索引表,以索引文件的形式存儲在磁盤上。索引表中的順序是按照字段值的大小排列的。為表文件建立索引之后,就可以用索引來控制表數(shù)據(jù)的顯示。94.5.2索引索引只是按照指定字段為當前表建立一個索引表,以5.2.1索引文件分類⒈
單項索引文件⒉
結(jié)構(gòu)復(fù)合索引文件⒊
獨立復(fù)合索引文件95.5.2.1索引文件分類⒈單項索引文件95.5.2.1索引文件分類1、單項索引文件,擴展名為.IDX。這種索引文件只有一個索引表達式。2、復(fù)合索引文件,其擴展名為.CDX。在復(fù)合索引文件中,每一個索引都有一個特殊的標識名(TAG),TAG的命名與自由表中字段命名方法相同(<=10字符)。3、結(jié)構(gòu)復(fù)合索引文件和獨立復(fù)合索引文件都屬于復(fù)合索引文件。無論是哪一種索引文件,都只能與表文件同時使用。96.5.2.1索引文件分類1、單項索引文件,擴展名為.IDX。5.2.2建立索引文件
⒈菜單方式利用表設(shè)計器來生成索引。方法如下。①打開表設(shè)計器:先打開表,再選擇“顯示/表設(shè)計器”,進入表設(shè)計器窗口。②選擇索引字段:在“字段”選項卡中,單擊要建索引的字段,在“索引列”單擊其下三角按鈕,在列表中選擇升序或降序,③選擇索引類型④單擊“確定”按鈕,完成索引建立。97.5.2.2建立索引文件⒈菜單方式97.索引類型主索引:要求索引表達式必須是表的主關(guān)鍵字段,該字段的值在表中是惟一的、確定的,且表允許有空值。主索引僅用于數(shù)據(jù)庫表,且一個表只能創(chuàng)建一個主索引。候選索引:要求同主索引。數(shù)據(jù)庫表和自由表都可以建立候選索引,一個表可以建立多個候選索引。唯一索引:相同索引值的記錄只留下一條。等同于命令中的UNIQUE選項。如果按性別建立索引,并選擇“唯一索引”,則索引表中只有2條記錄。數(shù)據(jù)庫表和自由表都可以建立唯一索引。普通索引:沒有限制。索引表中記錄數(shù)同原表文件。數(shù)據(jù)庫表和自由表都可以建立普通索引。98.索引類型主索引:要求索引表達式必須是表的主關(guān)鍵字段,該字段的5.2.2建立索引文件⒉命令方式⑴建立單項索引文件格式:INDEXON<索引表達式>TO<文件名>[UNIQUE][COMPACT][ADDITIVE]功能:對當前表根據(jù)索引表達式按升序建立單項索引文件。【例5.2】建立單項索引文件。①
以出生年月為關(guān)鍵字建立單索引文件CSNY.IDX。請在命令窗口執(zhí)行下述命令:USE學生INDEXON出生年月TOCSNY99.5.2.2建立索引文件⒉命令方式99.5.2.2建立索引文件⑵
建立結(jié)構(gòu)復(fù)合索引格式:INDEXON<索引表達式>TAG<索引標識>[UNIQUE][ADDITIVE][ASCENDING/DESCENDING]功能:對當前表根據(jù)索引表達式建立索引并以<索引標識>為標識存入結(jié)構(gòu)復(fù)合索引文件中。100.5.2.2建立索引文件⑵建立結(jié)構(gòu)復(fù)合索引100.5.2.2建立索引文件⑶建立獨立復(fù)合索引格式:INDEXON<索引表達式>TAG<索引標識>[UNIQUE][ADDITIVE][OF<文件名>][ASCENDING/DESCENDING]功能:對當前表根據(jù)“索引表達式”建立索引并以<索引標識>為標識存入<文件名>指定的獨立復(fù)合索引文件中。101.5.2.2建立索引文件⑶建立獨立復(fù)合索引101.5.2.3索引文件的打開與關(guān)閉⒈打開索引文件⑴打開表的同時打開索引文件格式:USE<表文件名>[IN<工作區(qū)>]INDEX<索引文件名表/?>[EXCLUSIVE/SHARED][ORDER[<索引序號>/<單項索引文件名>/[TAG]<索引標識>[OF<復(fù)合索引文件名>[ASCENDING/DESCENDING]]]][……]功能:在當前工作區(qū)或指定工作區(qū)打開表文件并同時打開<索引文件名表>指出的各個索引文件。102.5.2.3索引文件的打開與關(guān)閉⒈打開索引文件102.5.2.3索引文件的打開與關(guān)閉⒉關(guān)閉索引文件關(guān)閉索引文件有2條命令,格式如下:格式1:CLOSEINDEXES格式2:SETINDEXTO功能:關(guān)閉當前工作區(qū)除結(jié)構(gòu)復(fù)合索引以外的所有打開的索引文件。103.5.2.3索引文件的打開與關(guān)閉⒉關(guān)閉索引文件103.5.2.4確定主控索引
格式:SETORDERTO[<索引序號>/<單項索引文件名>/[TAG]<索引標識>[OF<復(fù)合索引文件名>][IN<工作區(qū)>]功能:重新確定主控索引文件或主控標識。5.2.5索引文件更新先打開索引,再執(zhí)行索引重建命令。格式:REINDEX
104.5.2.4確定主控索引格式:SETORDERTO5.3表內(nèi)容的查找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·105.5.3表內(nèi)容的查找5.3.1索引查找105.
5.3.1索引查找⑵SEEK命令格式:SEEK<表達式>[ORDER<索引序列號>/<單項索引文件名>]/[TAG]<索引標識>[OF<復(fù)合索引文件名>][A/D][IN<工作區(qū)>]功能:SEEK命令在一個表中搜索首次出現(xiàn)的一個記錄,這個記錄的索引關(guān)鍵字必須與指定的表達式匹配。說明:①SEEK命令查找對象可以是變量、常量和表達式,數(shù)據(jù)類型多種(字符型數(shù)據(jù)必加定界符)②ORDER子句:指定用來搜索關(guān)鍵字的索引序號,單項索引文件名或復(fù)合索引文件的索引標記106.5.3.1索引查找⑵SEEK命令106.5.3.2一般查找⒈順序查找命令
格式:LOCATEFOR<條件>[WHILE<條件>][<范圍>][NOOPTIMIZE]功能:按表內(nèi)容的排列順序(物理順序或邏輯順序)依次搜索滿足條件的第一條記錄。107.5.3.2一般查找⒈順序查找命令
格式:LOCATELOCATE命令說明說明:該命令用于查找未索引或已索引的表文件。[<范圍>]:默認為全部記錄,即ALL。如果找到匹配記錄,指針指向該記錄,RECNO()返回匹配記錄的記錄號,F(xiàn)OUND()的值為.T.,
EOF()值為.F.;若找不到,指針指向表尾部,F(xiàn)OUND()的值為.F.,
EOF()值為.T.。只能在當前工作區(qū)中查找。108.LOCATE命令說明說明:108.5.3.2一般查找⒉繼續(xù)查找命令格式:CONTINUE功能:配合LOCATE命令在表的剩余部分尋找滿足條件的下一條記錄。109.5.3.2一般查找⒉繼續(xù)查找命令109.第6章110.第6章110.第6章數(shù)據(jù)庫的建立與操作
知識點:數(shù)據(jù)庫的常用概念數(shù)據(jù)庫的建立VFP的工作區(qū)表間的聯(lián)系設(shè)置數(shù)據(jù)庫的參照完整性111.第6章數(shù)據(jù)庫的建立與操作知識點:111.6.1VFP數(shù)據(jù)庫的常用概念
⒈主關(guān)鍵字⒉數(shù)據(jù)之間的聯(lián)系類型⑴一對一關(guān)系⑵一對多關(guān)系⑶多對多關(guān)系
⒊外部關(guān)鍵字112.6.1VFP數(shù)據(jù)庫的常用概念⒈主關(guān)鍵字112.6.1VFP數(shù)據(jù)庫的常用概念⒋數(shù)據(jù)庫表、自由表⒌數(shù)據(jù)庫的完整性⑴實體完整性⑵參照完整性⑶用戶自定義完整性
113.6.1VFP數(shù)據(jù)庫的常用概念⒋數(shù)據(jù)庫表、自由表113.6.2數(shù)據(jù)庫的建立6.2.1一個數(shù)據(jù)庫的例子114.6.2數(shù)據(jù)庫的建立6.2.1一個數(shù)據(jù)庫的例子114.6.2.2數(shù)據(jù)庫的建立與編輯
⒈創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫可以采用下述方法之一。使用“項目管理器”;使用“文件”菜單中的“新建”命令;使用CREATEDATABASE命令。⒉
打開數(shù)據(jù)庫格式:OPENDATABASE[數(shù)據(jù)庫文件名/?] 功能:該命令用于在命令窗口或程序中直接打開指定的數(shù)據(jù)庫。115.6.2.2數(shù)據(jù)庫的建立與編輯⒈創(chuàng)建數(shù)據(jù)庫115.6.2.2數(shù)據(jù)庫的建立與編輯⒊修改數(shù)據(jù)庫⑴
使用“項目管理器”在“項目管理器”中選擇數(shù)據(jù)庫名稱;單擊“項目管理器”窗口的“修改”按鈕,彈出數(shù)據(jù)庫設(shè)計窗口。⑵使用MODIFYDATABASE命令格式:MODIFYDATABASE[數(shù)據(jù)庫名/?]功能:打開數(shù)據(jù)庫設(shè)計器,讓用戶交互地修改當前數(shù)據(jù)庫。116.6.2.2數(shù)據(jù)庫的建立與編輯⒊修改數(shù)據(jù)庫116.6.2.2數(shù)據(jù)庫的建立與編輯⒋關(guān)閉數(shù)據(jù)庫格式:CLOSEDATABASE[ALL] 功能:關(guān)閉當前數(shù)據(jù)庫和表。說明:有ALL:關(guān)閉所有打開的數(shù)據(jù)庫和其中的表;所有打開的自由表和索引。沒有ALL:表示關(guān)閉當前數(shù)據(jù)庫和表。
117.6.2.2數(shù)據(jù)庫的建立與編輯⒋關(guān)閉數(shù)據(jù)庫117.6.2.2數(shù)據(jù)庫的建立與編輯⒌刪除數(shù)據(jù)庫
⑴
使用“項目管理器”刪除一個數(shù)據(jù)庫的方法在“項目管理器”中選擇待刪除的數(shù)據(jù)庫名;單擊“項目管理器”窗口的“移去”按鈕,在接下去的提示中選擇刪除。⑵使用DELETEDATABASE命令刪除一個數(shù)據(jù)庫格式:DELETEDATABASE[數(shù)據(jù)庫名/?]功能:從磁盤上刪除數(shù)據(jù)庫。118.6.2.2數(shù)據(jù)庫的建立與編輯⒌刪除數(shù)據(jù)庫118.6.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ù)庫中移出119.6.2.3數(shù)據(jù)庫表的建立與操作⒈創(chuàng)建數(shù)據(jù)庫表119.6.2.4數(shù)據(jù)庫表的性能優(yōu)化
⒈設(shè)置字段的一般屬性 ⑴
定義長字段名 ⑵設(shè)置字段標題 ⑶設(shè)置字段注釋 ⑷建立輸入掩碼 ⑸設(shè)置字段的默認值
⒉設(shè)置有效性規(guī)則 ⑴
字段級有效性規(guī)則 ⑵表的記錄級有效性規(guī)則120.6.2.4數(shù)據(jù)庫表的性能優(yōu)化⒈設(shè)置字段的一般屬性1206.3VFP的工作區(qū)
6.3.1工作區(qū)的表示工作區(qū)是內(nèi)存中用于臨時存放數(shù)據(jù)表的區(qū)域。VisualFoxPro系統(tǒng)最多能同時使用32767個工作區(qū),但在每個工作區(qū)中只能打開一個數(shù)據(jù)表。⑴工作區(qū)編號:用數(shù)字。⑵工作區(qū)的系統(tǒng)別名:用英文字母。⑶用戶別名:用戶指定的名字。121.6.3VFP的工作區(qū)6.3.1工作區(qū)的表示121.6.3.2工作區(qū)的使用
⒈選擇工作區(qū)系統(tǒng)啟動時,1號工作區(qū)就是當前工作區(qū),若想改變當前工作區(qū),可使用SELECT命令。格式:SELECT<工作區(qū)編號>/<工作區(qū)別名>功能:選擇一個工作區(qū)作為當前工作區(qū)。122.6.3.2工作區(qū)的使用⒈選擇工作區(qū)122.⒉工作區(qū)的使用規(guī)則①在一個工作區(qū)中只能打開一個表文件。②對非當前工作區(qū)中的表文件進行操作時,必須采取引用的方式。即,別名.字段名,或別名->字段名。③對當前表進行的所有操作均不影響其他工作區(qū)中表文件的記錄指針。④一個表文件能在多個工作區(qū)中多次打開。⑤指定工作區(qū)的方法:
SELECT<工作區(qū)編號>/<工作區(qū)別名>⑥指定當前可用的最小號工作區(qū):
SELECT0 或
USE<表文件>IN06.3.3工作區(qū)操作示例123.⒉工作區(qū)的使用規(guī)則123.6.4表間的聯(lián)系
6.4.1聯(lián)系類型數(shù)據(jù)表之間的聯(lián)系類型有兩種:一種是臨時性關(guān)聯(lián);一種是永久性關(guān)聯(lián)。⒈什么是臨時關(guān)聯(lián)建立數(shù)據(jù)表之間的臨時性關(guān)聯(lián)的主要目的是,讓相關(guān)聯(lián)的表之間實現(xiàn)指針聯(lián)動,即,當指針在父表中移動并指向某一記錄時,子表指針會指向與其相關(guān)的記錄上。數(shù)據(jù)表之間的臨時性關(guān)聯(lián)特點之一是其臨時性,需要時建立,一旦關(guān)閉了表文件,表之間的關(guān)聯(lián)也就自動解除。124.6.4表間的聯(lián)系6.4.1聯(lián)系類型124.6.4.2臨時關(guān)聯(lián)⒉創(chuàng)建臨時關(guān)聯(lián)⑴利用“數(shù)據(jù)工作期”創(chuàng)建表間的臨時性關(guān)聯(lián)。⑵用SETRELATION命令建立臨時關(guān)系格式:SETRELATIONTO[<關(guān)系表達式1>INTO<工作區(qū)1>/<表別名1>[,<關(guān)系表達式2>INTO<工作區(qū)2>/<表別名2>…]][IN<工作區(qū)>/<表別名>][ADDITIVE]
功能:在兩個打開的表之間建立關(guān)系。125.6.4.2臨時關(guān)聯(lián)⒉創(chuàng)建臨時關(guān)聯(lián)125.建立一對多臨時關(guān)聯(lián)【例6.10】建立“學生.DBF”和“成績.DBF”一對多的臨時關(guān)聯(lián)。執(zhí)行下述命令序列。SELECT1USE成績INDEXON學號
TOX1 SELECT2USE學生SETRELATIONTO學號
INTO成績
BORWSESELECT成績
BROWSE
126.建立一對多臨時關(guān)聯(lián)【例6.10】建立“學生.DBF”和“成績6.4.3永久關(guān)聯(lián)
⒈什么是永久關(guān)聯(lián)建立數(shù)據(jù)表之間永久關(guān)聯(lián)的主要目的是,實現(xiàn)數(shù)據(jù)庫中表之間的參照完整性。因此,表之間的永久關(guān)聯(lián)主要用于在更新、刪除、插入等操作中,保證數(shù)據(jù)庫數(shù)據(jù)的可靠性和一致性。數(shù)據(jù)表之間永久關(guān)聯(lián)的特點之一是其永久性,一旦建立,就被存儲在數(shù)據(jù)庫文件中,要解除永久關(guān)聯(lián),需要人工處理。127.6.4.3永久關(guān)聯(lián)⒈什么是永久關(guān)聯(lián)127.6.4.3永久關(guān)聯(lián)⒉創(chuàng)建永久關(guān)聯(lián)在“數(shù)據(jù)庫設(shè)計器”中創(chuàng)建表的永久關(guān)聯(lián),是一種最簡便的方法。首先在父表的關(guān)聯(lián)字段上建立主索引,在子表的關(guān)聯(lián)字段上建立普通索引,然后,在數(shù)據(jù)庫設(shè)計器中通過鼠標的拖拉,便可以完成創(chuàng)建工作。128.6.4.3永久關(guān)聯(lián)⒉創(chuàng)建永久關(guān)聯(lián)128.6.4.3永久關(guān)聯(lián)⒊ 刪除永久關(guān)聯(lián)可以采用下述方法之一。⑴在數(shù)據(jù)庫設(shè)計器窗口,右擊表示關(guān)聯(lián)的連線,在快捷菜單中選擇“刪除關(guān)系”項。⑵在數(shù)據(jù)庫設(shè)計器窗口,單擊表示關(guān)聯(lián)的連線,然后按DELETE鍵。⑶通過刪除數(shù)據(jù)庫文件來刪除表之間的永久關(guān)聯(lián)。
129.6.4.3永久關(guān)聯(lián)⒊ 刪除永久關(guān)聯(lián)129.6.5設(shè)置數(shù)據(jù)庫的參照完整性
6.5.1參照完整性規(guī)則為數(shù)據(jù)庫中多個關(guān)聯(lián)的表設(shè)置了參照完整性規(guī)則,當插入、更新、刪除記錄時,可以保證數(shù)據(jù)庫表中數(shù)據(jù)的有效性和一致性,防止下列情況的發(fā)生:⑴當父表中沒有關(guān)聯(lián)記錄時,將記錄添加到相關(guān)子表中,造成子表出現(xiàn)“孤立”記錄。⑵改變父表關(guān)鍵字值,而子表未作相應(yīng)的改變,造成子表中出現(xiàn)“孤立”記錄。⑶刪除父表記錄,而子表未作相應(yīng)的改變,造成子表中出現(xiàn)“孤立”記錄。130.6.5設(shè)置數(shù)據(jù)庫的參照完整性6.5.1參照完整性規(guī)則16.5.2參照完整性的實現(xiàn)步驟如下:①打開“數(shù)據(jù)庫設(shè)計器”,選擇建立永久性關(guān)聯(lián)的表;②啟動“參照完整性生成器”,選擇“編輯參考完整性”選項;③設(shè)置相應(yīng)的完整性規(guī)則。④單擊“確定”按鈕,出現(xiàn)“參照完整性生成器”確認框。⑤單擊“是”按鈕。131.6.5.2參照完整性的實現(xiàn)步驟如下:131.第7章132.第7章132.第7章
面向過程的程序設(shè)計
知識點:程序設(shè)計概述程序的建立、保存、運行與調(diào)試程序中常用的命令程序控制的基本結(jié)構(gòu)過程與過程文件綜合程序設(shè)計范例133.第7章面向過程的程序設(shè)計知識點:133.7.1程序設(shè)計概述
面向過程程序設(shè)計的特點134.7.1程序設(shè)計概述面向過程程序設(shè)計的特點134.7.1程序設(shè)計概述面向?qū)ο蟪绦蛟O(shè)計的特點135.7.1程序設(shè)計概述面向?qū)ο蟪绦蛟O(shè)計的特點135.7.1.3基本要求與算法表示
⒈程序的基本要求“清晰第一,效率第二”。書寫規(guī)范,風格統(tǒng)一。程序的基本結(jié)構(gòu)規(guī)定為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。一個大的程序開發(fā)應(yīng)當采用“自頂向下、逐步細化和模塊化”的方法。程序模塊應(yīng)該只有一個入口、一個出口,無死語句、死循環(huán)。136.7.1.3基本要求與算法表示⒈程序的基本要求136.7.1.3基本要求與算法表示⒉
算法表示流程圖中常用的符號137.7.1.3基本要求與算法表示⒉算法表示流程圖中常用的符7.2程序的建立、保存、運行和調(diào)試修改
7.2.1程序文件的建立創(chuàng)建程序有以下三種的方法。⑴通過項目管理器創(chuàng)建在“項目管理器”中,選定“代碼”選項卡中的“程序”項,如圖7-4所示。單擊“新建”按鈕。⑵通過文件菜單創(chuàng)建單擊“文件/新建”項,在新建對話框中選擇“程序”項,再單擊“新建文件”按鈕。⑶命令MODIFYCOMMAND138.7.2程序的建立、保存、運行和調(diào)試修改7.2.1程序7.2.1程序文件的建立⒊保存程序通過菜單保存“文件/保存”;單擊“工具欄”上的保存按鈕;組合鍵:CTRL+W。139.7.2.1程序文件的建立⒊保存程序139.7.2.2程序的修改和運行
⒈程序的修改⑴項目管理器 在項目管理器的代碼選項卡列表中,選擇要修改的程序文件,單擊“修改”按鈕。⑵文件菜單 單擊“文件/打開”項,打開程序并修改。⑶命令MODIFYCOMMAND140.7.2.2程序的修改和運行⒈程序的修改140.7.2.2程序的修改和運行⒉運行程序⑴項目管理器在項目管理器的代碼選項卡中,選擇要運行的程序文件,單擊“運行”按鈕。⑵程序菜單單擊“程序/運行”選項,在程序列表中選擇要運行的程序文件,單擊“運行”按鈕。⑶DO命令141.7.2.2程序的修改和運行⒉運行程序141.7.3程序中常用的命令
7.3.1注釋語句⒈程序注釋語句格式1:NOTE[<注釋文本>]格式2:*[<注釋文本>]功能:對程序的結(jié)構(gòu)或整體功能進行注釋。⒉語句注釋&&格式:&&[<注釋文本>]功能:對程序中某一條語句進行注釋。142.7.3程序中常用的命令7.3.1注釋語句142.7.3.2程序調(diào)試語句⒈
中斷語句CANCEL功能:中斷當前程序的執(zhí)行,并返回到系統(tǒng)命令窗口。⒉
掛起語句SUSPEND功能:暫停當前程序的執(zhí)行,并返回到系統(tǒng)命令窗口。通過使用語句RESUME可以使程序繼續(xù)執(zhí)行。⒊
恢復(fù)執(zhí)行語句RESUME功能:恢復(fù)被SUSPEND掛起的程序,從暫停的位置繼續(xù)執(zhí)行。
143.7.3.2程序調(diào)試語句⒈中斷語句CANCEL143.7.3.3輸出語句
⒈換行輸出語句:?格式:?[<表達式列表>]功能:分別計算列表中各表達式的值,并將表達式的值輸出到VFP主窗口當前光標的下一行。說明:<表達式列表>中,各表達式以逗號分隔。⒉同行輸出語句:??格式:??[<表達式列表>]功能:分別計算列表中各表達式的值,并將表達式的值輸出到VFP主窗口當前光標所在行、列的后面。144.7.3.3輸出語句⒈換行輸出語句:?144.7.3.4輸入語句
⒈數(shù)據(jù)接收語句INPUT格式:INPUT[<字符表達式>]TO<內(nèi)存變量>功能:把鍵盤輸入的數(shù)據(jù)賦給由<內(nèi)存變量>指定的內(nèi)存變量。說明:在程序中遇到該命令時,暫時中止程序執(zhí)行,等待用戶從鍵盤輸入數(shù)據(jù),并以回車鍵結(jié)束輸入,繼續(xù)執(zhí)行該語句之下的命令。從鍵盤輸入的數(shù)據(jù)可以是常量、變量或表達式。數(shù)據(jù)類型可以是除備注型和通用型外的所有類型,數(shù)據(jù)輸入時要按照常量數(shù)據(jù)的正確表達方式。如字符數(shù)據(jù)加定界符,日期數(shù)據(jù)加花括號{}等。[<字符表達式>]:提示用戶正確操作,<字符表達式>作為提示信息顯示在屏幕上。145.7.3.4輸入語句⒈數(shù)據(jù)接收語句INPUT1457.3.4輸入語句⒉字符串接收語句ACCEPT格式:ACCEPT[<字符表達式>]TO<內(nèi)存變量>功能:把鍵盤輸入的數(shù)據(jù)賦給由<內(nèi)存變量>指定的內(nèi)存變量。⒊
單字符接收語句
WAIT格式:WAIT[字符表達式][TO<內(nèi)存變量>][TIMEOUT<秒數(shù)>][…]功能:接收鍵盤輸入的單個字符常量。146.7.3.4輸入語句⒉字符串接收語句ACCEPT147.3.5環(huán)境設(shè)置語句
⒈
清屏語句:CLEAR
⒉
常用SET語句系列⑴
SETTALKON/OFF
⑵SETDELETEOFF/ON⑶SETEXACTOFF/ON⑷SETDEFAULTTO⑸SETEXCLUSIVEON/OFF⑹SETESCAPEON/OFF
147.7.3.5環(huán)境設(shè)置語句⒈清屏語句:CLEAR1477.4程序的控制結(jié)構(gòu)
VFP采用結(jié)構(gòu)化程序設(shè)計方法,有三種基本的程序控制結(jié)構(gòu):順序結(jié)構(gòu)選擇分支結(jié)構(gòu)(簡稱分支結(jié)構(gòu))循環(huán)結(jié)構(gòu)。其中,選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)需要使用特定的語句來實現(xiàn)。148.7.4程序的控制結(jié)構(gòu)VFP采用結(jié)構(gòu)化程序設(shè)計方法,有三種7.4.1順序結(jié)構(gòu)順序結(jié)構(gòu)是指根據(jù)程序中命令的排列順序從上到下依次執(zhí)行?!纠?.2】求指定班級獎學金總額,并輸出計算結(jié)果。⑴分析問題①
打開“學生”表文件②
由鍵盤輸入指定的班級③
求和④
輸出求和計算結(jié)果
⑤
關(guān)閉表文件149.7.4.1順序結(jié)構(gòu)順序結(jié)構(gòu)是指根據(jù)程序中命令的排列順序⑵算法流程圖
150.⑵算法流程圖
150.⑶寫程序代碼
151.⑶寫程序代碼151.7.4.2選擇分支結(jié)構(gòu)
根據(jù)條件的判斷結(jié)果確定哪些語句被執(zhí)行,哪些語句被放棄。在VFP中,有二路選擇分支結(jié)構(gòu)和多路選擇分支結(jié)構(gòu)。
二路選擇分支結(jié)構(gòu)
IF…ENDIF多路選擇分支結(jié)構(gòu)
DOCASE…ENDCASE152.7.4.2選擇分支結(jié)構(gòu)根據(jù)條件的判斷結(jié)果確定哪些語句被選擇分支結(jié)構(gòu)的算法框圖
153.選擇分支結(jié)構(gòu)的算法框圖153.⒈ 二路選擇分支結(jié)構(gòu)格式1:IF<條件表達式>[THEN]<語句系列1>ELSE<語句系列
2>ENDIF功能:當<條件表達式>的值為真時,執(zhí)行<語句系列1>;否則執(zhí)行<語句系列2>。然后,繼續(xù)執(zhí)行ENDIF之下的語句。154.⒈ 二路選擇分支結(jié)構(gòu)格式1:IF<條件表達式>[TH⒈ 二路選擇分支結(jié)構(gòu)格式2:IF<條件表達式>[THEN] <語句系列1> ENDIF功能:當<條件表達式>的值為真時,執(zhí)行<語句系列1>;否則,不進行任何操作,控制轉(zhuǎn)到ENDIF之下,去執(zhí)行ENDIF之下的語句。155.⒈ 二路選擇分支結(jié)構(gòu)格式2:IF<條件表達式>[TH選擇分支結(jié)構(gòu)的例子【例7.3】從鍵盤輸入一個數(shù),說明它是奇數(shù)還是偶數(shù)。【例7.5】求解一元二次方程。一元二次標準方程式為:AX2+BX+C=0?!纠?.6】求指定學生的平均成績,如果指定學生不存在,給出提示信息:“無此學生”。156.選擇分支結(jié)構(gòu)的例子【例7.3】從鍵盤輸入一個數(shù),說明它是奇數(shù)⒉ 多路選擇分支結(jié)構(gòu)
格式:DOCASECASE<條件表達式1><語句系列1>[CASE<條件表達式2><語句系列2>
…CASE<條件表達式
n><語句系列n>][OTHERWISE<語句系列
n+1>] ENDCASE157.⒉ 多路選擇分支結(jié)構(gòu)
格式:DOCASE157.⒉ 多路選擇分支結(jié)構(gòu)功能:依次判斷<條件表達式I>(I=1,2,3,……,n),當值為真時執(zhí)行對應(yīng)的<語句系列I>;當所有<條件表達式
>的值均為假時,則執(zhí)行OTHERWISE下面的<語句系列N+1>,如果沒有OTHERWISE項,也不會有出錯信息,程序會自動執(zhí)行ENDCASE下面的語句?!纠?.7】統(tǒng)計計算指定學生的平均成績,并根據(jù)該成績輸出對應(yīng)的評價等級。158.⒉ 多路選擇分支結(jié)構(gòu)功能:依次判斷<條件表達式I>(I=17.4.3循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)是指根據(jù)問題的需要任意次地重復(fù)執(zhí)行一行或多行語句。在VFP中有三種循環(huán)語句:DOWHILE…ENDDOSCAN…ENDSCANFOR…ENDFOR159.7.4.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是指根據(jù)問題的需要任意次地重7.4.3循環(huán)結(jié)構(gòu)⒈DOWHILE…ENDDO格式:
DOWHILE<條件表達式
><語句序列
> [<EXIT>][<LOOP>]ENDDO功能:
當<條件表達式
>的值為真時,重復(fù)執(zhí)行<語句序列
>,直到<條件表達式
>的值為假時結(jié)束。160.7.4.3循環(huán)結(jié)構(gòu)⒈DOWHILE…ENDDO160⒈DOWHILE
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新員工入職合同下載
- 2025廣告發(fā)布委托合同書版范本
- 全新房地產(chǎn)買賣合同范文下載
- 公司業(yè)務(wù)擔保合同
- 單位貨物采購合同格式
- 幼兒園股份合伙經(jīng)營合作合同書
- 2024年中考物理(安徽卷)真題詳細解讀及評析
- 地板磚購銷合同模板
- 拓寬知識面的重要性主題班會
- 2025如果合同標的不合格怎么辦反擔保
- 浙教版八年級下冊科學第一章 電和磁整章思維導(dǎo)圖
- (正式版)SH∕T 3541-2024 石油化工泵組施工及驗收規(guī)范
- 動物疫病傳染病防控培訓制度
- 美團代運營合同模板
- 初中英語七選五經(jīng)典5篇(附帶答案)
- GB/T 43676-2024水冷預(yù)混低氮燃燒器通用技術(shù)要求
- 特種設(shè)備檢驗現(xiàn)場事故案例分析
- 2023-2024學年西安市高二數(shù)學第一學期期末考試卷附答案解析
- 關(guān)于教師誦讀技能培訓課件
- 化學品使用人員培訓課程
- 【京東倉庫出庫作業(yè)優(yōu)化設(shè)計13000字(論文)】
評論
0/150
提交評論