VFP60程序設(shè)計(jì)教程課件_第1頁(yè)
VFP60程序設(shè)計(jì)教程課件_第2頁(yè)
VFP60程序設(shè)計(jì)教程課件_第3頁(yè)
VFP60程序設(shè)計(jì)教程課件_第4頁(yè)
VFP60程序設(shè)計(jì)教程課件_第5頁(yè)
已閱讀5頁(yè),還剩134頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

VFP6.0程序設(shè)計(jì)教程專業(yè):市場(chǎng)營(yíng)銷主講:周小蘭第一章數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)知識(shí)1.1數(shù)據(jù)庫(kù)系統(tǒng)概述

1.數(shù)據(jù)處理數(shù)據(jù):是對(duì)事實(shí)、概念或指令的一種特殊表達(dá)形式,可以用人工的方式或自動(dòng)化的裝置進(jìn)行通信、翻譯轉(zhuǎn)換或者進(jìn)行加工處理。它包括兩類:一類是能參與數(shù)字運(yùn)算的數(shù)值型數(shù)據(jù);一類是不能參與數(shù)字運(yùn)算的非數(shù)值型數(shù)據(jù),如文字、圖畫、聲音、活動(dòng)圖象等。數(shù)據(jù)處理:是對(duì)各種類型的數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、分類、計(jì)算、加工、檢索與傳輸?shù)倪^(guò)程。包括:收集原始數(shù)據(jù)、編碼轉(zhuǎn)換、數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)輸1.1數(shù)據(jù)庫(kù)系統(tǒng)概述2.數(shù)據(jù)庫(kù)系統(tǒng)

(1)數(shù)據(jù)庫(kù)(DataBase)定義:是以一定的組織形式存放在計(jì)算機(jī)存儲(chǔ)介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。特點(diǎn):具有最小的冗余度、具有數(shù)據(jù)獨(dú)立性、實(shí)現(xiàn)數(shù)據(jù)共享、安全可靠、保密性能好(2)數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem)定義:是操縱和管理數(shù)據(jù)庫(kù)的系統(tǒng)軟件。VisualFoxPro屬于一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)語(yǔ)言:數(shù)據(jù)定義語(yǔ)言(DDL):用來(lái)建立所需的數(shù)據(jù)庫(kù)。數(shù)據(jù)操作語(yǔ)言(DML):用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢和維護(hù)操作。關(guān)系型數(shù)據(jù)庫(kù)使用的標(biāo)準(zhǔn)語(yǔ)言是結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage,SQL)。

1.1數(shù)據(jù)庫(kù)系統(tǒng)概述(3)數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem)定義:是以數(shù)據(jù)庫(kù)應(yīng)用為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)。組成:數(shù)據(jù)庫(kù)硬件(計(jì)算機(jī)硬件設(shè)備)軟件(數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng))用戶(應(yīng)用程序設(shè)計(jì)員、終端用戶、數(shù)據(jù)庫(kù)管理員)分類:層次型數(shù)據(jù)庫(kù)、網(wǎng)狀型數(shù)據(jù)庫(kù)、關(guān)系型數(shù)據(jù)庫(kù)分代:第一代非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),60年代末問(wèn)世,包括層次型和網(wǎng)狀型。第二代關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(RDBS),70年代中期問(wèn)世。第三代對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(ORDBS、OOBDS),80年代中期至今。上述三個(gè)概念之間的聯(lián)系:在數(shù)據(jù)庫(kù)系統(tǒng)中通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)建立和使用數(shù)據(jù)庫(kù)。

1.1數(shù)據(jù)庫(kù)系統(tǒng)概述3.關(guān)系模型三個(gè)領(lǐng)域:

現(xiàn)實(shí)世界→事物(對(duì)象、性質(zhì))

觀念世界→實(shí)體(對(duì)象、屬性)

數(shù)據(jù)世界→數(shù)據(jù)(記錄、字段)實(shí)體模型:即反映事物聯(lián)系的實(shí)體。數(shù)據(jù)模型:即描述實(shí)體模型的數(shù)據(jù)。數(shù)據(jù)模型的分類:層次模型(采用樹型結(jié)構(gòu))網(wǎng)絡(luò)模型(采用無(wú)向圖型結(jié)構(gòu))關(guān)系模型(采用二維表結(jié)構(gòu))關(guān)系模型的性質(zhì):二維表的記錄數(shù)隨數(shù)據(jù)的增加而改變,但其字段數(shù)是相對(duì)固定的;二維表中的每一列均有唯一的字段名;二維表中不允許出現(xiàn)完全相同的兩行二維表中行的順序、列的順序均可以任意交換。二維表的主關(guān)鍵字:超關(guān)鍵字:

能唯一確定記錄的一列或幾列的組合

候選關(guān)鍵字:最簡(jiǎn)練的超關(guān)鍵字

主關(guān)鍵字:

候選關(guān)鍵字中的一個(gè)

外部關(guān)鍵字:當(dāng)A表的主關(guān)鍵字被包含到B表中時(shí),則稱A表的主關(guān)鍵字為B表的外部關(guān)鍵字。4.微機(jī)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展關(guān)系型數(shù)據(jù)庫(kù):即根據(jù)表、記錄和字段之間的關(guān)系進(jìn)行組織和訪問(wèn)的一種數(shù)據(jù)庫(kù)。1.2VisualFoxPro6.0概述1.VFP6.0的特點(diǎn)完善了關(guān)系型數(shù)據(jù)庫(kù)的概念,采用了Rushmore技術(shù),引入了SQL命令;支持多種數(shù)據(jù)交換格式;采用了可視化的面向?qū)ο蟮某绦蛟O(shè)計(jì)方式;提供了功能完善的集成環(huán)境和豐富的開發(fā)工具。2.VFP6.0的用戶界面[圖例]界面基本組成:標(biāo)題欄、主菜單欄、工具欄、主窗口、命令窗口、狀態(tài)欄系統(tǒng)工具一覽表1.2VisualFoxPro6.0概述3.VFP6.0的工作方式(1)菜單操作方式根據(jù)所需的操作從菜單中選擇相應(yīng)的命令(與WORD類似)。每執(zhí)行一次菜單命令,命令窗口中一般都會(huì)顯示出與菜單對(duì)應(yīng)的命令內(nèi)容。利用工具菜單中的向?qū)Э梢院芊奖愕赝瓿沙R?guī)任務(wù)。(2)命令交互方式根據(jù)所要進(jìn)行的各項(xiàng)操作,采用人機(jī)對(duì)話方式在命令窗口中按格式要求逐條輸入所需命令,按回車后,機(jī)器逐條執(zhí)行。(3)程序執(zhí)行方式先在程序編輯窗口中編完程序,再?gòu)某绦虿藛沃羞x擇執(zhí)行,或從命令窗口中輸入DO

命令,讓機(jī)器執(zhí)行。4.VFP6.0常用文件類型

