數(shù)據(jù)庫新函授VFP11課件_第1頁
數(shù)據(jù)庫新函授VFP11課件_第2頁
數(shù)據(jù)庫新函授VFP11課件_第3頁
數(shù)據(jù)庫新函授VFP11課件_第4頁
數(shù)據(jù)庫新函授VFP11課件_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章數(shù)據(jù)庫基礎(chǔ)和VisualFoxPro6.0編程環(huán)境

數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。隨著人類社會(huì)進(jìn)入信息時(shí)代,人們對(duì)數(shù)據(jù)處理的要求越來越高,這就導(dǎo)致了數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展。數(shù)據(jù)庫技術(shù)主要研究如何存儲(chǔ)、使用和管理數(shù)據(jù),它已成為計(jì)算機(jī)領(lǐng)域中最重要的技術(shù)之一,是軟件學(xué)科的一個(gè)獨(dú)立分支,人們利用數(shù)據(jù)庫技術(shù)已經(jīng)開發(fā)出許多應(yīng)用軟件和管理軟件,如工資管理、財(cái)務(wù)管理、圖書管理、人事檔案管理等,凡是牽涉有數(shù)據(jù)處理的領(lǐng)域,都是數(shù)據(jù)庫大顯身手的地方。數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用的核心。

第1章數(shù)據(jù)庫基礎(chǔ)和VisualFoxPro6.0編程環(huán)1一、基本概念1、數(shù)據(jù):存儲(chǔ)在某一媒體上的符號(hào)記錄。2、信息:人腦對(duì)現(xiàn)實(shí)世界的描述和反映?,F(xiàn)實(shí)世界信息世界數(shù)據(jù)世界3、數(shù)據(jù)處理:數(shù)據(jù)轉(zhuǎn)換成信息的過程。對(duì)各種形式的數(shù)據(jù)進(jìn)行匯集、傳輸、分組、排序、存儲(chǔ)、檢索、計(jì)算等一系列操作稱為數(shù)據(jù)處理。一、基本概念1、數(shù)據(jù):存儲(chǔ)在某一媒體上的符號(hào)記錄?,F(xiàn)實(shí)世界24、數(shù)據(jù)管理技術(shù)發(fā)展的3個(gè)階段

第一階段(50年代中期):人工管理階段(數(shù)據(jù)包含在程序中)

第二階段(50年代后期至60年代中期):文件系統(tǒng)階段(數(shù)據(jù)與程序存在各自的文件中,但由程序來管理數(shù)據(jù))

第三階段(60年代后期以來):數(shù)據(jù)庫系統(tǒng)階段(數(shù)據(jù)與程序獨(dú)立,由數(shù)據(jù)庫管理系統(tǒng)管理數(shù)據(jù))4、數(shù)據(jù)管理技術(shù)發(fā)展的3個(gè)階段3(1)人工管理階段

這是計(jì)算機(jī)數(shù)據(jù)處理的初級(jí)階段。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)組1數(shù)據(jù)組2數(shù)據(jù)組n……(1)人工管理階段應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)組1數(shù)據(jù)4(2)文件管理階段所謂文件,即有名字的一組相關(guān)信息的集合。文件管理方式是將待加工的數(shù)據(jù)組織成數(shù)據(jù)文件,在程序中可以通過文件名邏輯性地存取文件中的數(shù)據(jù)。文件管理方式的主要特點(diǎn)是將數(shù)據(jù)與程序分離,數(shù)據(jù)是獨(dú)立于程序而存在的。程序2程序1程序3文件管理系統(tǒng)數(shù)據(jù)文件1數(shù)據(jù)文件3數(shù)據(jù)文件2數(shù)據(jù)文件1(2)文件管理階段程序2程序1程序3文數(shù)據(jù)文件1數(shù)據(jù)文件3數(shù)5(3)數(shù)據(jù)庫管理階段

與文件管理方式最大的區(qū)別是:數(shù)據(jù)庫管理方式是面向系統(tǒng)的。它將各應(yīng)用程序中需要使用的數(shù)據(jù)匯集在一起,形成一個(gè)具有一定數(shù)據(jù)結(jié)構(gòu)的集成化的數(shù)據(jù)集合,也即數(shù)據(jù)庫。在數(shù)據(jù)庫管理方式下,數(shù)據(jù)和程序是完全分離的,不再存在依存的關(guān)系。因此當(dāng)數(shù)據(jù)改動(dòng)時(shí),程序不受任何影響。

DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)庫的主要特征(1)數(shù)據(jù)共享及最小的數(shù)據(jù)冗余度(統(tǒng)一存貯、集中管理)(2)數(shù)據(jù)的完整性(正確性、一致性)(3)數(shù)據(jù)的安全性(檢驗(yàn)身份、權(quán)限不被非法利用和破壞)(4)數(shù)據(jù)的獨(dú)立性(數(shù)據(jù)獨(dú)立于程序)(3)數(shù)據(jù)庫管理階段DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)65、數(shù)據(jù)庫概念(1)數(shù)據(jù)庫(DB)數(shù)據(jù)庫(Database,簡稱DB)是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。

(2)數(shù)據(jù)庫管理系統(tǒng)(DBMS)建立、使用和維護(hù)數(shù)據(jù)庫的軟件(數(shù)據(jù)庫系統(tǒng)的核心)主要功能:數(shù)據(jù)庫定義、數(shù)據(jù)庫操作、數(shù)據(jù)運(yùn)行管理、數(shù)據(jù)庫維護(hù)、通信管理用途:科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)(3)數(shù)據(jù)庫系統(tǒng)(DBS)

在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員5、數(shù)據(jù)庫概念(1)數(shù)據(jù)庫(DB)數(shù)據(jù)庫(Database7

數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具

操作系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理員用戶用戶用戶

數(shù)據(jù)庫系統(tǒng)(4)數(shù)據(jù)庫系統(tǒng)的特點(diǎn)

數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)的共享數(shù)據(jù)的獨(dú)立性數(shù)據(jù)的完整性與安全性減少數(shù)據(jù)冗余度應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具用戶用戶用戶數(shù)據(jù)庫8(1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱為實(shí)體??梢允蔷唧w的人、事、物或抽象的概念。(2)實(shí)體集(EntitySet)同一類型實(shí)體的集合稱為實(shí)體集(3)屬性(Attribute)實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。(4)聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。6、數(shù)據(jù)模型

聯(lián)系:一對(duì)一一對(duì)多多對(duì)多——對(duì)現(xiàn)實(shí)世界中的事物及其聯(lián)系的描述(1)實(shí)體(Entity)6、數(shù)據(jù)模型

聯(lián)系:——對(duì)現(xiàn)實(shí)9層次模型(一對(duì)多)廣西大學(xué)商學(xué)院農(nóng)學(xué)院林學(xué)院辦公室林學(xué)教研室園林教研室生態(tài)教研室7、數(shù)據(jù)庫的數(shù)據(jù)模型分類1)層次模型用樹狀數(shù)據(jù)結(jié)構(gòu)形式來表示事物及其之間的關(guān)系。層次模型(一對(duì)多)廣西大學(xué)商學(xué)院農(nóng)學(xué)院林學(xué)院辦公室林學(xué)教研室10網(wǎng)絡(luò)模型(多對(duì)多)2)網(wǎng)絡(luò)模型用有向圖的數(shù)據(jù)結(jié)構(gòu)形式來表示事物及其之間的關(guān)系。南方商場彩電銀河商場洗衣機(jī)民生商場電冰箱網(wǎng)絡(luò)模型(多對(duì)多)2)網(wǎng)絡(luò)模型南方商場彩電銀河商場洗衣機(jī)民生11關(guān)系模型學(xué)號(hào)姓名性別出生年月9602001黃麗萍女1978.01.049602002王百靈男1979.05.069602003王少頌?zāi)?977.06.089602004楊韻峰男1979.05.039602005康敏男1976.01.23記錄字段(屬性)字段值3)關(guān)系模型用二維表格形式來表示事物及其之間的關(guān)系。每個(gè)二維表格稱為一個(gè)“關(guān)系”表的每一行稱為一條記錄表的每一列稱為一個(gè)字段(屬性),列不能再折分。