1.2VisualFoxPro6.0概述5.創(chuàng)建文件新建各種類型的文件時(shí),可以利用系統(tǒng)提供的相應(yīng)工具,以提高工作效率。新建文件時(shí)可用的設(shè)計(jì)器和向?qū)А?.3項(xiàng)目管理器1.項(xiàng)目管理器簡(jiǎn)介項(xiàng)目:是一種文件,用于跟蹤創(chuàng)建應(yīng)用系統(tǒng)所需要的所有程序、表單、菜單、庫(kù)、報(bào)表、標(biāo)簽、查詢和一些其他類型的文件。項(xiàng)目管理器:[圖例]是開發(fā)VFP應(yīng)用系統(tǒng)的一個(gè)工具,它生成一個(gè)項(xiàng)目文件,項(xiàng)目文件的擴(kuò)展名為.PJX,項(xiàng)目備注的擴(kuò)展名為:.PJT。項(xiàng)目管理器窗口的組成:由6大類數(shù)據(jù)項(xiàng)(全部、數(shù)據(jù)、文檔、類、代碼、其他)和10個(gè)命令按鈕(新建、添加、修改、瀏覽、關(guān)閉、打開、預(yù)覽、運(yùn)行、移去、連編)組成。注:粗斜體表示的命令按紐根據(jù)用戶選擇的不同對(duì)象相應(yīng)地出現(xiàn)。項(xiàng)目菜單的組成:13個(gè)子菜單(其中一部分與項(xiàng)目管理器中的命令按鈕功能相同)。項(xiàng)目管理器的功能:組織和管理所有與應(yīng)用系統(tǒng)有關(guān)的各種類型的文件。1.3項(xiàng)目管理器2.創(chuàng)建項(xiàng)目文件用菜單方式:打開文件菜單→

新建→項(xiàng)目→新文件→給出合適的項(xiàng)目文件名及保存位置→進(jìn)入項(xiàng)目管理器→開發(fā)應(yīng)用系統(tǒng)→完成后關(guān)閉窗口退出。用命令方式:語(yǔ)法:CREATEPROJECT<項(xiàng)目文件名>功能:打開項(xiàng)目管理器窗口進(jìn)行應(yīng)用系統(tǒng)的開發(fā)。1.3項(xiàng)目管理器3.修改項(xiàng)目文件用菜單方式:打開文件菜單→打開→找到所需的項(xiàng)目文件并確定之→進(jìn)入項(xiàng)目管理器→修改應(yīng)用系統(tǒng)→完成后關(guān)閉窗口退出。用命令方式:語(yǔ)法:MODIFYPROJECT<項(xiàng)目文件名>功能:打開項(xiàng)目管理器窗口進(jìn)行應(yīng)用系統(tǒng)的修改。1.3項(xiàng)目管理器4.項(xiàng)目管理器的使用可以利用項(xiàng)目管理器來(lái)創(chuàng)建、打開、瀏覽、修改所有VFP文件并運(yùn)行其中的表單、報(bào)表、標(biāo)簽、菜單、程序等。特別是可以利用它來(lái)連編項(xiàng)目(追蹤這些文件的變化情況,包括它們之間的相關(guān)性、引用和連接等,確保引用的完整,并加入自上次連編之后更新了的一些組件)、應(yīng)用程序(擴(kuò)展名為.APP,在VFP環(huán)境下執(zhí)行)和可執(zhí)行文件(擴(kuò)展名為.EXE,能脫離VFP環(huán)境執(zhí)行)。1.4VFP6.0的一些規(guī)則1.VFP6.0的命名規(guī)則:·只能使用字母、下劃線和數(shù)字?!な褂米帜富蛳聞澗€作為名稱的開頭?!っQ可以是1至128個(gè)字符,但自由表的字段名和索引標(biāo)識(shí)最多只能有10個(gè)字符?!け苊馐褂肰isualFoxPro的保留字?!の募拿裱僮飨到y(tǒng)的約定。1.4VFP6.0的一些規(guī)則2.命令和子句的書寫規(guī)則(1)以命令動(dòng)詞開始;(2)各部分之間要用空格隔開;(3)命令、子句、函數(shù)名都可簡(jiǎn)寫為前4個(gè)字符,大、小寫等效;(4)一行只能寫一條命令,總長(zhǎng)度不超過(guò)8192個(gè)字符,超過(guò)屏幕寬度時(shí)用續(xù)行符“;”;(5)變量名、字段名和文件名應(yīng)避免與命令動(dòng)詞、關(guān)鍵字或函數(shù)名同名,以免運(yùn)行時(shí)發(fā)生混亂。(6)命令格式中的符號(hào)約定:命令中的[]、|、…、<>符號(hào)都不是命令本身的語(yǔ)法成分,使用時(shí)不能照原樣輸入,其中:[]表示可選項(xiàng),根據(jù)具體情況決定是否選用|表示兩邊的部分只能選用其中的一個(gè)…表示可以有任意個(gè)類似參數(shù),各參數(shù)間用逗號(hào)隔開<>表示其中內(nèi)容要以實(shí)際名稱或參數(shù)代入1.4VFP6.0的一些規(guī)則3.命令工作方式中的常見(jiàn)錯(cuò)誤(1)命令動(dòng)詞寫錯(cuò)(2)格式不符合要求·標(biāo)點(diǎn)符號(hào)不對(duì)(一定要用英文標(biāo)點(diǎn)符號(hào))·缺少必需的空格或添加了不該有的空格·數(shù)據(jù)類型不一致,要注意字符型、數(shù)值型、日期型、邏輯型數(shù)據(jù)的書寫格式(3)打不開所需文件:沒(méi)有正確輸入盤符和路徑或文件名輸錯(cuò)第二章表的創(chuàng)建和使用2.1VFP6.0表1.表的概念表(數(shù)據(jù)表):是指存放在磁盤文件中的一張二維表。(相當(dāng)FoxPro2.x版本中的數(shù)據(jù)庫(kù))自由表:不屬于任何數(shù)據(jù)庫(kù)的表。數(shù)據(jù)庫(kù)表:包含在一個(gè)數(shù)據(jù)庫(kù)中的表。表文件名:表名可以由字母、數(shù)字或下劃線組成,系統(tǒng)自動(dòng)給出的擴(kuò)展名為

.DBF。備注文件名:當(dāng)表中有備注型或通用型字段時(shí),系統(tǒng)自動(dòng)生成與所屬數(shù)據(jù)表的表名相同、擴(kuò)展名為:.FPT的文件名。表結(jié)構(gòu):存儲(chǔ)表記錄的公共結(jié)構(gòu)。(就是指一張表的表頭結(jié)構(gòu),即字段的屬性)。記錄:表中的一行。它是多個(gè)字段的集合,同一張表的每個(gè)記錄都有相同的字段。字段:表中的一列。它規(guī)定了數(shù)據(jù)的特征。關(guān)系型數(shù)據(jù)表的特點(diǎn):(1)每一個(gè)字段不可再分解,也不能有名字相同的字段;(2)每一列中的數(shù)據(jù)都有相同的數(shù)據(jù)類型;(3)表中沒(méi)有內(nèi)容完全相同的行(記錄)。2.1VFP6.0表2.字段的基本屬性字段的屬性:包括:字段名、數(shù)據(jù)類型、字段寬度、小數(shù)位數(shù)、空值支持字段名:即每個(gè)字段的名字,必須以字母開頭,可由字母、數(shù)字、下劃線組合而成,字母大、小寫無(wú)區(qū)別,但其中不許有空格或其它字符。自由表的字段名最多由10個(gè)字符組成,數(shù)據(jù)庫(kù)表的字段名支持長(zhǎng)名,最多可達(dá)128個(gè)字符。如果從數(shù)據(jù)庫(kù)中移去一個(gè)表,那么此表的長(zhǎng)字段名將被截短成10個(gè)字符。VFP允許長(zhǎng)字段名和長(zhǎng)表名,但使用長(zhǎng)名稱對(duì)于跨平臺(tái)的操作可能遇到難以預(yù)料的結(jié)果。數(shù)據(jù)類型:指該字段的數(shù)據(jù)特征。字段寬度:指該字段所能容納數(shù)據(jù)的的最大字節(jié)數(shù)。小數(shù)位數(shù):指數(shù)值型數(shù)據(jù)將保留幾位小數(shù)。此時(shí)的字段寬度=整數(shù)位數(shù)+1+小數(shù)位數(shù)。NULL值(空值):無(wú)明確的值。NULL值不等同于零或空格。一個(gè)NULL值不能認(rèn)為比某個(gè)值(包括另一個(gè)NULL值)大或小,相等或不同。2.1VFP6.0表3.表的基本操作表的創(chuàng)建:設(shè)計(jì)表名和表結(jié)構(gòu)、輸入記錄、建立索引數(shù)據(jù)維護(hù):增加記錄、修改記錄、刪除記錄創(chuàng)建表的主要步驟:設(shè)計(jì)表結(jié)構(gòu)→輸入記錄→建立索引→數(shù)據(jù)維護(hù)2.1VFP6.0表4.關(guān)于表操作的幾個(gè)基本命令2.2表結(jié)構(gòu)的創(chuàng)建和修改1.表結(jié)構(gòu)的創(chuàng)建創(chuàng)建表結(jié)構(gòu)其實(shí)就是設(shè)計(jì)字段的基本屬性??梢允褂帽碓O(shè)計(jì)器、表向?qū)Щ騍QL命令來(lái)創(chuàng)建表結(jié)構(gòu)。(1)使用表設(shè)計(jì)器創(chuàng)建表[圖例]步驟:從文件菜單中單擊新建→在新建對(duì)話框中選擇表并單擊新文件→在創(chuàng)建對(duì)話框中給出文件名并確定所需的保存位置→在表設(shè)計(jì)器對(duì)話框中逐個(gè)輸入所需字段(用↓或鼠標(biāo)換行),全部字段輸入完成后單擊確定。2.2表結(jié)構(gòu)的創(chuàng)建和修改(2)使用表向?qū)?chuàng)建表步驟:從文件菜單中單擊新建→在新建對(duì)話框中選擇表并單擊向?qū)А诒硐驅(qū)е凶龅?步:選取字段,完成后單擊下一步→在表向?qū)е凶龅?a步:選擇數(shù)據(jù)庫(kù),完成后單擊下一步

→在表向?qū)е凶龅?步:修改字段設(shè)置,完成后單擊下一步

→在表向?qū)е凶龅?步:為表建索引,完成后單擊下一步→在表向?qū)е凶龅?步:完成,選擇表的保存方法,完成后單擊完成

→在另存為對(duì)話框中給出文件名并確定所需的保存位置。注意:先選擇一個(gè)與待建數(shù)據(jù)表類似的樣表,再?gòu)闹刑暨x出所需的部分字段,然后在下一步根據(jù)實(shí)際需要修改或直接采用原字段的寬度。2.2表結(jié)構(gòu)的創(chuàng)建和修改(3)使用CREATETABLE-SQL命令該命令的一般格式為:CREATETABLE|dbf<表文件名>(字段名1字段類型[(字段寬度[,小數(shù)位數(shù)])][,字段名2字段類型[(字段寬度[,小數(shù)位數(shù)])]]……)例:CREATETABLExscj(xhc(8),xmc(6),xbc(2),;cjn(5,1),ksrqd)2.2表結(jié)構(gòu)的創(chuàng)建和修改2.表結(jié)構(gòu)的修改(1)用表設(shè)計(jì)器修改用菜單調(diào)出表設(shè)計(jì)器:

打開所需的表文件→單擊顯示菜單中的表設(shè)計(jì)器→在表設(shè)計(jì)器對(duì)話框中對(duì)字段進(jìn)行修改→修改完畢單擊確定并在消息框中選擇是。用命令調(diào)出表設(shè)計(jì)器:

USE<表文件名>MODIFYSTRUCTURE

2.2表結(jié)構(gòu)的創(chuàng)建和修改(2)使用ALTERTABLE-SQL命令

2)使用ALTERTABLE-SQL命令

2.3表記錄的處理

1.記錄的輸入(1)立即輸入方式:設(shè)計(jì)好表的結(jié)構(gòu)后,系統(tǒng)會(huì)提示是否直接進(jìn)入數(shù)據(jù)輸入狀態(tài)。若選是,則進(jìn)入編輯窗口,輸完后單擊“X”按鈕退出,系統(tǒng)自動(dòng)存盤。需輸入備注型或通用型字段的數(shù)據(jù)時(shí),雙擊“memo”或“gen”,在新打開的編輯窗口中輸入所需內(nèi)容,輸完后單擊“X”按鈕系統(tǒng)自動(dòng)存盤,退回到原窗口,此時(shí)字段中的“memo”或“gen”變成“Memo”或“Gen”。(2)追加方式:若設(shè)計(jì)好表的結(jié)構(gòu)后并沒(méi)有及時(shí)輸入數(shù)據(jù),則可以用追加方式:從文件菜單中(或從命令窗口中輸入:USE表文件名)打開所需表文件→從顯示菜單中選擇瀏覽

→再?gòu)娘@示菜單中選擇追加方式

→在瀏覽窗口中輸入所需記錄。

2.3表記錄的處理

2.3表記錄的處理

(3)使用INSERT-SQL命令該命令的一般格式為:INSERTINTO<表名>[(字段名1[,字段名2…])]VALUES

(表達(dá)式1[,表達(dá)式2…])例:INSERTINTOxscj(xh,xm,cj)VALUES

("81991001","張良",85.5)2.3表記錄的處理2.記錄的瀏覽(1)通過(guò)瀏覽窗口(2)通過(guò)BROWSE命令BROWSE命令用來(lái)打開表的瀏覽窗口,可通過(guò)不同的子句來(lái)實(shí)現(xiàn)對(duì)特定記錄的瀏覽。2.3表記錄的處理VFP命令中的常用子句

1)范圍子句2.3表記錄的處理VFP命令中的常用子句2)FOR子句用于指明進(jìn)行操作的條件。格式:FOR<條件>指明只對(duì)指定范圍中那些符合給定條件的進(jìn)行當(dāng)前操作。例如:

listNEXT6FORcj<852.3表記錄的處理VFP命令中的常用子句3)WHILE子句也用于指明進(jìn)行操作的條件。格式:WHILE<條件>例如:listNEXT6WHILEcj<852.3表記錄的處理VFP命令中的常用子句4)FIELDS子句用于指明當(dāng)前的操作涉及到表文件的哪些字段。格式:BROWSE[FIELDS字段名1,字段名2……]例如:BROWSEFIELDSxh,xm,cj2.3表記錄的處理3.記錄的定位(1)系統(tǒng)對(duì)記錄的三個(gè)控制標(biāo)志記錄開始標(biāo)志:位于第一個(gè)記錄之前。其值用函數(shù)BOF()進(jìn)行測(cè)試。記錄指針標(biāo)志:指向當(dāng)前記錄。其值用函數(shù)RECNO()進(jìn)行測(cè)試。記錄結(jié)束標(biāo)志:位于最后一個(gè)記錄之后。其值用函數(shù)EOF()進(jìn)行測(cè)試。記錄指針可以理解為保存當(dāng)前記錄號(hào)的變量,它的初始值總是1,不可能為0或負(fù)數(shù),最大值是表中記錄總數(shù)+1。2.3表記錄的處理3.記錄的定位