關(guān)系模型學(xué)號(hào)姓名性別出生年月9602001黃麗萍女1978.128、關(guān)系型數(shù)據(jù)庫的三種運(yùn)算選擇投影合并(聯(lián)結(jié))從一個(gè)關(guān)系(表)中按照一定的條件選出若干記錄(行)生成一個(gè)新的關(guān)系(表)。從一個(gè)關(guān)系(表)中選出若干列生成一個(gè)新的關(guān)系(表)。將兩個(gè)同類關(guān)系(表)按照一定的條件進(jìn)行記錄重組生成一新關(guān)系(表)學(xué)號(hào)姓名性別出生年月9602001黃麗萍女1978.01.049602002王百靈男1979.05.069602003王少頌?zāi)?977.06.089602004楊韻峰男1979.05.039602005康敏男1976.01.238、關(guān)系型數(shù)據(jù)庫的三種運(yùn)算選擇投影合并(聯(lián)結(jié))從一13二、Visual

FoxPro啟動(dòng)與退出p112、啟動(dòng)常規(guī)方法快捷方式雙擊Windows桌面上的FoxPro圖標(biāo)(紅色狐貍頭標(biāo)志)3、退出

在命令窗口輸入QUIT或按主窗口的關(guān)閉按鈕1、VisualFoxPro6.0的特點(diǎn)1)簡單、易學(xué)、易用2)功能強(qiáng)大二、VisualFoxPro啟動(dòng)與退出p112、啟動(dòng)144、VisualFoxPro窗口組成4、VisualFoxPro窗口組成155、VFP工作方式p18

命令方式菜單方式程序方式6、命令格式

命令動(dòng)詞

[子句]和[參數(shù)]命令動(dòng)詞不分大小寫,可用前4個(gè)字符來簡寫(半角英標(biāo)狀態(tài))例:display——disp?——顯示輸出命令clear——清屏命令?3+3?“計(jì)算機(jī)考試”clearquit5、VFP工作方式p18?3+3162.1數(shù)據(jù)按存在形式(常量和變量)數(shù)值型(N)字符型(C)按類型分日期型(D)月/日/年(10多種)邏輯型(L)備注型(M)通用型貨幣型第2章VisualFoxPro6.0編程基礎(chǔ)一、數(shù)據(jù)類型2.1數(shù)據(jù)按存在形式(常量和變量)第2章Visu172.2常量與變量數(shù)值型如:3900、12.6、字符型如:“ABC”、“213”“張三”(用定界符引起來的數(shù)據(jù))日期型如:{mm/dd/yy}如{08/11/11}或{^yyyy-mm-dd}如{^1978-12-30}邏輯型如:.T.And.F.(2)變量

字段變量(字段名)多值變量、存于表中

內(nèi)存變量單值變量度存于內(nèi)存中變量的命名:p23變量顯示用?例:?X(1)常量(N、C、L、D)2.2常量與變量數(shù)值型如:3900、12.6、(2)18(3)變量的賦值1)賦值語句

STORE表達(dá)式TO內(nèi)存變量STORE3*2-1TOX,Y,Z2)賦值號(hào)“=” 變量=表達(dá)式例:x=5.3s=“asd”xm=“張三”w=s(不等同

s=w)(3)變量的賦值192.3、運(yùn)算符和表達(dá)式:p26(1)表達(dá)式數(shù)值型表達(dá)式字符…………日期…………關(guān)系…………..邏輯…………..(2)字符型表達(dá)式的運(yùn)算+連接—去尾空連接例:A=‘ABCD’B=‘1234’,?A+B?A-BABCD1234ABCD1234算術(shù)運(yùn)算符:+、—、*、/、^字符型運(yùn)算符:+、—關(guān)系運(yùn)算符:>、<、>=、邏輯運(yùn)算符:AND、OR、NOT2.3、運(yùn)算符和表達(dá)式:p26(2)字符型表達(dá)式的運(yùn)算20(3)日期運(yùn)算日期相減——得天數(shù)一個(gè)日期加(減)一個(gè)天數(shù)——日期例;{^2011/08/20}-{^2011/08/10}——{^2011/08/20}+3——12天CTOD(‘05/16/99’)(4)關(guān)系和邏輯運(yùn)算——結(jié)果是邏輯值(.T..F.)X=3,Y=6,Z=9?X<Z.OR.Y<X——?X+Y>Z.AND.X-Y+Z=6——?.NOT.X+Y=ZTFF(3)日期運(yùn)算日期相減——得天數(shù)例;{^2011215、函數(shù)p29(1)取整函數(shù)INT(X)例:?INT(3.99)——3?INT(8/3)——2(2)取子串函數(shù)SUBSTR(S,I,N)在S中從I位置起截N個(gè)字符函數(shù)值為C例:SUBSTR(‘COMPUTRE’,4,3)——PUT(4)轉(zhuǎn)換函數(shù)a、N——CSTR(R,L,D)b、C——NVAL(S)c、C——DCTOD(“MM/DD/YY”)(3)求字符串出現(xiàn)的位置AT(C1,C2)?at("計(jì)算機(jī)","全國計(jì)算機(jī)等級(jí)考試")5、函數(shù)p29INT(X)例:?INT(3.99)——22表是FoxPro數(shù)據(jù)庫的基本元素。11.1創(chuàng)建表

1、表的概念一個(gè)具體的二維表就是一個(gè)VFP的數(shù)據(jù)表(擴(kuò)展名為.DBF)

第11章數(shù)據(jù)表和索引p193

表是FoxPro數(shù)據(jù)庫的基本元素。

第11章數(shù)據(jù)表和23表的欄目(表結(jié)構(gòu))表中一行稱為記錄,記錄是數(shù)據(jù)庫的基本(操作)單位

表中一列稱為字段,字段是數(shù)據(jù)庫的最小邏輯單位n個(gè)n個(gè)n個(gè)及輔助文件字段——記錄——表——數(shù)據(jù)庫表的欄目(表結(jié)構(gòu))242、表文件結(jié)構(gòu)的建立(建立表頭)(1)方法1)‘文件’\新建\表\新建文件\輸入表名\保存2)用命令:CREATE<表文件名>(2)在表設(shè)計(jì)器中輸入字段名、類型、寬度、和小數(shù)(建立表結(jié)構(gòu)的實(shí)質(zhì))注:輸入時(shí)不能按回車鍵,已輸入的各字段的次序可以調(diào)整,(3)輸完后按‘確定’(4)結(jié)構(gòu)的修改方法MODISTRU[<表文件名>](可以對(duì)表結(jié)構(gòu)的字段進(jìn)行增、刪、改,注意寬度的修改)2、表文件結(jié)構(gòu)的建立(建立表頭)(4)結(jié)構(gòu)的修改25二、表的數(shù)據(jù)輸入1、直接方式(建新表)2、追加方式命令格式:APPEND(APPE)菜單方式:P197存盤:單擊編輯窗口上的

3、備注字段輸入:移鼠標(biāo)到該字段,雙擊或用<Ctrl>+<pgup>/<pgdn>注意:表頭有備注字段,就自動(dòng)生成同名的備注文件(.fpt)4、通用字段輸入:二、表的數(shù)據(jù)輸入26三、表的打開和關(guān)閉1、設(shè)置默認(rèn)目錄的命令格式為:

SETDEFAULTTO<路徑>2、表的打開(一個(gè)工作區(qū)只能打開一個(gè)表)(1)命令:USE

<表文件名>CREA<表文件名>——建新表USE<表文件名>——打開舊表2、表的關(guān)閉命令:

USE——關(guān)閉當(dāng)前的表文件例:USERSDA(打開RSDA表)USEAA(打開AA表,關(guān)閉RSDA)

注意:打開后,用BROW命令瀏覽(2)菜單:工具欄的打開圖標(biāo)三、表的打開和關(guān)閉CREA<表文件名>——建新表2、表27上機(jī)操作一:1、建立p193頁的“學(xué)生情況表”2、表結(jié)構(gòu)在p194(參考)(注意各字段的類型、寬度)3、修改表結(jié)構(gòu):modistru增加一個(gè)“婚否”字段hf4、在表未追加一個(gè)記錄(自己)5節(jié)上機(jī)操作一:5節(jié)283.4表記錄的操作顯示p58

1、“瀏覽”與“編輯”表命令:BROW2、集中顯示命令LIST(P91)11.2、表的基本操作P199菜單方式和命令方式LIST[范圍][

FIEL字段表][

FOR條件]多字段用‘逗號(hào)’分隔格式:FOR字段名=具體內(nèi)容</><=/>=注:表達(dá)式左、右數(shù)據(jù)類型相一致

多個(gè)條件用AND和OR連接常量變量3.4表記錄的操作顯示p58

1、“瀏覽”與“編輯”表29例1:顯示劉剛的記錄LISTforxm=”劉剛”例2:顯示入學(xué)總分大于等于500元的姓名LISTforzxf>=500fielxm例3:顯示專業(yè)為“計(jì)算機(jī)應(yīng)用”的女學(xué)生LISTforxb=“女”andzy=”計(jì)算機(jī)應(yīng)用”例4:顯示已婚的姓名LISTfor hf=.T.fiel姓名例1:顯示劉剛的記錄例2:顯示入學(xué)總分大于等于500元的姓名303、分屏顯示命令:DISPLAYDISP[范圍][FIEL字段表][FOR條件]范圍和條件缺省時(shí),表示當(dāng)前記錄例:USExsDISP(顯示第1號(hào)記錄)DISPALL(分屏全部顯示)DISPALL和LIST的區(qū)別3、分屏顯示命令:DISPLAYDISP[范圍][31用于測試指針位置的函數(shù)有三個(gè)測試文件頭函數(shù)BOF()測試文件尾函數(shù)EOF()注意:用USE命令打開表后,記錄指針總是指向第一個(gè)記錄,用LIST命令后記錄指針總是指向最后一個(gè)記錄后面。用于測試指針位置的函數(shù)有三個(gè)32

4、表記錄的定位(1)絕對(duì)定位:GO<記錄號(hào)/表達(dá)式><記錄號(hào)>GO8/8(作用一樣)GOTOP(指向頂記錄)GOBOTTOM(指向尾記錄)(2)相對(duì)定位格式:SKIP+/-n例:5絕對(duì)定位到第5號(hào)記錄SKIP指針指向第6號(hào)記錄SKIP-2指針指向第4號(hào)記錄4、表記錄的定位(1)絕對(duì)定位:G33(3)條件定位:

LOCA[范圍]FOR條件功能:把記錄指針定位到滿足條件的第一個(gè)記錄,繼續(xù)找用CONT命令例:查找女學(xué)生的記錄LOCAFORxb=“女”DispContDisp(3)條件定位:345、表記錄的刪除邏輯刪除、物理刪除、全部刪除(1)邏輯刪除:DELETE格式:DELE[范圍][FOR條件]功能:打刪除標(biāo)志例;邏輯男學(xué)生的記錄DELEFORxb=“男”兩者缺省時(shí),刪當(dāng)前記錄*5、表記錄的刪除(1)邏輯刪除:DELETE例;邏輯男學(xué)生35(3)物理刪除PACK功能:把已打有標(biāo)志*的記錄真正刪除注:這種刪除不能恢復(fù)真正刪除一個(gè)記錄先用DELE打標(biāo)志后用PACK真正刪除例:刪除劉剛的記錄PACKFOR姓名=‘張三才’DELEFORxm=“劉剛”PACK(2)邏輯刪除的恢復(fù)格式:RECALL[范圍][FOR條件](3)物理刪除PACK真正刪除一個(gè)記錄先用36(4)、全部刪除格式:ZAP功能:刪除所有記錄,只保留表結(jié)構(gòu)無需打刪除標(biāo)志(4)、全部刪除功能:刪除所有記錄,只保留表結(jié)構(gòu)無需打37上機(jī)操作二:1、打開學(xué)生表xs.dbf2、用窗口顯示命令顯示全部記錄。brow3、列表顯示總學(xué)分大于550的記錄。list4、列表顯示82年以后出生的記錄。List5、列表顯示班號(hào)為“012202”的記錄。list6、定位到第5條記錄,定位到未記錄。(并顯示)gondisp7、相對(duì)往前定位一個(gè)記錄并顯示。Skip8、查找姓名為“張麗萍”loca9、邏輯刪除未婚記錄并恢復(fù)刪除。Dele,recall10、刪除劉剛的記錄。pack5節(jié)上機(jī)操作二:5節(jié)381、索引文件(.IDX)(邏輯順序)建立索引文件,實(shí)際上不是移動(dòng)原文件的任何記錄,而是建立一個(gè)索引表(只有索引字段名和記錄號(hào)兩字段)供檢索、查找使用,記錄號(hào)就是用指針指向邏輯順序。2、主索引11.6、數(shù)據(jù)表的索引p2213、用表設(shè)計(jì)器建立索引方法:在“表設(shè)計(jì)器”的“索引”選卡中選取索引名及類型4、并用命令“setorderto索引名”顯示各排序好的記錄。1、索引文件(.IDX)(邏輯順序)11.6、數(shù)據(jù)表的39第12章多表操作及數(shù)據(jù)庫數(shù)據(jù)庫的表和自由表的區(qū)別:(擴(kuò)展名都是.dbf)表文件自由表數(shù)據(jù)庫中的表(數(shù)據(jù)庫的一部分)注意:一個(gè)表只能屬于一個(gè)庫第12章多表操作及數(shù)據(jù)庫數(shù)據(jù)庫的40第12章多表操作及數(shù)據(jù)庫一、創(chuàng)建數(shù)據(jù)庫文件(.dbc)1、創(chuàng)建新數(shù)據(jù)庫方法一:‘文件’/‘新建’/‘?dāng)?shù)據(jù)庫’/‘新建文件’/輸入文件名及路徑/保存例:創(chuàng)建“學(xué)生”數(shù)據(jù)庫存xb.DBC2、往數(shù)據(jù)庫添加表(自由表)打開數(shù)據(jù)庫:‘文件’/‘打開’/‘選數(shù)據(jù)庫名’/’確定‘注:(自由表)只能屬于一個(gè)數(shù)據(jù)庫例如:添加xb.dbf第12章多表操作及數(shù)據(jù)庫一、創(chuàng)建413、移去數(shù)據(jù)庫中的表方法:打開數(shù)據(jù)庫/‘?dāng)?shù)據(jù)庫’/‘移去表’4、新建數(shù)據(jù)庫表方法:打開數(shù)據(jù)庫/‘?dāng)?shù)據(jù)庫’/‘新建表’5、建立表間的關(guān)系前題:有相同的字段,且都要以此字段建立索引,主表(主索引),從表(主索引或普通索引)方法:用鼠標(biāo)指向主表的主索引拖到從表的普通索引。3、移去數(shù)據(jù)庫中的表4、新建數(shù)據(jù)庫表5、建立表間的關(guān)系方法:42(2)設(shè)置字段有效性默認(rèn)值(字段中出現(xiàn)最多的值)方法:‘表設(shè)計(jì)器’/‘默認(rèn)值’框輸入相應(yīng)內(nèi)容例:設(shè)xs.dbf表中‘性別’字段的默認(rèn)值設(shè)為“男”(3)規(guī)則:(限制字段的錄入數(shù)據(jù))方法:‘表設(shè)計(jì)器’/‘規(guī)則’框輸入相應(yīng)內(nèi)容例:設(shè)‘總學(xué)分’字段的輸入‘規(guī)則’為‘總學(xué)分>=450’二、輸入輸出格式設(shè)置(自由表沒有這個(gè)功能)(1)設(shè)置字段標(biāo)題(在瀏覽)方法:在‘表設(shè)計(jì)器’的‘標(biāo)題’中鍵入內(nèi)容例:把xs.dbf表的xh的標(biāo)題是‘學(xué)號(hào)’(2)設(shè)置字段有效性(3)規(guī)則:(限制字段的錄入數(shù)據(jù))二、43上機(jī)操作三:1、打開學(xué)生表xs.dbf2、定制一個(gè)只有女性記錄的表。Setfiltto條件(恢復(fù)原表setfiltto)3、在表設(shè)置器中分別建立姓名、性別、專業(yè)、出生日期、總學(xué)分的索引文件。并用命令“setorderto索引名”顯示各排序好的記錄。4、建立一“學(xué)生”數(shù)據(jù)庫,并把“xs.dbf”添加到該庫,設(shè)置學(xué)生情況表的“學(xué)號(hào)”為主索引。為各字段設(shè)置中文標(biāo)題。5節(jié)上機(jī)操作三:5節(jié)44第3章VFP可視化編程VFP采用面向?qū)ο?、事件?qū)動(dòng)的編程方法一、面向?qū)ο蟮幕靖拍頟341、對(duì)象(是面向?qū)ο缶幊痰幕驹兀?duì)象定義:是對(duì)一事物屬性及行為特征的描述。屬性是描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng)。方法是描述對(duì)象動(dòng)態(tài)特征的操作序列。對(duì)象是一個(gè)具有屬性(數(shù)據(jù))和方法(行為方式)的實(shí)體。常見的對(duì)象容器類對(duì)象:

表單、表格等 控件類對(duì)象:命令按鈕、標(biāo)簽、復(fù)選框等)最具特征的對(duì)象是表單和控件第3章VFP可視化編程VFP采用面向?qū)ο?、事件?qū)動(dòng)的編452、對(duì)象的事件:是定義好的能被對(duì)象識(shí)別的動(dòng)作。如:單擊事件(click),雙擊事件(Dblclick)裝入事件(load)事件過程:響應(yīng)某個(gè)事件后所執(zhí)行程序代碼。3、對(duì)象方法:是對(duì)象的內(nèi)部函數(shù),用于完成某一特定的功能而為一定響應(yīng)某一事件。4、事件過程與方法的區(qū)別:事件過程:激發(fā)事件方法:程序調(diào)用5、控件:是某種圖形構(gòu)件的統(tǒng)稱。6、表單(form):應(yīng)用程序的用戶界面。(窗口)7、對(duì)象的引用:描述對(duì)象的容器層次的關(guān)系表單名.對(duì)象名.屬性名=屬性值2、對(duì)象的事件:是定義好的能被對(duì)象識(shí)別的動(dòng)作。表單名.對(duì)46二、VFP編程的步驟P411、步驟(1)建立應(yīng)用程序界面(表單)(2)在表單上安排所需的對(duì)象(由控件創(chuàng)建)(3)設(shè)置各對(duì)象的屬性(4)編寫事件過程代碼及方法2、建立表單(.scx)(1)方法:‘文件’/‘新建’/‘表單’/‘新建文件’用命令方式:CREAFORM表單名.scx(2)打開表單或修改表單(‘文件’/‘打開’菜單)(3)運(yùn)行表單:工具欄上的運(yùn)行按鈕用命令操作:DOFORM表單!二、VFP編程的步驟P41!47三、各控件的介紹1、應(yīng)用程序的界面(表單)2、輸入與輸出(1)標(biāo)簽標(biāo)簽是VFP中最常用的顯示文本信息的工具,其所顯示的內(nèi)容由Caption屬性控制。(2)文本框文本框是進(jìn)行文本數(shù)據(jù)輸入輸出的,文本框中顯示的文本是受Value屬性控制的3、命令按鈕Caption標(biāo)題常用事件:click(單擊)三、各控件的介紹48四:表單設(shè)計(jì)器屬性窗口、表單控件工具、代碼窗口1、各對(duì)象的設(shè)計(jì)(1)表單的屬性P164Caption——標(biāo)題常用方法:refresh—刷新表單release—釋放表單四:表單設(shè)計(jì)器49(2)標(biāo)簽對(duì)象屬性Caption及大小,顏色等。(3)文本框?qū)ο髮傩訴alue—值Password—密碼字符(4)命令按鈕對(duì)象屬性Caption標(biāo)題buttoncount命令按鈕數(shù)常用事件:click(單擊)(2)標(biāo)簽對(duì)象屬性50上機(jī)操作四:設(shè)計(jì)一個(gè)登錄表單

步驟:(1)新建表單(登錄.scx)(2)建立應(yīng)用程序用戶界面:(2個(gè)標(biāo)簽,一個(gè)文本框,2個(gè)命令按鈕)(3)設(shè)置各對(duì)象屬性(4)編寫事件代碼()上機(jī)操作四:設(shè)計(jì)一個(gè)登錄表單步驟:51第4章:順序結(jié)構(gòu)程序設(shè)計(jì)(略)第4章:順序結(jié)構(gòu)程序設(shè)計(jì)(略)52第5章:選擇結(jié)構(gòu)程序設(shè)計(jì)在VFP中實(shí)行分支的語句:1單條件選擇結(jié)構(gòu)IF條件語句組1ENDIFIF條件語句組1ELSE語句組2ENDIF第5章:選擇結(jié)構(gòu)程序設(shè)計(jì)IF條件IF條件53例1:購物在200元以上,優(yōu)惠9折.A=VAL(THISFORM.TEXT1.VALUE)IFA>200Y=A*0.9ELSEY=AENDIFTHISFORM.TEXT2.VALUE=Y例1:購物在200元以上,優(yōu)惠9折.A=VAL(TH54補(bǔ)充完成登錄表單:實(shí)現(xiàn)功能:在文本框中輸入密碼,若密碼為“123456”則顯示“登陸成功!”否則顯示為“密碼錯(cuò)誤!”登陸代碼:Pas=thisform.text1.valueifpas="123456"thisform.label2.caption="登陸成功!"elsethisform.label2.caption="密碼錯(cuò)誤!"endif取消代碼:thisform.release

5節(jié)補(bǔ)充完成登錄表單:5節(jié)552、多分支條件結(jié)構(gòu):DOCASE

CASE條件1語句組1

CASE條件2語句組2…………

[OTHER其它語句組]ENDCASE功能說明:2、多分支條件結(jié)構(gòu):功能說明:561、當(dāng)型循環(huán)命令:

DOWHILE條件循環(huán)語句組

ENDDO

功能說明:P95在循環(huán)體中的兩個(gè)特殊的語句:LOOP:返回本循環(huán)開始DOWHILE處。EXIT:跳出循環(huán),執(zhí)行ENDDO后的語句。第6章:循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1、當(dāng)型循環(huán)命令:功能說明:P95在循環(huán)體中的兩個(gè)特殊的語57例1t='abcdefg'i=1

dowhili<6?substr(t,6-i,1)i=i+1

enddo

運(yùn)行結(jié)果:edcba例1t='abcdefg'運(yùn)行結(jié)果:edcba58例2x=.t.y=0

dowhilxy=y+1

ify/5=int(y/5)?y

elseloop

endif

ify>=30x=.f.

endif

enddo運(yùn)行結(jié)果:510152025305節(jié)例2x=.t.運(yùn)行結(jié)果:5節(jié)59第11章在表單上操作表的記錄:p205上機(jī)操作五:設(shè)計(jì)一個(gè)操作數(shù)據(jù)表的表單,使之具有按記錄瀏覽、查詢退出等功能。第11章在表單上操作表的記錄:p20560步驟:(1)新建表單(2)創(chuàng)建“數(shù)據(jù)環(huán)境”單擊“顯示”菜單下的“數(shù)據(jù)環(huán)境”,選xb.dbf表(3)建立應(yīng)用程序用戶界面及設(shè)置對(duì)象屬性(4)增加一個(gè)標(biāo)題標(biāo)簽和一個(gè)命令按鈕組(5)編寫事件代碼gotopThisform.refresh)步驟:61N=THIS.VALUEDOCASECASEN=1