剛打開表時(shí)記錄指針的情況2.3表記錄的處理3.記錄的定位(2)記錄的定位方式絕對(duì)定位:是指把指針移到指定的位置。相對(duì)定位:是指把指針從當(dāng)前位置開始,相對(duì)于當(dāng)前記錄向前或向后移動(dòng)若干個(gè)記錄位置。條件定位:是指按一定的條件在整張表或表的某個(gè)指定范圍中查找符合該條件的記錄。通過(guò)菜單進(jìn)行定位從表菜單中選擇轉(zhuǎn)到記錄:記錄號(hào)——實(shí)現(xiàn)絕對(duì)定位定位…——實(shí)現(xiàn)條件定位2.3表記錄的處理3.記錄的定位通過(guò)命令進(jìn)行定位2.3表記錄的處理4.記錄的修改和刪除一張表用非只讀方式打開后,即可通過(guò)菜單在瀏覽窗口(或編輯窗口)中或從命令窗口中用命令直接對(duì)其記錄進(jìn)行編輯、修改和刪除。2.3表記錄的處理4.記錄的修改和刪除(1)菜單方式修改記錄:從表菜單中選擇替換字段…→在替換字段對(duì)話框中選擇待替換的字段并構(gòu)造出替換表達(dá)式及替換條件→替換。刪除記錄:從表菜單中選擇刪除記錄→在刪除對(duì)話框中選擇刪除范圍和刪除條件→單擊刪除按鈕→從表菜單中選擇徹底刪除→在消息框中單擊是。刪除記錄包括兩步:標(biāo)記要?jiǎng)h除的記錄和徹底刪除帶刪除標(biāo)記的記錄恢復(fù)帶刪除標(biāo)記的記錄:從表菜單中選擇恢復(fù)記錄→在恢復(fù)記錄對(duì)話框中選擇作用范圍和條件→單擊恢復(fù)記錄按鈕。2.3表記錄的處理4.記錄的修改和刪除(2)SQL命令方式(表事先可以不打開,適用于編程工作方式)修改記錄:用UPDATE-SQL命令。命令格式:UPDATE<表名>SET字段1=表達(dá)式1[,字段2=表達(dá)式2…];WHERE條件表達(dá)式例:UPDATExscjSETcj=cj*1.05WHEREcj>80刪除記錄:用DELETE-SQL命令。命令格式:DELETEFROM<表名>[WHERE條件表達(dá)式]例:DELETEFROMxscjWHEREcj<602.3表記錄的處理4.記錄的修改和刪除(3)在命令窗口中用VFP命令:2.3表記錄的處理

5.篩選記錄和字段(1)用菜單方式從表菜單中選擇屬性

→在工作區(qū)屬性對(duì)話框中單擊數(shù)據(jù)過(guò)濾器框后的按鈕→在表達(dá)式生成器對(duì)話框中構(gòu)造所需的條件表達(dá)式并確定→單擊字段篩選…按鈕→在字段篩選器中選擇所需字段并確定→單擊選項(xiàng)按鈕:字段篩選指定的字段→確定。2.3表記錄的處理5.篩選記錄和字段(2)用命令方式命令格式:SETFILTERTO

條件表達(dá)式例:SETFILTERTOxb='男'注意:SQL命令對(duì)記錄的訪問(wèn)不受此篩選命令的限制。2.4表的使用1.工作區(qū)工作區(qū):指用來(lái)標(biāo)識(shí)一張打開的表的區(qū)域。一個(gè)工作區(qū)在某一時(shí)刻只能打開一張表,但可以同時(shí)在多個(gè)工作區(qū)打開多張表,一張可以在多個(gè)工作區(qū)中多次被打開。每個(gè)工作區(qū)都有一個(gè)編號(hào)。表的別名:在工作區(qū)中打開表時(shí)為該表所定義的名稱。可以自定義別名,否則系統(tǒng)默認(rèn)就以表名作為別名。若一張表在多個(gè)工作區(qū)中被打開,系統(tǒng)默認(rèn)在表名后依次加_a、_b…。自定義別名的格式:

USE<表名>ALIAS<別名>2.4表的使用當(dāng)前工作區(qū):正在使用的工作區(qū)??梢酝ㄟ^(guò)“數(shù)據(jù)工作期窗口”或用SELECT命令把任何一個(gè)工作區(qū)設(shè)置為當(dāng)前工作區(qū)。SELECT命令格式:

SELECT<工作區(qū)號(hào)>|<別名>要操作非當(dāng)前工作區(qū)中的表,可以把其它工作區(qū)選為當(dāng)前工作區(qū),或在命令中強(qiáng)行指定工作區(qū)。命令格式:IN<工作區(qū)號(hào)>|<別名>ALIAS([工作區(qū)號(hào)])函數(shù):測(cè)試指定工作區(qū)中的表的別名,無(wú)參數(shù)時(shí)指當(dāng)前工作區(qū)表的別名。SELECT([別名])函數(shù):測(cè)試指定別名的表所在的工作區(qū)號(hào),無(wú)參數(shù)時(shí)指當(dāng)前工作區(qū)的區(qū)號(hào)。2.4表的使用2.表的打開和關(guān)閉2.4表的使用3.表的獨(dú)占與共享使用獨(dú)占使用:一張表只能被一個(gè)用戶打開。VFP6.0在默認(rèn)狀態(tài)以獨(dú)占方式打開。共享使用:一張表可以被多個(gè)用戶同時(shí)打開。系統(tǒng)的默認(rèn)打開方式可以通過(guò)工具菜單中的選項(xiàng)…來(lái)設(shè)置,或用命令:SETEXCLUSIVEOFF&&默認(rèn)打開方式為共享SETEXCLUSIVEON&&默認(rèn)打開方式為獨(dú)占或強(qiáng)行打開:USEcjSHARED&&以共享方式打開cj表USEcjEXCLUSIVE&&以獨(dú)占方式打開cj表2.4表的使用4.利用緩沖訪問(wèn)表中的數(shù)據(jù)數(shù)據(jù)緩沖:先將對(duì)表記錄的修改存放在緩沖區(qū)中,用戶決定是否用緩沖區(qū)中的數(shù)據(jù)更新表文件。它是VFP6.0在多用戶環(huán)境下用來(lái)保護(hù)對(duì)表記錄所做的數(shù)據(jù)更新和數(shù)據(jù)維護(hù)操作的一種技術(shù)。數(shù)據(jù)緩沖的類型:記錄緩沖:當(dāng)記錄指針移動(dòng)或關(guān)閉表時(shí),緩沖區(qū)自動(dòng)更新表中的相應(yīng)記錄。表緩沖:當(dāng)發(fā)出更新表的命令或關(guān)閉表時(shí)更新表。緩沖鎖定方式:有兩種:開放式和保守式。

2.5表的索引1.基本概念記錄的順序:物理順序:即表中記錄的存儲(chǔ)順序。用記錄號(hào)表示。邏輯順序:表打開后被使用時(shí)記錄的處理順序。索引:指按表文件中某個(gè)關(guān)鍵字段或表達(dá)式建立記錄的邏輯順序。它是由一系列記錄號(hào)組成的一個(gè)列表,提供對(duì)數(shù)據(jù)的快速訪問(wèn)。索引不改變表中記錄的物理順序。表文件中的記錄被修改或刪除時(shí),索引文件可自動(dòng)更新。索引關(guān)鍵字(索引表達(dá)式):用來(lái)建立索引的一個(gè)字段或字段表達(dá)式。注意:1)用多個(gè)字段建立索引表達(dá)式時(shí),表達(dá)式的計(jì)算結(jié)果將影響索引的結(jié)果;2)不同類型字段構(gòu)成一個(gè)表達(dá)式時(shí),必須轉(zhuǎn)換數(shù)據(jù)類型。

2.5表的索引1.基本概念索引標(biāo)識(shí)(索引名):即索引關(guān)鍵字的名稱。必須以下劃線、字母或漢字開頭,且不可超過(guò)10個(gè)字。索引類型:主索引、候選索引、普通索引、唯一索引。主索引:組成主索引關(guān)鍵字的字段或表達(dá)式,在表的所有記錄中不能有重復(fù)的值。主索引只適用于數(shù)據(jù)庫(kù)表的結(jié)構(gòu)復(fù)合索引中。自由表中不可以建立主索引;數(shù)據(jù)庫(kù)中的每個(gè)表可以且只能建立一個(gè)主索引。候選索引:在指定的關(guān)鍵字段或表達(dá)式中不允許有重復(fù)值的索引。在數(shù)據(jù)庫(kù)表和自由表中均可為每個(gè)表建立多個(gè)候選索引。普通索引:也可以決定記錄的處理順序,但是允許字段中出現(xiàn)重復(fù)值。在一個(gè)表中可以加入多個(gè)普通索引。唯一索引:參加索引的關(guān)鍵字段或表達(dá)式在表中可以有重復(fù)值,但在索引對(duì)照表中,具有重復(fù)值的記錄僅存儲(chǔ)其中的第一個(gè)。2.5表的索引2.索引的作用2.5表的索引3.索引文件的種類

2.5表的索引4.創(chuàng)建結(jié)構(gòu)復(fù)合索引VFP中創(chuàng)建索引文件有兩種方式:表設(shè)計(jì)器方式和命令方式。(1)表設(shè)計(jì)器方式打開表文件→從顯示菜單中選擇表設(shè)計(jì)器

→在表設(shè)計(jì)器中單擊索引

→輸入索引名并選擇索引類型

→選擇索引的方向(按升序或降序排列記錄)→在表達(dá)式框中輸入作為排序依據(jù)的索引關(guān)鍵字

→在篩選框中輸入篩選表達(dá)式→單擊確定,完畢。2.5表的索引4.創(chuàng)建結(jié)構(gòu)復(fù)合索引(2)命令方式注意:1)備注型字段和通用型字段不能作為索引關(guān)鍵字段;2)不要建立無(wú)用的索引,以免降低系統(tǒng)性能;3)及時(shí)清理已無(wú)用索引標(biāo)識(shí),提高系統(tǒng)效率。4)在復(fù)合索引的多個(gè)索引中,某一時(shí)刻只有一個(gè)索引對(duì)表起作用。2.5表的索引2.5表的索引5.索引的修改和刪除修改:打開表設(shè)計(jì)器,在索引對(duì)話框中進(jìn)行所需修改;或用命令重新建立一個(gè)相同標(biāo)識(shí)名而索引表達(dá)式不同的索引。刪除:打開表設(shè)計(jì)器,在索引對(duì)話框中刪除不需要的索引標(biāo)識(shí)即可;或用命令:DELETETAGALL|索引標(biāo)識(shí)1[,索引標(biāo)識(shí)2]…刪除不需要的索引標(biāo)識(shí),ALL表示全部標(biāo)識(shí)。2.5表的索引6.索引的使用第三章數(shù)據(jù)庫(kù)的創(chuàng)建和使用3.1VFP數(shù)據(jù)庫(kù)1.數(shù)據(jù)庫(kù)的基本組成數(shù)據(jù)庫(kù)由一個(gè)以上相互關(guān)聯(lián)的數(shù)據(jù)表組成,可以包含一個(gè)或多個(gè)表、視圖、到遠(yuǎn)程數(shù)據(jù)源的連接和存儲(chǔ)過(guò)程。視圖(view):一個(gè)保存在數(shù)據(jù)庫(kù)中的、由引用一個(gè)或多個(gè)表、或其他視圖的相關(guān)數(shù)據(jù)組成的虛擬表,可以是本地的、遠(yuǎn)程的或帶參數(shù)的。存儲(chǔ)過(guò)程(storedprocedure):是保存在數(shù)據(jù)庫(kù)中的一個(gè)過(guò)程。該過(guò)程能包含一個(gè)用戶自定義函數(shù)中的任何命令和函數(shù)。創(chuàng)建數(shù)據(jù)庫(kù)時(shí)系統(tǒng)自動(dòng)生成3個(gè)文件:數(shù)據(jù)庫(kù)文件:擴(kuò)展名為.DBC數(shù)據(jù)庫(kù)備注文件:擴(kuò)展名為.DCT數(shù)據(jù)庫(kù)索引文件:擴(kuò)展名為.DCX3.1VFP數(shù)據(jù)庫(kù)2.數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程1)明確建立數(shù)據(jù)庫(kù)的目的和使用方式2)設(shè)計(jì)所需的數(shù)據(jù)表(包括表結(jié)構(gòu)和表記錄)3)建立表之間的關(guān)系4)改進(jìn)設(shè)計(jì)3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]1.數(shù)據(jù)庫(kù)的創(chuàng)建過(guò)程數(shù)據(jù)庫(kù)的創(chuàng)建過(guò)程中一般會(huì)涉及下面一些常用操作:1)創(chuàng)建新表→

用表設(shè)計(jì)器(設(shè)置字段屬性和表屬性)2)添加表→

用數(shù)據(jù)庫(kù)設(shè)計(jì)器按鈕或數(shù)據(jù)庫(kù)菜單3)創(chuàng)建視圖→

用視圖向?qū)?、視圖設(shè)計(jì)器4)建立關(guān)系→用鼠標(biāo)將父表的索引拖到子表的相關(guān)索引上5)編輯關(guān)系→用數(shù)據(jù)庫(kù)菜單或快捷菜單→參照完整性生成器6)移去關(guān)系→

用快捷菜單或按delete鍵7)修改表→

用表設(shè)計(jì)器8)刪除表或視圖→

用數(shù)據(jù)庫(kù)設(shè)計(jì)器按鈕或數(shù)據(jù)庫(kù)菜單3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]2.數(shù)據(jù)庫(kù)的新建、打開、關(guān)閉(1)新建數(shù)據(jù)庫(kù):從文件菜單中單擊新建→在新建對(duì)話框中選擇數(shù)據(jù)庫(kù)并單擊新文件→在創(chuàng)建對(duì)話框中給出庫(kù)文件名和保存位置→在數(shù)據(jù)庫(kù)設(shè)計(jì)器中建立所需的數(shù)據(jù)庫(kù)?;驈拿畲翱谥休斎朊睿篶reatedatabase數(shù)據(jù)庫(kù)名(2)打開數(shù)據(jù)庫(kù):從文件菜單中單擊打開→在打開對(duì)話框中給出庫(kù)文件名和保存位置并確定之?;驈拿畲翱谥休斎朊睿?/p>

opendatabase數(shù)據(jù)庫(kù)名3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]2.數(shù)據(jù)庫(kù)的新建、打開、關(guān)閉(3)關(guān)閉數(shù)據(jù)庫(kù):從命令窗口中輸入命令:closedatabase&&關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)或closeall&&關(guān)閉所有被打開的數(shù)據(jù)庫(kù)注意:1)關(guān)閉了數(shù)據(jù)庫(kù)表不等于關(guān)閉了數(shù)據(jù)庫(kù),但關(guān)閉了數(shù)據(jù)庫(kù)則其中的數(shù)據(jù)表被同時(shí)關(guān)閉;2)用鼠標(biāo)關(guān)閉了數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口并不能代表關(guān)閉數(shù)據(jù)庫(kù)