GOTOPCASEN=2

SKIP1CASEN=3

SKIP-1CASEN=4

GOBOTTOMcasen=5

appeblancasen=6deleusexspackCasen=7quitENDCASEthisform.refresh(更新表單)確定是按哪個(gè)按鈕多條件分支語句(docase__endcase指向首記錄下一個(gè)記錄上一個(gè)記錄未記錄添加記錄退出系統(tǒng)N=THIS.VALUE確定是按哪個(gè)按鈕62按學(xué)號(hào)或姓名查詢的代碼:按學(xué)號(hào)查詢的click代碼a=thisform.text1.valuelocaforxh=attl(a)thisform.refresh按姓名查詢的click代碼a=thisform.text2.valuelocaforxm=attl(a)thisform.refresh按學(xué)號(hào)或姓名查詢的代碼:按學(xué)號(hào)查詢的click代碼按姓名查詢63第14章報(bào)表報(bào)表文件的擴(kuò)展名為.FRX,用于存儲(chǔ)報(bào)表的規(guī)范說明,其自身并非存儲(chǔ)每個(gè)數(shù)據(jù)字段的值。一、建立報(bào)表1、用’報(bào)表‘向?qū)Х椒ǎ骸募?‘新建’/‘報(bào)表’/’報(bào)表向?qū)А?。在?bào)表向?qū)е?,確定數(shù)據(jù)庫和表和可選字段/確定樣式/確定報(bào)表布局/確定表中數(shù)據(jù)的輸出順序。2、預(yù)覽報(bào)表命令:repoformxs.frxprev第14章報(bào)表報(bào)表文件的擴(kuò)展名為.FRX,用于存儲(chǔ)報(bào)表的64例1:把xs表作簡單報(bào)表和按班級(jí)分組輸出5節(jié)例1:把xs表作簡單報(bào)表和按班級(jí)分組輸出5節(jié)65第1章數(shù)據(jù)庫基礎(chǔ)和VisualFoxPro6.0編程環(huán)境

數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。隨著人類社會(huì)進(jìn)入信息時(shí)代,人們對(duì)數(shù)據(jù)處理的要求越來越高,這就導(dǎo)致了數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展。數(shù)據(jù)庫技術(shù)主要研究如何存儲(chǔ)、使用和管理數(shù)據(jù),它已成為計(jì)算機(jī)領(lǐng)域中最重要的技術(shù)之一,是軟件學(xué)科的一個(gè)獨(dú)立分支,人們利用數(shù)據(jù)庫技術(shù)已經(jīng)開發(fā)出許多應(yīng)用軟件和管理軟件,如工資管理、財(cái)務(wù)管理、圖書管理、人事檔案管理等,凡是牽涉有數(shù)據(jù)處理的領(lǐng)域,都是數(shù)據(jù)庫大顯身手的地方。數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用的核心。

第1章數(shù)據(jù)庫基礎(chǔ)和VisualFoxPro6.0編程環(huán)66一、基本概念1、數(shù)據(jù):存儲(chǔ)在某一媒體上的符號(hào)記錄。2、信息:人腦對(duì)現(xiàn)實(shí)世界的描述和反映?,F(xiàn)實(shí)世界信息世界數(shù)據(jù)世界3、數(shù)據(jù)處理:數(shù)據(jù)轉(zhuǎn)換成信息的過程。對(duì)各種形式的數(shù)據(jù)進(jìn)行匯集、傳輸、分組、排序、存儲(chǔ)、檢索、計(jì)算等一系列操作稱為數(shù)據(jù)處理。一、基本概念1、數(shù)據(jù):存儲(chǔ)在某一媒體上的符號(hào)記錄?,F(xiàn)實(shí)世界674、數(shù)據(jù)管理技術(shù)發(fā)展的3個(gè)階段

第一階段(50年代中期):人工管理階段(數(shù)據(jù)包含在程序中)

第二階段(50年代后期至60年代中期):文件系統(tǒng)階段(數(shù)據(jù)與程序存在各自的文件中,但由程序來管理數(shù)據(jù))

第三階段(60年代后期以來):數(shù)據(jù)庫系統(tǒng)階段(數(shù)據(jù)與程序獨(dú)立,由數(shù)據(jù)庫管理系統(tǒng)管理數(shù)據(jù))4、數(shù)據(jù)管理技術(shù)發(fā)展的3個(gè)階段68(1)人工管理階段

這是計(jì)算機(jī)數(shù)據(jù)處理的初級(jí)階段。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)組1數(shù)據(jù)組2數(shù)據(jù)組n……(1)人工管理階段應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)組1數(shù)據(jù)69(2)文件管理階段所謂文件,即有名字的一組相關(guān)信息的集合。文件管理方式是將待加工的數(shù)據(jù)組織成數(shù)據(jù)文件,在程序中可以通過文件名邏輯性地存取文件中的數(shù)據(jù)。文件管理方式的主要特點(diǎn)是將數(shù)據(jù)與程序分離,數(shù)據(jù)是獨(dú)立于程序而存在的。程序2程序1程序3文件管理系統(tǒng)數(shù)據(jù)文件1數(shù)據(jù)文件3數(shù)據(jù)文件2數(shù)據(jù)文件1(2)文件管理階段程序2程序1程序3文數(shù)據(jù)文件1數(shù)據(jù)文件3數(shù)70(3)數(shù)據(jù)庫管理階段

與文件管理方式最大的區(qū)別是:數(shù)據(jù)庫管理方式是面向系統(tǒng)的。它將各應(yīng)用程序中需要使用的數(shù)據(jù)匯集在一起,形成一個(gè)具有一定數(shù)據(jù)結(jié)構(gòu)的集成化的數(shù)據(jù)集合,也即數(shù)據(jù)庫。在數(shù)據(jù)庫管理方式下,數(shù)據(jù)和程序是完全分離的,不再存在依存的關(guān)系。因此當(dāng)數(shù)據(jù)改動(dòng)時(shí),程序不受任何影響。

DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)庫的主要特征(1)數(shù)據(jù)共享及最小的數(shù)據(jù)冗余度(統(tǒng)一存貯、集中管理)(2)數(shù)據(jù)的完整性(正確性、一致性)(3)數(shù)據(jù)的安全性(檢驗(yàn)身份、權(quán)限不被非法利用和破壞)(4)數(shù)據(jù)的獨(dú)立性(數(shù)據(jù)獨(dú)立于程序)(3)數(shù)據(jù)庫管理階段DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)715、數(shù)據(jù)庫概念(1)數(shù)據(jù)庫(DB)數(shù)據(jù)庫(Database,簡稱DB)是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。