3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(1)調(diào)出表設(shè)計(jì)器,建立一個(gè)新數(shù)據(jù)表[圖例]方法1:從數(shù)據(jù)庫(kù)菜單中選擇新表。方法2:右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口,從快捷菜單中選擇新表。方法3:?jiǎn)螕魯?shù)據(jù)庫(kù)設(shè)計(jì)器工具欄的新表按鈕。方法4:從文件菜單中單擊新建,在對(duì)話框中選擇表。注意:數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器中內(nèi)容比自由表的多,增加了字段屬性和表屬性的設(shè)置。設(shè)置驗(yàn)證規(guī)則目的是為了使輸入的數(shù)據(jù)符合要求,在有矛盾時(shí)發(fā)出錯(cuò)誤提示信息。3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(2)數(shù)據(jù)庫(kù)表的高級(jí)屬性3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)字段級(jí)規(guī)則:一種與字段相關(guān)的有效性規(guī)則,在插入或修改字段值時(shí)被激活,多用于數(shù)據(jù)輸入正確性的檢驗(yàn)。為字段設(shè)置驗(yàn)證規(guī)則的方法:.在表設(shè)計(jì)器中選定要建立規(guī)則的字段名。

.在“規(guī)則”方框旁邊選擇“…”按鈕。

.在表達(dá)式生成器中設(shè)置有效性表達(dá)式,并選擇“確定”。

.在“信息”框中,鍵入用引號(hào)括起的錯(cuò)誤信息。

.在“默認(rèn)值”框中,鍵入合理的初值。

.注意不同類型數(shù)據(jù)的表示方法。

.選擇“確定”記錄級(jí)規(guī)則:一種與記錄相關(guān)的有效性規(guī)則,當(dāng)插入或修改記錄時(shí)激活,常用來(lái)檢驗(yàn)數(shù)據(jù)輸入和正確性。記錄被刪除時(shí)不使用有效性規(guī)則。記錄級(jí)規(guī)則在字段級(jí)規(guī)則之后和觸發(fā)器之前激活,在緩沖更新時(shí)工作。3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)觸發(fā)器:在一個(gè)插入、更新或刪除操作之后運(yùn)行的記錄級(jí)事件代碼。不同的事件可以對(duì)應(yīng)不同的動(dòng)作。它們常用于交叉表的完整性。(3)在數(shù)據(jù)庫(kù)中添加表方法1:從數(shù)據(jù)庫(kù)菜單中選擇添加表,從打開對(duì)話框中選擇所需的表并確定之。方法2:右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口,從快捷菜單中選擇添加表。方法3:?jiǎn)螕魯?shù)據(jù)庫(kù)設(shè)計(jì)器工具欄的添加按鈕。注意:一個(gè)數(shù)據(jù)表在同一時(shí)間內(nèi)只能屬于一個(gè)數(shù)據(jù)庫(kù),已隸屬于其它數(shù)據(jù)庫(kù)的表不能直接被添加進(jìn)來(lái),需先將其移出數(shù)據(jù)庫(kù)還原成自由表。3.2數(shù)據(jù)庫(kù)的創(chuàng)建[圖例]3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(4)創(chuàng)建并添加視圖視圖用于顯示一個(gè)或多個(gè)表中的記錄,并能夠更新源表中的數(shù)據(jù),視圖只有在數(shù)據(jù)庫(kù)中才能存在。方法1:從數(shù)據(jù)庫(kù)菜單中選擇新遠(yuǎn)程視圖或新本地視圖方法2:右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口,從快捷菜單中選擇新遠(yuǎn)程視圖或新本地視圖方法3:?jiǎn)螕魯?shù)據(jù)庫(kù)設(shè)計(jì)器工具欄的新遠(yuǎn)程視圖或新本地視圖按鈕3.2數(shù)據(jù)庫(kù)的創(chuàng)建3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(5)在數(shù)據(jù)庫(kù)中操作表和視圖可以利用數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄很方便地進(jìn)行下列操作:瀏覽:在瀏覽窗口中顯示表或視圖的內(nèi)容。修改:調(diào)出表設(shè)計(jì)器或視圖設(shè)計(jì)器對(duì)表或視圖進(jìn)行修改。移去:使表從數(shù)據(jù)庫(kù)中還原成自由表。對(duì)視圖移去相當(dāng)于刪除。刪除:從磁盤上徹底刪除數(shù)據(jù)表和視圖,并且無(wú)法回收。3.2數(shù)據(jù)庫(kù)的創(chuàng)建3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(6)在表之間建立永久性關(guān)系永久關(guān)系:是數(shù)據(jù)庫(kù)表之間的一種關(guān)系,不僅運(yùn)行時(shí)存在,而且一直保留。表之間的永久關(guān)系是通過(guò)索引建立的。一對(duì)多關(guān)系:表之間的一種關(guān)系,在這種關(guān)系中,主表中的每一個(gè)記錄與相關(guān)表中的多個(gè)記錄相關(guān)聯(lián)(每一個(gè)主關(guān)鍵字值在相關(guān)表中可出現(xiàn)多次)。一對(duì)一關(guān)系:表之間的一種關(guān)系,在這種關(guān)系中,主表中的每一個(gè)記錄只與相關(guān)表中的一個(gè)記錄相關(guān)聯(lián)。

3.2數(shù)據(jù)庫(kù)的創(chuàng)建3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(6)在表之間建立永久性關(guān)系創(chuàng)建表間的永久關(guān)系:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選擇想要關(guān)聯(lián)的索引名,然后把它拖到相關(guān)表的索引名上,所拖動(dòng)的父表索引必須是一個(gè)主索引或候選索引。建立好關(guān)系后,這種關(guān)系在數(shù)據(jù)庫(kù)設(shè)計(jì)器中會(huì)顯示為一條連接兩個(gè)表的直線。注意:需先建立索引然后才能建立關(guān)系。刪除表間的永久關(guān)系:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,單擊兩表間的關(guān)系線。關(guān)系線變粗,表明已選擇了該關(guān)系,按下delete鍵。編輯關(guān)系:?jiǎn)螕羲桕P(guān)系線,右擊鼠標(biāo),從快捷菜單中選擇編輯關(guān)系,在編輯關(guān)系對(duì)話框中改選其它相關(guān)表索引名或修改參照完整性規(guī)則。參照完整性(RI):控制數(shù)據(jù)一致性,尤其是不同表的主關(guān)鍵字和外部關(guān)鍵字之間關(guān)系的規(guī)則。VisualFoxPro使用用戶自定義的字段級(jí)和記錄級(jí)規(guī)則完成參照完成性規(guī)則。

3.2數(shù)據(jù)庫(kù)的創(chuàng)建3.用數(shù)據(jù)庫(kù)設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫(kù)(7)在表之間建立臨時(shí)關(guān)系臨時(shí)關(guān)系:是在打開的數(shù)據(jù)表之間用setrelation命令建立的臨時(shí)關(guān)系,或是在數(shù)據(jù)工作期窗口建立。建立了臨時(shí)關(guān)系后,子表的指針會(huì)隨主表記錄指針的移動(dòng)。表被關(guān)閉后,關(guān)系自動(dòng)解除。臨時(shí)關(guān)系與永久關(guān)系的聯(lián)系與區(qū)別:聯(lián)系:(1)都必須明確建立關(guān)系的兩張表之間確實(shí)在客觀上存在著一種關(guān)系(一對(duì)多或一對(duì)一關(guān)系)。(2)永久關(guān)系在許多場(chǎng)合可以作為默認(rèn)的臨時(shí)關(guān)系。區(qū)別:(1)臨時(shí)關(guān)系是用來(lái)在打開的兩張表之間控制相關(guān)表之間記錄的訪問(wèn);而永久關(guān)系主要是用來(lái)存儲(chǔ)相關(guān)表之間的參照完整性,附帶地可以作為默認(rèn)的臨時(shí)關(guān)系或查詢中默認(rèn)的聯(lián)接條件。(2)臨時(shí)關(guān)系在表打開之后使用setrelation命令建立,隨表的關(guān)閉而解除;永久關(guān)系永久地保存在數(shù)據(jù)庫(kù)中而不必在每次使用表時(shí)重新創(chuàng)建。(3)臨時(shí)關(guān)系可以在自由表之間、庫(kù)表之間或自由表與庫(kù)表之間建立,而永久關(guān)系只能在庫(kù)表之間建立。(4)臨時(shí)關(guān)系中一張表不能有兩張主表(除非這兩張主表是通過(guò)子表的同一個(gè)主控索引建立的臨時(shí)關(guān)系),永久關(guān)系則不然。3.2數(shù)據(jù)庫(kù)的創(chuàng)建4.用命令方式操作數(shù)據(jù)庫(kù)常用命令一覽表3.2數(shù)據(jù)庫(kù)的創(chuàng)建4.用命令方式操作數(shù)據(jù)庫(kù)常用命令一覽表3.2數(shù)據(jù)庫(kù)的創(chuàng)建5.用CREATETABLE-SQL命令創(chuàng)建數(shù)據(jù)庫(kù)表命令一般格式:Createtable表名1[free](字段名1字段類型代號(hào)[(字段寬度[,小數(shù)位數(shù)])][null|notnull][check字段規(guī)則1[error“信息1”]][default默認(rèn)值][primarykey|unique][references表名2[tag索引標(biāo)識(shí)1]][,字段名2字段類型代號(hào)[(字段寬度[,小數(shù)位數(shù)])][null|notnull]][check字段規(guī)則2[error“信息2”]][default默認(rèn)值])|fromarray數(shù)組名