(2)數(shù)據(jù)庫管理系統(tǒng)(DBMS)建立、使用和維護(hù)數(shù)據(jù)庫的軟件(數(shù)據(jù)庫系統(tǒng)的核心)主要功能:數(shù)據(jù)庫定義、數(shù)據(jù)庫操作、數(shù)據(jù)運(yùn)行管理、數(shù)據(jù)庫維護(hù)、通信管理用途:科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)(3)數(shù)據(jù)庫系統(tǒng)(DBS)

在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員5、數(shù)據(jù)庫概念(1)數(shù)據(jù)庫(DB)數(shù)據(jù)庫(Database72

數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具

操作系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理員用戶用戶用戶

數(shù)據(jù)庫系統(tǒng)(4)數(shù)據(jù)庫系統(tǒng)的特點(diǎn)

數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)的共享數(shù)據(jù)的獨(dú)立性數(shù)據(jù)的完整性與安全性減少數(shù)據(jù)冗余度應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具用戶用戶用戶數(shù)據(jù)庫73(1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱為實(shí)體??梢允蔷唧w的人、事、物或抽象的概念。(2)實(shí)體集(EntitySet)同一類型實(shí)體的集合稱為實(shí)體集(3)屬性(Attribute)實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。(4)聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。6、數(shù)據(jù)模型

聯(lián)系:一對(duì)一一對(duì)多多對(duì)多——對(duì)現(xiàn)實(shí)世界中的事物及其聯(lián)系的描述(1)實(shí)體(Entity)6、數(shù)據(jù)模型

聯(lián)系:——對(duì)現(xiàn)實(shí)74層次模型(一對(duì)多)廣西大學(xué)商學(xué)院農(nóng)學(xué)院林學(xué)院辦公室林學(xué)教研室園林教研室生態(tài)教研室7、數(shù)據(jù)庫的數(shù)據(jù)模型分類1)層次模型用樹狀數(shù)據(jù)結(jié)構(gòu)形式來表示事物及其之間的關(guān)系。層次模型(一對(duì)多)廣西大學(xué)商學(xué)院農(nóng)學(xué)院林學(xué)院辦公室林學(xué)教研室75網(wǎng)絡(luò)模型(多對(duì)多)2)網(wǎng)絡(luò)模型用有向圖的數(shù)據(jù)結(jié)構(gòu)形式來表示事物及其之間的關(guān)系。南方商場彩電銀河商場洗衣機(jī)民生商場電冰箱網(wǎng)絡(luò)模型(多對(duì)多)2)網(wǎng)絡(luò)模型南方商場彩電銀河商場洗衣機(jī)民生76關(guān)系模型學(xué)號(hào)姓名性別出生年月9602001黃麗萍女1978.01.049602002王百靈男1979.05.069602003王少頌?zāi)?977.06.089602004楊韻峰男1979.05.039602005康敏男1976.01.23記錄字段(屬性)字段值3)關(guān)系模型用二維表格形式來表示事物及其之間的關(guān)系。每個(gè)二維表格稱為一個(gè)“關(guān)系”表的每一行稱為一條記錄表的每一列稱為一個(gè)字段(屬性),列不能再折分。

關(guān)系模型學(xué)號(hào)姓名性別出生年月9602001黃麗萍女1978.778、關(guān)系型數(shù)據(jù)庫的三種運(yùn)算選擇投影合并(聯(lián)結(jié))從一個(gè)關(guān)系(表)中按照一定的條件選出若干記錄(行)生成一個(gè)新的關(guān)系(表)。從一個(gè)關(guān)系(表)中選出若干列生成一個(gè)新的關(guān)系(表)。將兩個(gè)同類關(guān)系(表)按照一定的條件進(jìn)行記錄重組生成一新關(guān)系(表)學(xué)號(hào)姓名性別出生年月9602001黃麗萍女1978.01.049602002王百靈男1979.05.069602003王少頌?zāi)?977.06.089602004楊韻峰男1979.05.039602005康敏男1976.01.238、關(guān)系型數(shù)據(jù)庫的三種運(yùn)算選擇投影合并(聯(lián)結(jié))從一78二、Visual

FoxPro啟動(dòng)與退出p112、啟動(dòng)常規(guī)方法快捷方式雙擊Windows桌面上的FoxPro圖標(biāo)(紅色狐貍頭標(biāo)志)3、退出

在命令窗口輸入QUIT或按主窗口的關(guān)閉按鈕1、VisualFoxPro6.0的特點(diǎn)1)簡單、易學(xué)、易用2)功能強(qiáng)大二、VisualFoxPro啟動(dòng)與退出p112、啟動(dòng)794、VisualFoxPro窗口組成4、VisualFoxPro窗口組成805、VFP工作方式p18

命令方式菜單方式程序方式6、命令格式

命令動(dòng)詞

[子句]和[參數(shù)]命令動(dòng)詞不分大小寫,可用前4個(gè)字符來簡寫(半角英標(biāo)狀態(tài))例:display——disp?——顯示輸出命令clear——清屏命令?3+3?“計(jì)算機(jī)考試”clearquit5、VFP工作方式p18?3+3812.1數(shù)據(jù)按存在形式(常量和變量)數(shù)值型(N)字符型(C)按類型分日期型(D)月/日/年(10多種)邏輯型(L)備注型(M)通用型貨幣型第2章VisualFoxPro6.0編程基礎(chǔ)一、數(shù)據(jù)類型2.1數(shù)據(jù)按存在形式(常量和變量)第2章Visu822.2常量與變量數(shù)值型如:3900、12.6、字符型如:“ABC”、“213”“張三”(用定界符引起來的數(shù)據(jù))日期型如:{mm/dd/yy}如{08/11/11}或{^yyyy-mm-dd}如{^1978-12-30}邏輯型如:.T.And.F.(2)變量

字段變量(字段名)多值變量、存于表中

內(nèi)存變量單值變量度存于內(nèi)存中變量的命名:p23變量顯示用?例:?X(1)常量(N、C、L、D)2.2常量與變量數(shù)值型如:3900、12.6、(2)83(3)變量的賦值1)賦值語句

STORE表達(dá)式TO內(nèi)存變量STORE3*2-1TOX,Y,Z2)賦值號(hào)“=” 變量=表達(dá)式例:x=5.3s=“asd”xm=“張三”w=s(不等同

s=w)(3)變量的賦值842.3、運(yùn)算符和表達(dá)式:p26(1)表達(dá)式數(shù)值型表達(dá)式字符…………日期…………關(guān)系…………..邏輯…………..(2)字符型表達(dá)式的運(yùn)算+連接—去尾空連接例:A=‘ABCD’B=‘1234’,?A+B?A-BABCD1234ABCD1234算術(shù)運(yùn)算符:+、—、*、/、^字符型運(yùn)算符:+、—關(guān)系運(yùn)算符:>、<、>=、邏輯運(yùn)算符:AND、OR、NOT2.3、運(yùn)算符和表達(dá)式:p26(2)字符型表達(dá)式的運(yùn)算85(3)日期運(yùn)算日期相減——得天數(shù)一個(gè)日期加(減)一個(gè)天數(shù)——日期例;{^2011/08/20}-{^2011/08/10}——{^2011/08/20}+3——12天CTOD(‘05/16/99’)(4)關(guān)系和邏輯運(yùn)算——結(jié)果是邏輯值(.T..F.)X=3,Y=6,Z=9?X<Z.OR.Y<X——?X+Y>Z.AND.X-Y+Z=6——?.NOT.X+Y=ZTFF(3)日期運(yùn)算日期相減——得天數(shù)例;{^2011865、函數(shù)p29(1)取整函數(shù)INT(X)例:?INT(3.99)——3?INT(8/3)——2(2)取子串函數(shù)SUBSTR(S,I,N)在S中從I位置起截N個(gè)字符函數(shù)值為C例:SUBSTR(‘COMPUTRE’,4,3)——PUT(4)轉(zhuǎn)換函數(shù)a、N——CSTR(R,L,D)b、C——NVAL(S)c、C——DCTOD(“MM/DD/YY”)(3)求字符串出現(xiàn)的位置AT(C1,C2)?at("計(jì)算機(jī)","全國計(jì)算機(jī)等級(jí)考試")5、函數(shù)p29INT(X)例:?INT(3.99)——87表是FoxPro數(shù)據(jù)庫的基本元素。11.1創(chuàng)建表

1、表的概念一個(gè)具體的二維表就是一個(gè)VFP的數(shù)據(jù)表(擴(kuò)展名為.DBF)

第11章數(shù)據(jù)表和索引p193

表是FoxPro數(shù)據(jù)庫的基本元素。

第11章數(shù)據(jù)表和88表的欄目(表結(jié)構(gòu))表中一行稱為記錄,記錄是數(shù)據(jù)庫的基本(操作)單位

表中一列稱為字段,字段是數(shù)據(jù)庫的最小邏輯單位n個(gè)n個(gè)n個(gè)及輔助文件字段——記錄——表——數(shù)據(jù)庫表的欄目(表結(jié)構(gòu))892、表文件結(jié)構(gòu)的建立(建立表頭)(1)方法1)‘文件’\新建\表\新建文件\輸入表名\保存2)用命令:CREATE<表文件名>(2)在表設(shè)計(jì)器中輸入字段名、類型、寬度、和小數(shù)(建立表結(jié)構(gòu)的實(shí)質(zhì))注:輸入時(shí)不能按回車鍵,已輸入的各字段的次序可以調(diào)整,(3)輸完后按‘確定’(4)結(jié)構(gòu)的修改方法MODISTRU[<表文件名>](可以對(duì)表結(jié)構(gòu)的字段進(jìn)行增、刪、改,注意寬度的修改)2、表文件結(jié)構(gòu)的建立(建立表頭)(4)結(jié)構(gòu)的修改90二、表的數(shù)據(jù)輸入1、直接方式(建新表)2、追加方式命令格式:APPEND(APPE)菜單方式:P197存盤:單擊編輯窗口上的

3、備注字段輸入:移鼠標(biāo)到該字段,雙擊或用<Ctrl>+<pgup>/<pgdn>注意:表頭有備注字段,就自動(dòng)生成同名的備注文件(.fpt)4、通用字段輸入:二、表的數(shù)據(jù)輸入91三、表的打開和關(guān)閉1、設(shè)置默認(rèn)目錄的命令格式為:

SETDEFAULTTO<路徑>2、表的打開(一個(gè)工作區(qū)只能打開一個(gè)表)(1)命令:USE

<表文件名>CREA<表文件名>——建新表USE<表文件名>——打開舊表2、表的關(guān)閉命令:

USE——關(guān)閉當(dāng)前的表文件例:USERSDA(打開RSDA表)USEAA(打開AA表,關(guān)閉RSDA)

注意:打開后,用BROW命令瀏覽(2)菜單:工具欄的打開圖標(biāo)三、表的打開和關(guān)閉CREA<表文件名>——建新表2、表92上機(jī)操作一:1、建立p193頁的“學(xué)生情況表”2、表結(jié)構(gòu)在p194(參考)(注意各字段的類型、寬度)3、修改表結(jié)構(gòu):modistru增加一個(gè)“婚否”字段hf4、在表未追加一個(gè)記錄(自己)5節(jié)上機(jī)操作一:5節(jié)933.4表記錄的操作顯示p58

1、“瀏覽”與“編輯”表命令:BROW2、集中顯示命令LIST(P91)11.2、表的基本操作P199菜單方式和命令方式LIST[范圍][

FIEL字段表][

FOR條件]多字段用‘逗號(hào)’分隔格式:FOR字段名=具體內(nèi)容</><=/>=注:表達(dá)式左、右數(shù)據(jù)類型相一致

多個(gè)條件用AND和OR連接常量變量3.4表記錄的操作顯示p58