3.2數(shù)據(jù)庫(kù)的創(chuàng)建5.用CREATETABLE-SQL命令創(chuàng)建數(shù)據(jù)庫(kù)表使用示例:creatdataxscjgl&&創(chuàng)建學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)3.2數(shù)據(jù)庫(kù)的創(chuàng)建5.用CREATETABLE-SQL命令創(chuàng)建數(shù)據(jù)庫(kù)表使用示例:

createtablexs(;xhc(4)default"1201"primarykey,;xmc(6),;xbc(2)checkxb="男"orxb="女"error"性別只能是男或女"default"女",;nln(2)null;)&&創(chuàng)建學(xué)生表3.2數(shù)據(jù)庫(kù)的創(chuàng)建5.用CREATETABLE-SQL命令創(chuàng)建數(shù)據(jù)庫(kù)表使用示例:

createtablekc(;kchc(3)unique,;kcmc(10),;xfn(3,1),;bxkl;)&&創(chuàng)建課程表3.2數(shù)據(jù)庫(kù)的創(chuàng)建5.用CREATETABLE-SQL命令創(chuàng)建數(shù)據(jù)庫(kù)表使用示例:

createtablecj(;xhc(4)default"1201"referencexstagxh,;kchc(8),;ksrqd,;cjn(5,1);)&&創(chuàng)建成績(jī)表3.2數(shù)據(jù)庫(kù)的創(chuàng)建5.用CREATETABLE-SQL命令創(chuàng)建數(shù)據(jù)庫(kù)表使用示例:

modidataaltertablecjaddprimarykeyxh+kch+str(cj,4,1)tagdh&&為成績(jī)表添加一個(gè)主索引

第五章VFP語(yǔ)言基礎(chǔ)5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式1.?dāng)?shù)據(jù)類型VFP包含下列數(shù)據(jù)類型:

5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器VFP中用來(lái)存儲(chǔ)數(shù)據(jù)的容器有:常量、變量、數(shù)組、記錄和對(duì)象。(1)常量(constants):一個(gè)在操作過(guò)程中保持不變的數(shù)值或字符串。

常用的常量類型5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器(2)變量(variables):是內(nèi)存中的一個(gè)存儲(chǔ)單元的位置,其中的內(nèi)容可以變化,但標(biāo)識(shí)該存儲(chǔ)位置的名稱(即變量名)不變。變量的命名習(xí)慣:類型變量代號(hào)如:cStud、nCj、dCsrq——分別代表一個(gè)字符型、數(shù)值型、日期型的變量名變量的賦值方式:1)用STORE命令如:STORE"王蘭"TOcStud2)用賦值操作符=如:cStud="王蘭"

5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器變量的作用域:即變量起使用的有效范圍

5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器(2)變量(variables):變量的訪問(wèn):當(dāng)變量和字段同名時(shí),字段有優(yōu)先被訪問(wèn)權(quán)。要在變量名前加m.或m->以示區(qū)別,如m.cStud

5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器(3)數(shù)組(array):是存儲(chǔ)在一個(gè)變量中由單個(gè)變量名引用的有序數(shù)據(jù)集合。在VFP中,一個(gè)數(shù)組中的數(shù)據(jù)不必是同一種數(shù)據(jù)類型。常用的有一維數(shù)組,二維數(shù)組。數(shù)組元素的標(biāo)識(shí):通過(guò)一個(gè)數(shù)值下標(biāo)來(lái)引用,如AA[2],AA[2,3]數(shù)組類型的聲明:私有數(shù)組——用DECLARE或DIMENSION定義全局?jǐn)?shù)組——用PUBLIC命定義局部數(shù)組——用LOCAL定義5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器(3)數(shù)組(array):數(shù)組元素的賦值:用賦值語(yǔ)句:如AA=45用SCATTER從當(dāng)前記錄中取特定字段的值賦給數(shù)組:如:scatterfieldsxh,xm,xbtoaa

(數(shù)組長(zhǎng)度、類型自動(dòng)與所給字段相同)用COPYTOARRAY從當(dāng)前記錄中取所有字段的值賦給數(shù)組:如:copytoarrayaa

(數(shù)組長(zhǎng)度、類型自動(dòng)與表中全部字段相同)把數(shù)組中的數(shù)據(jù)傳給當(dāng)前表中的當(dāng)前記錄:

gatherfrom數(shù)組名[fields字段名表]用數(shù)組向當(dāng)前表添加記錄:appendfromarray數(shù)組名[for條件][[fields字段名表](用二維數(shù)組可以同時(shí)添加多條記錄)5.1數(shù)據(jù)與數(shù)據(jù)儲(chǔ)存方式2.數(shù)據(jù)容器(4)記錄:表中的一行,由字段組成。(5)對(duì)象:對(duì)象是類的一個(gè)實(shí)例,類是對(duì)擁有數(shù)據(jù)和一定行為特征的對(duì)象集合的描述。VFP對(duì)象可以是表單、表單集、控件。

5.2VFP6.0的語(yǔ)言成分1.命令即:由用戶發(fā)出的、指示VFP進(jìn)行某種操作的指令。如USEaaa&打開一個(gè)名為aaa.dbf的數(shù)據(jù)表2.函數(shù)即:一個(gè)預(yù)先編制好的模塊,可由VFP程序在任何地方調(diào)用。函數(shù)的使用方法:名稱、功能、參數(shù)、返回值5.2VFP6.0的語(yǔ)言成分2.函數(shù)常用函數(shù)5.2VFP6.0的語(yǔ)言成分2.函數(shù)常用函數(shù)5.2VFP6.0的語(yǔ)言成分2.函數(shù)常用函數(shù)5.2VFP6.0的語(yǔ)言成分3.表達(dá)式即:變量、操作符、常量、函數(shù)、字段名、控制以及屬性的組合,求值結(jié)果為單個(gè)值。表達(dá)式的類型:算術(shù)表達(dá)式:由算術(shù)操作符和數(shù)值型數(shù)據(jù)構(gòu)成的表達(dá)式。字符表達(dá)式:由字符操作符和字符型數(shù)據(jù)構(gòu)成的表達(dá)式。日期表達(dá)式:由日期操作符和日期、時(shí)間型數(shù)據(jù)構(gòu)成的表達(dá)式。邏輯表達(dá)式:由邏輯操作符和邏輯型數(shù)據(jù)構(gòu)成的表達(dá)式。5.2VFP6.0的語(yǔ)言成分4.操作符第六章程序設(shè)計(jì)基礎(chǔ)6.1程序設(shè)計(jì)概述1.程序設(shè)計(jì)方法簡(jiǎn)介6.1程序設(shè)計(jì)概述2.基本概念程

序:為解決某一問(wèn)題而設(shè)計(jì)的一系列指令。主程序:通常被用戶直接執(zhí)行的程序。子程序:在程序中被調(diào)用的程序。源程序:由人用源語(yǔ)言編寫的計(jì)算機(jī)程序,必須翻譯成機(jī)器語(yǔ)言后才能被執(zhí)行。目標(biāo)程序:是源程序經(jīng)過(guò)編譯后所產(chǎn)生的機(jī)器語(yǔ)言程序。6.1程序設(shè)計(jì)概述2.基本概念可執(zhí)行程序:源程序被編譯后產(chǎn)生的可被機(jī)器直接執(zhí)行的程序,具有.EXE擴(kuò)展名。在VFP中是指由項(xiàng)目管理器連編生成的、可脫離VFP環(huán)境運(yùn)行的程序。應(yīng)用程序:指為完成專門工作而設(shè)計(jì)的一組相互聯(lián)系的例行程序和子程序。在VFP中是指一組VisualFoxPro程序、表單、菜單和其他文件經(jīng)項(xiàng)目管理器連編后形成的單個(gè)程序,不能脫離VFP環(huán)境運(yùn)行,擴(kuò)展名為.APP。例行程序:按某種順序排列的、使計(jì)算機(jī)能執(zhí)行某種任務(wù)的指令集合,可以是一種專用的程序或作為程序的一部分。它可由若干個(gè)子程序組成。6.1程序設(shè)計(jì)概述2.程序控制(1)順序語(yǔ)句即按程序中的語(yǔ)句順序依次執(zhí)行。6.1程序設(shè)計(jì)概述2.程序控制(2)分支語(yǔ)句6.1程序設(shè)計(jì)概述2.程序控制(3).循環(huán)語(yǔ)句6.1程序設(shè)計(jì)概述2.程序控制(3).循環(huán)語(yǔ)句循環(huán)結(jié)構(gòu)中的LOOP命令和EXIT命令:LOOP是短路語(yǔ)句,表示從此開始下一次循環(huán);EXIT是退出語(yǔ)句,表示跳出循環(huán)。

6.1程序設(shè)計(jì)概述4.子程序子程序的的形式可以是一個(gè)程序文件,也可以是一個(gè)過(guò)程或自定義函數(shù)。6.2程序設(shè)計(jì)1.創(chuàng)建應(yīng)用程序方法一:在命令窗口中輸入:MODIFYCOMMAND程序名方法二:?jiǎn)螕粑募藛巍陆ā绦颉挛募诰庉嫶翱谥芯庉嫵绦颉瓿珊箨P(guān)閉→給出合適的程序名及保存位置。

6.2程序設(shè)計(jì)1.創(chuàng)建應(yīng)用程序程序的注釋:方法1:*|NOTE<注釋內(nèi)容>可出現(xiàn)在程序中的任何地方方法2:&&<注釋內(nèi)容>一般用于命令的尾部給程序加注釋的目的是為了提高程序的可讀性。面向過(guò)程的程序設(shè)計(jì)三步曲:輸入→處理→輸出。

6.2程序設(shè)計(jì)2.修改應(yīng)用程序方法一:在命令窗口中輸入:MODIFYCOMMAND程序名|?注:?表示不知道程序名,要從打開對(duì)話框中選定。方法二:?jiǎn)螕粑募藛巍蜷_→選擇所需程序并打開→在編輯窗口中對(duì)程序進(jìn)行修改→完成后關(guān)閉退出。6.2程序設(shè)計(jì)3.執(zhí)行應(yīng)用程序方法一:在命令窗口中輸入:DO程序名|?方法二:從程序菜單中選擇執(zhí)行→從打開對(duì)話框中選擇所需程序并執(zhí)行之。6.2程序設(shè)計(jì)4.程序設(shè)計(jì)的基本步驟(1)對(duì)問(wèn)題進(jìn)行說(shuō)明(2)分解問(wèn)題(3)編制各模塊(4)測(cè)試并完善各模塊(5)組裝全部模塊(6)整體測(cè)試第七章創(chuàng)建查詢和視圖7.1創(chuàng)建查詢1.查詢的概念查詢:就是向一個(gè)數(shù)據(jù)庫(kù)發(fā)出檢索信息的請(qǐng)求,從中提取符合特定條件的記錄。查詢文件:即保存實(shí)現(xiàn)查詢的SELECT-SQL命令的文件。查詢文件保存時(shí),系統(tǒng)自動(dòng)給出擴(kuò)展名.qpr;查詢被運(yùn)行后,系統(tǒng)還會(huì)生成一個(gè)編譯后的查詢文件,擴(kuò)展名為.qpx。查詢結(jié)果:通過(guò)運(yùn)行查詢文件得到的一個(gè)基于表和視圖的動(dòng)態(tài)的數(shù)據(jù)集合。查詢結(jié)果可以用不同的形式來(lái)保存。查詢中的數(shù)據(jù)是只讀的。7.2創(chuàng)建視圖1.視圖的特點(diǎn)1)視圖是存在于數(shù)據(jù)庫(kù)中的一個(gè)虛表,不以獨(dú)立的文件形式保存;2)視圖中的數(shù)據(jù)是可以更改的,它不僅具有查詢的功能,且可以把更新結(jié)果反映到源數(shù)據(jù)表中;3)視圖打開時(shí),其基表自動(dòng)打開,但視圖關(guān)閉時(shí),其基表并不隨之自動(dòng)關(guān)閉;4)視圖的數(shù)據(jù)源可以是自由表、數(shù)據(jù)庫(kù)表或另一個(gè)視圖。第八章表單設(shè)計(jì)8.1基本概念1.名詞解釋表單:即用戶與計(jì)算機(jī)進(jìn)行交流的一種屏幕界面,用于數(shù)據(jù)的顯示、輸入、修改。該界面可以自行設(shè)計(jì)和定義,是一種容器類,可包括多個(gè)控件(或稱對(duì)象)。

表單集:可包含一張或多張表單的容器。數(shù)據(jù)環(huán)境:在打開或修改一個(gè)表單或報(bào)表時(shí)需要打開的全部表、視圖和關(guān)系。它以窗口形式(類似于數(shù)據(jù)庫(kù)設(shè)計(jì)器)反映出與表單有關(guān)的表、視圖、表之間關(guān)系等內(nèi)容??梢杂脭?shù)據(jù)環(huán)境設(shè)計(jì)器來(lái)創(chuàng)建和修改表單的數(shù)據(jù)環(huán)境。8.2創(chuàng)建表單可以用表單向?qū)?、表單設(shè)計(jì)器、表單生成器、編程四種方法創(chuàng)建表單。1.利用向?qū)?chuàng)建表單(1)創(chuàng)建單張表的表單:打開文件菜單→新建→表單→向?qū)或從常用工具欄上選擇表單(F)]→選擇表單向?qū)Аx取字段→選擇樣式→選擇排序記錄→選擇保存方式→給出合適的文件名和保存位置。8.3向表單中添加控件1.常用控件的作用標(biāo)簽:用于保存不希望用戶改動(dòng)的文本,常用來(lái)為添加的控件寫標(biāo)。文本框:用于輸入或編輯表中的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論