1、“瀏覽”與“編輯”表94例1:顯示劉剛的記錄LISTforxm=”劉剛”例2:顯示入學(xué)總分大于等于500元的姓名LISTforzxf>=500fielxm例3:顯示專業(yè)為“計(jì)算機(jī)應(yīng)用”的女學(xué)生LISTforxb=“女”andzy=”計(jì)算機(jī)應(yīng)用”例4:顯示已婚的姓名LISTfor hf=.T.fiel姓名例1:顯示劉剛的記錄例2:顯示入學(xué)總分大于等于500元的姓名953、分屏顯示命令:DISPLAYDISP[范圍][FIEL字段表][FOR條件]范圍和條件缺省時(shí),表示當(dāng)前記錄例:USExsDISP(顯示第1號(hào)記錄)DISPALL(分屏全部顯示)DISPALL和LIST的區(qū)別3、分屏顯示命令:DISPLAYDISP[范圍][96用于測試指針位置的函數(shù)有三個(gè)測試文件頭函數(shù)BOF()測試文件尾函數(shù)EOF()注意:用USE命令打開表后,記錄指針總是指向第一個(gè)記錄,用LIST命令后記錄指針總是指向最后一個(gè)記錄后面。用于測試指針位置的函數(shù)有三個(gè)97

4、表記錄的定位(1)絕對(duì)定位:GO<記錄號(hào)/表達(dá)式><記錄號(hào)>GO8/8(作用一樣)GOTOP(指向頂記錄)GOBOTTOM(指向尾記錄)(2)相對(duì)定位格式:SKIP+/-n例:5絕對(duì)定位到第5號(hào)記錄SKIP指針指向第6號(hào)記錄SKIP-2指針指向第4號(hào)記錄4、表記錄的定位(1)絕對(duì)定位:G98(3)條件定位:

LOCA[范圍]FOR條件功能:把記錄指針定位到滿足條件的第一個(gè)記錄,繼續(xù)找用CONT命令例:查找女學(xué)生的記錄LOCAFORxb=“女”DispContDisp(3)條件定位:995、表記錄的刪除邏輯刪除、物理刪除、全部刪除(1)邏輯刪除:DELETE格式:DELE[范圍][FOR條件]功能:打刪除標(biāo)志例;邏輯男學(xué)生的記錄DELEFORxb=“男”兩者缺省時(shí),刪當(dāng)前記錄*5、表記錄的刪除(1)邏輯刪除:DELETE例;邏輯男學(xué)生100(3)物理刪除PACK功能:把已打有標(biāo)志*的記錄真正刪除注:這種刪除不能恢復(fù)真正刪除一個(gè)記錄先用DELE打標(biāo)志后用PACK真正刪除例:刪除劉剛的記錄PACKFOR姓名=‘張三才’DELEFORxm=“劉剛”PACK(2)邏輯刪除的恢復(fù)格式:RECALL[范圍][FOR條件](3)物理刪除PACK真正刪除一個(gè)記錄先用101(4)、全部刪除格式:ZAP功能:刪除所有記錄,只保留表結(jié)構(gòu)無需打刪除標(biāo)志(4)、全部刪除功能:刪除所有記錄,只保留表結(jié)構(gòu)無需打102上機(jī)操作二:1、打開學(xué)生表xs.dbf2、用窗口顯示命令顯示全部記錄。brow3、列表顯示總學(xué)分大于550的記錄。list4、列表顯示82年以后出生的記錄。List5、列表顯示班號(hào)為“012202”的記錄。list6、定位到第5條記錄,定位到未記錄。(并顯示)gondisp7、相對(duì)往前定位一個(gè)記錄并顯示。Skip8、查找姓名為“張麗萍”loca9、邏輯刪除未婚記錄并恢復(fù)刪除。Dele,recall10、刪除劉剛的記錄。pack5節(jié)上機(jī)操作二:5節(jié)1031、索引文件(.IDX)(邏輯順序)建立索引文件,實(shí)際上不是移動(dòng)原文件的任何記錄,而是建立一個(gè)索引表(只有索引字段名和記錄號(hào)兩字段)供檢索、查找使用,記錄號(hào)就是用指針指向邏輯順序。2、主索引11.6、數(shù)據(jù)表的索引p2213、用表設(shè)計(jì)器建立索引方法:在“表設(shè)計(jì)器”的“索引”選卡中選取索引名及類型4、并用命令“setorderto索引名”顯示各排序好的記錄。1、索引文件(.IDX)(邏輯順序)11.6、數(shù)據(jù)表的104第12章多表操作及數(shù)據(jù)庫數(shù)據(jù)庫的表和自由表的區(qū)別:(擴(kuò)展名都是.dbf)表文件自由表數(shù)據(jù)庫中的表(數(shù)據(jù)庫的一部分)注意:一個(gè)表只能屬于一個(gè)庫第12章多表操作及數(shù)據(jù)庫數(shù)據(jù)庫的105第12章多表操作及數(shù)據(jù)庫一、創(chuàng)建數(shù)據(jù)庫文件(.dbc)1、創(chuàng)建新數(shù)據(jù)庫方法一:‘文件’/‘新建’/‘?dāng)?shù)據(jù)庫’/‘新建文件’/輸入文件名及路徑/保存例:創(chuàng)建“學(xué)生”數(shù)據(jù)庫存xb.DBC2、往數(shù)據(jù)庫添加表(自由表)打開數(shù)據(jù)庫:‘文件’/‘打開’/‘選數(shù)據(jù)庫名’/’確定‘注:(自由表)只能屬于一個(gè)數(shù)據(jù)庫例如:添加xb.dbf第12章多表操作及數(shù)據(jù)庫一、創(chuàng)建1063、移去數(shù)據(jù)庫中的表方法:打開數(shù)據(jù)庫/‘?dāng)?shù)據(jù)庫’/‘移去表’4、新建數(shù)據(jù)庫表方法:打開數(shù)據(jù)庫/‘?dāng)?shù)據(jù)庫’/‘新建表’5、建立表間的關(guān)系前題:有相同的字段,且都要以此字段建立索引,主表(主索引),從表(主索引或普通索引)方法:用鼠標(biāo)指向主表的主索引拖到從表的普通索引。3、移去數(shù)據(jù)庫中的表4、新建數(shù)據(jù)庫表5、建立表間的關(guān)系方法:107(2)設(shè)置字段有效性默認(rèn)值(字段中出現(xiàn)最多的值)方法:‘表設(shè)計(jì)器’/‘默認(rèn)值’框輸入相應(yīng)內(nèi)容例:設(shè)xs.dbf表中‘性別’字段的默認(rèn)值設(shè)為“男”(3)規(guī)則:(限制字段的錄入數(shù)據(jù))方法:‘表設(shè)計(jì)器’/‘規(guī)則’框輸入相應(yīng)內(nèi)容例:設(shè)‘總學(xué)分’字段的輸入‘規(guī)則’為‘總學(xué)分>=450’二、輸入輸出格式設(shè)置(自由表沒有這個(gè)功能)(1)設(shè)置字段標(biāo)題(在瀏覽)方法:在‘表設(shè)計(jì)器’的‘標(biāo)題’中鍵入內(nèi)容例:把xs.dbf表的xh的標(biāo)題是‘學(xué)號(hào)’(2)設(shè)置字段有效性(3)規(guī)則:(限制字段的錄入數(shù)據(jù))二、108上機(jī)操作三:1、打開學(xué)生表xs.dbf2、定制一個(gè)只有女性記錄的表。Setfiltto條件(恢復(fù)原表setfiltto)3、在表設(shè)置器中分別建立姓名、性別、專業(yè)、出生日期、總學(xué)分的索引文件。并用命令“setorderto索引名”顯示各排序好的記錄。4、建立一“學(xué)生”數(shù)據(jù)庫,并把“xs.dbf”添加到該庫,設(shè)置學(xué)生情況表的“學(xué)號(hào)”為主索引。為各字段設(shè)置中文標(biāo)題。5節(jié)上機(jī)操作三:5節(jié)109第3章VFP可視化編程VFP采用面向?qū)ο蟆⑹录?qū)動(dòng)的編程方法一、面向?qū)ο蟮幕靖拍頟341、對(duì)象(是面向?qū)ο缶幊痰幕驹兀?duì)象定義:是對(duì)一事物屬性及行為特征的描述。屬性是描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng)。方法是描述對(duì)象動(dòng)態(tài)特征的操作序列。對(duì)象是一個(gè)具有屬性(數(shù)據(jù))和方法(行為方式)的實(shí)體。常見的對(duì)象容器類對(duì)象:

表單、表格等 控件類對(duì)象:命令按鈕、標(biāo)簽、復(fù)選框等)最具特征的對(duì)象是表單和控件第3章VFP可視化編程VFP采用面向?qū)ο?、事件?qū)動(dòng)的編1102、對(duì)象的事件:是定義好的能被對(duì)象識(shí)別的動(dòng)作。如:單擊事件(click),雙擊事件(Dblclick)裝入事件(load)事件過程:響應(yīng)某個(gè)事件后所執(zhí)行程序代碼。3、對(duì)象方法:是對(duì)象的內(nèi)部函數(shù),用于完成某一特定的功能而為一定響應(yīng)某一事件。4、事件過程與方法的區(qū)別:事件過程:激發(fā)事件方法:程序調(diào)用5、控件:是某種圖形構(gòu)件的統(tǒng)稱。6、表單(form):應(yīng)用程序的用戶界面。(窗口)7、對(duì)象的引用:描述對(duì)象的容器層次的關(guān)系表單名.對(duì)象名.屬性名=屬性值2、對(duì)象的事件:是定義好的能被對(duì)象識(shí)別的動(dòng)作。表單名.對(duì)111二、VFP編程的步驟P411、步驟(1)建立應(yīng)用程序界面(表單)(2)在表單上安排所需的對(duì)象(由控件創(chuàng)建)(3)設(shè)置各對(duì)象的屬性(4)編寫事件過程代碼及方法2、建立表單(.scx)(1)方法:‘文件’/‘新建’/‘表單’/‘新建文件’用命令方式:CREAFORM表單名.scx(2)打開表單或修改表單(‘文件’/‘打開’菜單)(3)運(yùn)行表單:工具欄上的運(yùn)行按鈕用命令操作:DOFORM表單!二、VFP編程的步驟P41!112三、各控件的介紹1、應(yīng)用程序的界面(表單)2、輸入與輸出(1)標(biāo)簽標(biāo)簽是VFP中最常用的顯示文本信息的工具,其所顯示的內(nèi)容由Caption屬性控制。(2)文本框文本框是進(jìn)行文本數(shù)據(jù)輸入輸出的,文本框中顯示的文本是受Value屬性控制的3、命令按鈕Caption標(biāo)題常用事件:click(單擊)三、各控件的介紹113四:表單設(shè)計(jì)器屬性窗口、表單控件工具、代碼窗口1、各對(duì)象的設(shè)計(jì)(1)表單的屬性P164Caption——標(biāo)題常用方法:refresh—刷新表單release—釋放表單四:表單設(shè)計(jì)器114(2)標(biāo)簽對(duì)象屬性Caption及大小,顏色等。(3)文本框?qū)ο髮傩訴alue—值Password—密碼字符(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論