VFP電子教案課件_第1頁
VFP電子教案課件_第2頁
VFP電子教案課件_第3頁
VFP電子教案課件_第4頁
VFP電子教案課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

教案

授課時間2月24日至3月2日課時數(shù)2+2

理論課口討論課口習(xí)題課口實(shí)驗(yàn)課口上機(jī)課T技能課口其他口

授課方式

授課單元第1章VisualFoxPro數(shù)據(jù)庫基礎(chǔ)知識

1.了解數(shù)據(jù)庫的基本概念、數(shù)據(jù)管理技術(shù)。

目的

2.理解數(shù)據(jù)模型、關(guān)系數(shù)據(jù)庫的概念。

3.熟悉VisualFoxPro操作界面,VisualFoxPro工作方式。

要求

4.掌握項(xiàng)目管理器的操作與使用。

重點(diǎn)1)數(shù)據(jù)模型、項(xiàng)目管理器。

2)數(shù)據(jù)管理技術(shù)和VisualFoxPro操作界面。

難點(diǎn)

1.1了解數(shù)據(jù)庫管理技術(shù)的發(fā)展

主1.2了解數(shù)據(jù)庫系統(tǒng)的基本知識

要1.3了解數(shù)據(jù)模型的基本概念

1.4掌握關(guān)系數(shù)據(jù)庫基本知識

內(nèi)

1.5熟悉VisualFoxPro6.0集成環(huán)境

1.6認(rèn)識項(xiàng)目文件和項(xiàng)目管理器

教學(xué)方法

采用多媒體投影授課,課中請部分學(xué)生到黑板上練習(xí),加強(qiáng)與學(xué)生的互

手段(教動,增加課堂討論環(huán)節(jié),啟發(fā)式教學(xué),培養(yǎng)學(xué)生的實(shí)際操作能力。

具)

《VisualFoxPro程序設(shè)計基礎(chǔ)》盧湘鴻等編清華大學(xué)出版社

參考資料《數(shù)據(jù)庫系統(tǒng)概論》史嘉權(quán)等編清華大學(xué)出版社

實(shí)驗(yàn)L1

思考題、P27選擇題1、2、3、4、5、7、15

作業(yè)填空題1、3、7、12

1

2

講稿

第一章VisualFoxPro數(shù)據(jù)庫基礎(chǔ)知識

[舊課復(fù)習(xí)]:

復(fù)習(xí)內(nèi)容:1.以互動方式了解學(xué)生上學(xué)期對計算機(jī)基礎(chǔ)知識的掌握程度

2.復(fù)習(xí)數(shù)制轉(zhuǎn)換

復(fù)習(xí)目的:大致了解學(xué)生對計算機(jī)基礎(chǔ)知識掌握程度及層次情況

復(fù)習(xí)時長:大約5分鐘

[新課導(dǎo)入]:

導(dǎo)入方式:解讀為什么要學(xué)習(xí)VFP

隨著計算機(jī)應(yīng)用的普及和深入,人們對數(shù)據(jù)采集、存儲、加工、處理、

管理的技術(shù)和方法的要求也越來越高。而數(shù)據(jù)庫技術(shù)主要研究如何組織和存儲數(shù)

據(jù),如何高效地獲取和處理數(shù)據(jù)。VFP6.0則是關(guān)系型數(shù)據(jù)庫開發(fā)系統(tǒng)。

導(dǎo)入目的:讓學(xué)生初識數(shù)據(jù)庫及VFP

導(dǎo)入時長:大約5分鐘

[新課講授]:

重點(diǎn):數(shù)據(jù)模型、項(xiàng)目管理器。

難點(diǎn):數(shù)據(jù)管理技術(shù)和VisualFoxPro操作界面。

方法:運(yùn)用多媒體輔助教學(xué),采用案例教學(xué)和任務(wù)驅(qū)動等教學(xué)法。

第1章VisualFoxPro數(shù)據(jù)庫基礎(chǔ)知識

1.1數(shù)據(jù)庫管理技術(shù)的發(fā)展

一、數(shù)據(jù)、信息和數(shù)據(jù)處理

數(shù)據(jù):指存儲在某一種媒體上,能夠識別的物理符號。

信息:一種被加工成特定形式的數(shù)據(jù)。

數(shù)據(jù)處理:指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。

例如,一個人的“參加工作的日期”是固定的,屬于原始數(shù)據(jù),基于它就可以生

3

成工齡數(shù)據(jù),那么工齡就是得到的二次數(shù)據(jù)。

二、數(shù)據(jù)管理技術(shù)的發(fā)展

數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。

計算機(jī)數(shù)據(jù)的管理:對數(shù)據(jù)的組織、分類、編碼、存儲、檢索和維護(hù)。

計算機(jī)在數(shù)據(jù)管理方面經(jīng)歷了由低級到高級的發(fā)展過程。計算機(jī)數(shù)據(jù)管理隨著計

算機(jī)硬件、軟件技術(shù)和計算機(jī)應(yīng)用范圍的發(fā)展而不斷發(fā)展,多年來經(jīng)歷了人工管

理、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)等幾個階

段。

(1)人工管理

20世紀(jì)50年代中期以前。

數(shù)據(jù)管理任務(wù):存儲結(jié)構(gòu)、存取方法、輸入輸出方式等完全由程序設(shè)計人員一人

負(fù)責(zé)。

特點(diǎn):數(shù)據(jù)與程序不具有獨(dú)立性,一組數(shù)據(jù)對應(yīng)一組程序。數(shù)據(jù)不長期保存,程

序運(yùn)行結(jié)束后就退出計算機(jī)系統(tǒng),一個程序中的數(shù)據(jù)無法被其他程序利用,因此

程序與程序之間存在大量的重復(fù)數(shù)據(jù),稱為數(shù)據(jù)冗余。

(2)文件系統(tǒng)

20世紀(jì)50年代后期至60年代中后期。

計算機(jī)開始大量地用于管理中的數(shù)據(jù)處理工作。出現(xiàn)了高級語言和操作系統(tǒng)。操

作系統(tǒng)中的文件系統(tǒng)是專門管理外存儲器的數(shù)據(jù)管理軟件。

特點(diǎn):程序與數(shù)據(jù)有了一定的獨(dú)立性,程序和數(shù)據(jù)分開存儲,有了程序文件和數(shù)

據(jù)文件的區(qū)別。數(shù)據(jù)文件可以長期保存在外存儲器上被多次存取。數(shù)據(jù)冗余度大

這不僅浪費(fèi)存儲空間,增加更新開銷,更嚴(yán)重的是,由于不能統(tǒng)一修改,容易造

成數(shù)據(jù)的不一致。

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

從20世紀(jì)60年代后期開始。為了實(shí)現(xiàn)計算機(jī)對數(shù)據(jù)的統(tǒng)一管理,達(dá)到數(shù)據(jù)共享

的目的,發(fā)展了數(shù)據(jù)庫技術(shù)。

數(shù)據(jù)庫技術(shù)的主要目的是有效地管理和存取大量的數(shù)據(jù)資源,包括:提高數(shù)據(jù)的

共享性,使多個用戶能夠同時訪問數(shù)據(jù)庫中的數(shù)據(jù);減小數(shù)據(jù)的冗余度,以提高

4

數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減小應(yīng)用程序的開

發(fā)和維護(hù)代價。

為數(shù)據(jù)庫的建立、使用和維護(hù)而配置的軟件稱為數(shù)據(jù)庫管理系統(tǒng)DBMS(DataBase

ManagementSystem)。

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

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

數(shù)據(jù)庫(DB)

數(shù)據(jù)庫(Database)是存儲在計算機(jī)存儲設(shè)備上,結(jié)構(gòu)化的,表現(xiàn)為多種形式的,

可以共享的相關(guān)數(shù)據(jù)集合。它不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)事

物之間的聯(lián)系。

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

數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem)是可以對數(shù)據(jù)庫的建立、使用和

維護(hù)進(jìn)行管理的軟件系統(tǒng)。

數(shù)據(jù)庫管理系統(tǒng)作為數(shù)據(jù)庫系統(tǒng)的核心軟件,其主要目標(biāo)是方便用戶使用資源,

易于為各類用戶所共享,并增進(jìn)數(shù)據(jù)的安全性、完整性和可用性。

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

是具有數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)的計算機(jī)系統(tǒng)。它是由計算機(jī)硬件系統(tǒng)、數(shù)

據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)和用戶(數(shù)據(jù)庫管理員、應(yīng)用設(shè)計人員、最終

用戶)五部分組成。DBMS是數(shù)據(jù)庫系統(tǒng)中最重要的核心軟件。

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

①實(shí)現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余

5

②采用特定的數(shù)據(jù)模型

③具有較高的數(shù)據(jù)獨(dú)立性

④具有統(tǒng)一的數(shù)據(jù)控制功能

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

一、實(shí)體的描述

數(shù)據(jù)庫需要根據(jù)應(yīng)用系統(tǒng)中數(shù)據(jù)的性質(zhì)、內(nèi)在聯(lián)系,按照管理的要求來設(shè)計和組

織?,F(xiàn)實(shí)世界存在各種事物,事物與事物之間存在著聯(lián)系。這種聯(lián)系是客觀存在

的,是由事物本身的性質(zhì)所決定的。

例如:圖書館中有圖書和讀者,讀者借閱圖書;學(xué)生選課系統(tǒng)中有學(xué)生、成績、

選課,學(xué)生可選修課程,學(xué)生選修課程可獲得成績。

實(shí)體

客觀存在并且可以相互區(qū)別的事物稱為實(shí)體。實(shí)體可以是實(shí)際的事物,也可以是

抽象的事件。

例:職工、圖書等屬于實(shí)際事物,訂貨、借閱圖書等活動是比較抽象的事件。

實(shí)體的屬性

描述實(shí)體的特性稱為屬性。

二、實(shí)體間的聯(lián)系

6

聯(lián)系:實(shí)體之間的對應(yīng)關(guān)系。它反映現(xiàn)實(shí)世界事物之間的相互關(guān)聯(lián)。

如,一個學(xué)生可以選修多門課程,一門課程可以被多個學(xué)生所選修。

實(shí)體間聯(lián)系的種類是指一個實(shí)體集中可能出現(xiàn)的每一個實(shí)體,與另一個實(shí)體集中

多少個具體實(shí)體存在聯(lián)系。

兩個實(shí)體間的聯(lián)系可以歸結(jié)為三種類型:

一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)、多對多聯(lián)系(m:n)

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

數(shù)據(jù)模型:數(shù)據(jù)庫管理系統(tǒng)中用來表示實(shí)體及實(shí)體間聯(lián)系的方法。

一個具體的數(shù)據(jù)模型應(yīng)當(dāng)正確地反映出數(shù)據(jù)之間存在的整體邏輯關(guān)系,即數(shù)據(jù)模

型是數(shù)據(jù)及其聯(lián)系的集合。

數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型分為三種:

?層次模型

?網(wǎng)狀模型

?關(guān)系模型

1.4關(guān)系數(shù)據(jù)庫

一.關(guān)系模型

(1)關(guān)系

一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。

(2)元組

二維表的每一行在關(guān)系中稱為元組。在VFP中,一個元組對應(yīng)表中一個

記錄。

(3)屬性

二維表的每一列在關(guān)系中稱為屬性,每個屬性都有一個屬性名。每個屬性

都有屬性名,數(shù)據(jù)類型,長度。

(4)域:屬性的取值范圍稱為域。

(5)關(guān)鍵字

關(guān)系中能唯一區(qū)分不同元組(記錄)的屬性或?qū)傩越M合,稱為該關(guān)系的

一個關(guān)鍵字。

7

單個屬性組成的關(guān)鍵字稱為單關(guān)鍵字,多個屬性組合的關(guān)鍵字稱為組合

關(guān)鍵字。(關(guān)鍵字的屬性值不能取“空值”)

當(dāng)一個數(shù)據(jù)表有多個關(guān)鍵字時,可從中選出一個作為主關(guān)鍵字(或主

鍵)。

二.關(guān)系運(yùn)算

RUSRPISR—S

選擇

從表中找出滿足給定條件的行(即元組或記錄),構(gòu)成一個新表的操作稱為選擇。

投影

從表中指定屬性值滿足條件的列(即字段),構(gòu)成一個新表的操作稱為投影。

聯(lián)接

把兩個表中相同屬性的元組連接在一起,構(gòu)成一個新表的操作稱為聯(lián)接。

三.完整性控制

為保證關(guān)系中數(shù)據(jù)的正確性和有效性,需建立數(shù)據(jù)完整性的約束機(jī)制

8

來加以控制。

1、實(shí)體完整性控制

即記錄完整性控制,主要由主關(guān)鍵字等來實(shí)現(xiàn)。

2、域完整性控制

即字段完整性控制,主要由字段有效性規(guī)則來實(shí)現(xiàn)。

3、參照完整性控制

即多表之間數(shù)據(jù)的一致性控制,主要由參照性規(guī)則來實(shí)現(xiàn)。

1.5VisualFoxPro6.0系統(tǒng)概述

1.VisualFoxPro的主界面窗口

VFP窗口的顯示如下圖所示。

VisualFoxPro的主界面窗口

2.VisualFoxPro6.0的工作方式

9

VisualFoxPro6.0支持兩種工作方式,

?交互操作方式

?程序執(zhí)行方式

VisualFoxPro6.0啟動后便處于交互操作方式,交互操作方式又分為:

?菜單選擇方式

?命令執(zhí)行方式

程序執(zhí)行方式:

把多條命令按照要完成的任務(wù)和系統(tǒng)的編程規(guī)則編成程序,并將其存儲為

命令文件,待需要執(zhí)行該文件時,系統(tǒng)自動執(zhí)行其中的每條命令,完成所要完成

的任務(wù)

3.VisualFoxPro6.0命令結(jié)構(gòu)

VFP命令的書寫規(guī)則如下:

(1)命令必須以命令動詞開始,動詞后的各子句順序任意。

(2)各個單詞短語之間至少用一個空格分開。

(3)輸入時不區(qū)分大小寫。

(4)命令動詞、短語、函數(shù)名可縮寫成前4個字符。

(5)一行最多寫一條命令,以回車鍵結(jié)束??赏ㄟ^續(xù)行符“;”續(xù)行。

4.VisualFoxPro文件類型:

.app生成的應(yīng)用程序

,cdx復(fù)合索引

.idx索引、壓縮索引

.dbc數(shù)據(jù)庫

.dbf表

.mnx菜單

.mpr生成的菜單程序

.exe可執(zhí)行程序

.pjx項(xiàng)目

L6項(xiàng)目管理器

項(xiàng)目管理器是VisualFoxPro6.0中處理數(shù)據(jù)和對象的主要組織工具,是Visual

FoxPro6.0的“控制中心”,項(xiàng)目是文件、數(shù)據(jù)、文檔和VisualFoxPro6.0對

象的集合,其保存的文件帶有.PJX擴(kuò)展名。在建立表、數(shù)據(jù)庫、查詢、表單、

報表及應(yīng)用程序時,可以用“項(xiàng)目管理器”來組織和管理文件。

(1)查找數(shù)據(jù)文件

“數(shù)據(jù)”選項(xiàng)卡包含了一個項(xiàng)目中的所有數(shù)據(jù):數(shù)據(jù)庫、自由表、查詢和視圖。

10

“項(xiàng)目管理器”中的“數(shù)據(jù)”選項(xiàng)卡如下圖所示。

數(shù)據(jù)庫是表的集合,一般通過公共字段彼此關(guān)聯(lián),使用“數(shù)據(jù)庫設(shè)計器”可以

創(chuàng)建一個數(shù)據(jù)庫,數(shù)據(jù)庫文件的擴(kuò)展名為.DBC。

自由表存儲在以.DBF為擴(kuò)展名的文件中,它不是數(shù)據(jù)庫的組成部分。

查詢是檢查存儲在表中的特定信息的一種結(jié)構(gòu)化方法,利用“查詢設(shè)計器”

可以設(shè)置查詢的格式,該查詢將按照輸入的規(guī)則從表中提取記錄,查詢

被保存為帶.QPR擴(kuò)展名的文件。

視圖是特殊的查詢,通過更改由查詢返回的記錄,可以用視圖訪問遠(yuǎn)程數(shù)據(jù)

或更新數(shù)據(jù)源,視圖只能存在于數(shù)據(jù)庫中,它不是獨(dú)立的文件。

(2)查找表單和報表文件

“文檔”選項(xiàng)卡中包含了處理數(shù)據(jù)時所用的全部文檔:輸入和查看數(shù)據(jù)所用

的表單以及打印表和查詢結(jié)果所用的報表及標(biāo)簽?!绊?xiàng)目管理器”中的“文檔”

選項(xiàng)卡,如下圖所示。

11

表單:用于顯示和編輯表中的內(nèi)容。

報表:是一種文件,它告訴VisualFoxPro6.0如何設(shè)置查詢,來從表中提取結(jié)

果,以及如何將它們打印出來。

標(biāo)簽:是打印在專用紙上帶有特殊格式的報表。

練習(xí)題:

1.新建一個名為“供應(yīng)”的項(xiàng)目文件,將數(shù)據(jù)庫“供應(yīng)零件”加入到新建的“供

應(yīng)”的項(xiàng)目文件中。

12

[教學(xué)總結(jié)]:

本單元主要學(xué)習(xí)了數(shù)據(jù)庫的相關(guān)知識,包括數(shù)據(jù)、信息、數(shù)據(jù)庫、數(shù)據(jù)庫管

理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)模型、關(guān)系模型、關(guān)系運(yùn)算;VFP6.0的安裝、啟動

和退出方法,VFP6.0的操作界面和主要文件類型,VFP6.0系統(tǒng)環(huán)境設(shè)置,以

及項(xiàng)目管理器的功能和基本用法。

重點(diǎn)是數(shù)據(jù)模型、項(xiàng)目管理器。

[作業(yè)布置]:

實(shí)驗(yàn)1.1

P27選擇題1、2、3、4、5、7、15

填空題1、3、7、12

[教學(xué)后記]:

13

教案

授課時間3月3日至3月14日課時數(shù)4+2

理論課叼討論課口習(xí)題課口實(shí)驗(yàn)課口上機(jī)課區(qū)技能課口其他口

授課方式

授課單元第2章VFP數(shù)據(jù)基礎(chǔ)

目的1.掌握常用數(shù)據(jù)類型

2.掌握變量命名、聲明方法及變量種類

3.掌握VFP運(yùn)算符及表達(dá)式

要求

4.掌握各種常用函數(shù)

本章重點(diǎn):

重點(diǎn)

整型、數(shù)值型、字符型數(shù)據(jù);運(yùn)算符和表達(dá)式的運(yùn)用;常用函數(shù)

本章難點(diǎn):表達(dá)式和常用函數(shù)。

難點(diǎn)

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

2.2常量與變量

2.3運(yùn)算符和表達(dá)式

內(nèi)

2.4VFP常用函數(shù)

教學(xué)方法

采用多媒體投影授課,課中請部分學(xué)生到黑板上練習(xí),加強(qiáng)與學(xué)生的互

手段(教動,增加課堂討論環(huán)節(jié),啟發(fā)式教學(xué),培養(yǎng)學(xué)生的實(shí)際操作能力。

具)

《VisualFoxPro程序設(shè)計基礎(chǔ)》盧湘鴻等編清華大學(xué)出版社

參考資料《數(shù)據(jù)庫系統(tǒng)概論》史嘉權(quán)等編清華大學(xué)出版社

實(shí)驗(yàn)2.1

思考題、實(shí)驗(yàn)2.2

作業(yè)P46選擇題1、2、4、5、6、8

填空題1、4、6

14

15

講稿

第二章VFP數(shù)據(jù)基礎(chǔ)

[舊課復(fù)習(xí)]:

復(fù)習(xí)內(nèi)容:

1.VFP6.0的操作界面和主要文件類型

2.在VFP6.0的集成環(huán)境中,創(chuàng)建一個名為“學(xué)生管理”的項(xiàng)目,

在該項(xiàng)目中建一數(shù)據(jù)庫,將兩自由表添加入庫,并進(jìn)行相關(guān)的基本

操作

復(fù)習(xí)目的:熟悉VFP6.0集成環(huán)境,熟悉項(xiàng)目管理器

復(fù)習(xí)時長:大約5分鐘

[新課導(dǎo)入]:

導(dǎo)入方式:任何語言都有其規(guī)定的語言規(guī)范,程序設(shè)計語言也不例外。VFP6.0

程序設(shè)計語言規(guī)定了它自己的語言規(guī)范,只有掌握了它,用戶才能熟練地運(yùn)用

VFP6.0系統(tǒng)。

導(dǎo)入目的:讓學(xué)生了解學(xué)習(xí)VFP語言的目的

導(dǎo)入時長:大約5分鐘

[新課講授]:

重點(diǎn):整型、數(shù)值型、字符型數(shù)據(jù);運(yùn)算符和表達(dá)式的運(yùn)用;常用函數(shù)。

難點(diǎn):表達(dá)式和常用函數(shù)。

方法:運(yùn)用多媒體輔助教學(xué),采用案例教學(xué)和任務(wù)驅(qū)動等教學(xué)法。

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

數(shù)據(jù)庫是用來組織和存儲數(shù)據(jù)的,數(shù)據(jù)的類型有多種,如數(shù)值、字符、圖片、多媒體等

等。VisualFoxPro6.0給用戶提供了多種數(shù)據(jù)類型,不同的數(shù)據(jù)類型具有各自的取值范圍和

特點(diǎn),計算機(jī)根據(jù)不同的數(shù)據(jù)類型,進(jìn)行不同的操作。這些數(shù)據(jù)類型應(yīng)用于程序設(shè)計開發(fā)時,

可以通過常量、變量、數(shù)組等表現(xiàn)出來。

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

VisualFoxPro6.0提供了11種數(shù)據(jù)類型應(yīng)用于數(shù)據(jù)庫。

(1)字符型(Character)

⑵貨幣型(Currency)

(3)日期型(Date)

16

(4)日期時間型(DateTime)

⑸邏輯型(Logical)

(6)數(shù)值型(Numeric)

(7)雙精度型(Double)

(8)浮點(diǎn)型(Float)

(9)通用型(General)

(10)整型(Integer)

(11)備注型(Memo)

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

一、常量

常量是指在程序運(yùn)行過程中保持不變的數(shù)據(jù)量。常被應(yīng)用于程序開發(fā)的調(diào)試階段,具

有字符型、數(shù)值型、日期型、日期時間型、邏輯型等多種類型。

1、字符型常量,用單引號、雙引號或括號括起來的字符串:

如:“ABCD”,,你好',[VFP6.0]

2、數(shù)值型常量,如:5,28.23,-3;

3、日期型常量和日期時間型常量,如:{八2001-10-30},{人2001-10-3011:25am};

4、邏輯型常量,只有兩種:邏輯真用.T.、.t.或.Y.、.y.表示,邏輯假用.F.、.f.

或.N.、.n.表示,o

二、變量

變量是指在操作過程中其值允許變化的量。變量代表計算機(jī)內(nèi)存中的某一位置,其中可

存放數(shù)據(jù)??梢愿淖円粋€變量的內(nèi)容,但其名稱和存儲區(qū)域可以一直使用,直到結(jié)束Visual

FoxPro工作期或釋放該變量。

變量:

?內(nèi)存變量

?字段變量

?系統(tǒng)變量

(一)、內(nèi)存變量:

內(nèi)存變量用來存儲數(shù)據(jù),在程序開始運(yùn)行時在內(nèi)存中創(chuàng)建,在程序結(jié)束時從內(nèi)存中釋放。

內(nèi)存變量包括簡單內(nèi)存變量和數(shù)組兩種。

變量名:由英文字母、漢字、數(shù)字或下劃線構(gòu)成,但必須以英文字母、漢字或下劃線開

頭,其長度小于等于128字符,但不能與系統(tǒng)的保留字同名。

1、簡單內(nèi)存變量:

VFP通過給簡單內(nèi)存變量賦值的方式來建立簡單內(nèi)存變量:

V內(nèi)存變量名>=<表達(dá)式>

STORE〈表達(dá)式〉TO〈內(nèi)存變量名表〉

2、數(shù)組

數(shù)組是按一定順序排列的一組內(nèi)存變量,數(shù)組中的各個變量稱為數(shù)組元素。數(shù)組必須先

17

定義后使用。

(1)數(shù)組的定義

格式:DIMENSION|DECLARE[(數(shù)組名〉(〈下標(biāo)1>[,<下標(biāo)2>]),〈數(shù)組名〉(<

下標(biāo)1>[,<下標(biāo)2>])……]

VFP規(guī)定數(shù)組下標(biāo)從1開始。

(2)數(shù)組的賦值

系統(tǒng)將各數(shù)組元素的初值設(shè)置為.F.,用賦值命令可以為數(shù)組元素單個地賦值,也可以

為整個數(shù)組的各個元素賦以相同值,允許同一數(shù)組的元素類型不同。

(二)字段變量

數(shù)據(jù)庫中數(shù)據(jù)以二維表的形式存在,表的行、列分別稱為記錄和字段。表的每一個字段

都是一個字段變量,變量的值因記錄的不同而不同,字段變量在建立表結(jié)構(gòu)時定義,修改表

結(jié)構(gòu)時可以重新定義。

注:當(dāng)同名的內(nèi)存變量與字段變量同時出現(xiàn)時,系統(tǒng)默認(rèn)為字段變量。如要指定其中的

內(nèi)存變量,需要在變量名前加上“m.”或例如m.ab,m->abo

(三)系統(tǒng)變量

系統(tǒng)變量是由VisualFoxPro系統(tǒng)提供的,都是以下劃線開頭,分別用于控制外部設(shè)備、

屏幕輸出格式、或處理有關(guān)計算器、日歷、剪貼板等方面的信息。

2.3運(yùn)算符與表達(dá)式

運(yùn)算符:是在VFP中用來進(jìn)行運(yùn)算的符號。

表達(dá)式:就是常量,變量和函數(shù)用運(yùn)算符連接起來的式子,根據(jù)運(yùn)算對象的數(shù)據(jù)類型不

同,表達(dá)式可以分為算術(shù)表達(dá)式、字符表達(dá)式、日期和時間表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)

式。

常量、變量和函數(shù)本身就可作為一個表達(dá)式。

一、算術(shù)表達(dá)式

算術(shù)表達(dá)式由算術(shù)運(yùn)算符與數(shù)值型常量、變量、函數(shù)構(gòu)成,運(yùn)算結(jié)果仍為數(shù)值型。又

稱數(shù)值表達(dá)式,其運(yùn)算對象和運(yùn)算結(jié)果均為數(shù)值型數(shù)據(jù)。

算術(shù)運(yùn)算符及其優(yōu)先級:

()括號一**或人(乘方)一*、/、%(乘、除、取余)一+、-(加、減)

計算下列表達(dá)式的值

?-8+3*5%2A6/5*(sin(0)-8)

?-8+3*5%-2A6/5*(sin(0)-8)

?-8+3*5%-(2A6)/5*(sin(0)-8)

為了增強(qiáng)程序代碼的可讀性,可以使用()使表達(dá)式的計算次序顯得更清晰

程序代碼的可讀性在很多時候比程序運(yùn)行的速度更重要

18

二、字符表達(dá)式

字符表達(dá)式由字符運(yùn)算符與字符型常量、變量、函數(shù)構(gòu)成,運(yùn)算結(jié)果為字符型或邏輯型。

VFP字符運(yùn)算有兩類:連接運(yùn)算和包含運(yùn)算。它們的優(yōu)先級相同:

1、連接運(yùn)算

連接運(yùn)算符有完全連接運(yùn)算符“+”和不完全連接運(yùn)算符“-"2種。

+:前后兩個字符串首尾連接形成一個新的字符串。

-:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。

字符串表達(dá)式運(yùn)算結(jié)果

"計算機(jī)世界"計算機(jī)世界

,,l□have□aUU"+,,Book,,1□haveEHaLJLJBook

"計算機(jī)"世界"計算機(jī)世界□□

'"□haveDLIa□"一"Book"1DhaveLILJaBookn

2、包含運(yùn)算

“$”是字符串的包含運(yùn)算符,其運(yùn)算的結(jié)果是邏輯值。如果字符串1包含在字符串2中,

則運(yùn)算結(jié)果為真(1),否則為假(.F.)。包含運(yùn)算符區(qū)分大小寫。

三、日期表達(dá)式和日期時間表達(dá)式

日期和日期時間運(yùn)算符分為“+”和兩種,其作用分別是在日期數(shù)據(jù)上增加或減少天數(shù),

在日期時間數(shù)據(jù)上增加或減少秒數(shù)。兩個運(yùn)算的優(yōu)先級別相同。

注意:日期型不能和日期型數(shù)據(jù)相加

例:已知2009年3月3日星期二,求2010年1月1日星期幾?

?({A2010/01/01}-{A2009/03/03)+2)%7

四、關(guān)系表達(dá)式

由關(guān)系運(yùn)算符連接兩個同類數(shù)據(jù)對象進(jìn)行關(guān)系比較的運(yùn)算式稱為關(guān)系表達(dá)式。關(guān)系表

達(dá)式的返回值為邏輯值,關(guān)系表達(dá)式成立則其值為“真”,否則為“假”。關(guān)系運(yùn)算符具有相同

的優(yōu)先級。(見P50)

當(dāng)運(yùn)算對象為字符型時,可用命令SETEXACTON/OFF來設(shè)置“=”是否為精確比較。在非精

確比較時,在關(guān)系表達(dá)式的格式中,只要后一個表達(dá)式是前一個表達(dá)式的前綴,其結(jié)果便為

真。

【例2.101關(guān)系運(yùn)算示例。

SETEXACTOFF&&設(shè)置字符串為非精確比較,只要右邊字符串與左邊字符串的前

面部分相匹配,即為邏輯真。

?1244.33>22&&.T.

19

?aa>bb&&.T.或者.F,取決于變量aa和bb的內(nèi)容

?"A">"B"&&.F.

?“助教,>“教授”&&.T.

zc=”教授口□”

?zc="教授","教授"=zc,"教授"==LEFT(zc,4),zc=="教授"

主窗口顯示:.T.,F..T..E

注意:在非精確比較狀態(tài)下,條件zc="教授”與條件“教授”=zc不等價。另:,=,與,$,

功能相反

例:

x=50

y=8

x=x+y

?x,x=x+y

58.F.

z=y=y+l

?z

.F.

a=x>20

?a

,T.

五、邏輯表達(dá)式

由邏輯運(yùn)算符將邏輯型數(shù)據(jù)對象連接而成的式子稱為邏輯表達(dá)式。邏輯表達(dá)式的運(yùn)算對

象與運(yùn)算結(jié)果均為邏輯型數(shù)據(jù)。邏輯運(yùn)算符前后一般要加圓點(diǎn)標(biāo)記,以示區(qū)別,也可省略。

邏輯運(yùn)算符:.NOT.(或!)一.AND.—.OR.

設(shè):

abcd

TFTF

?aandborcandd&&結(jié)果為F

?(aandborc)andd&&結(jié)果為F

?aorbandcord&&結(jié)果為T

?aand!bor!(candd)&&結(jié)果為T

例:邏輯運(yùn)算示例。

x=8

y=15

?x>5,y<10,x>5ORy<10,x>5ANDy<10,NOTy<10

20

王窗口顯不:.T..F..T..F..T.

例:

?15>2*6AND("jiao'Y'jiang'')OR.T.<.F.

.F.

?(13%3=1)AND(27%5=2)OR“ab”="ad”

.T.

2.4VisualFoxPro6.0常用函數(shù)

標(biāo)準(zhǔn)函數(shù)是系統(tǒng)提供的可以實(shí)現(xiàn)特定功能的一段程序。只要調(diào)用它,就能得到相應(yīng)的輸

出結(jié)果。

函數(shù)的一般形式如下:

函數(shù)名([<參數(shù)名1>]3<參數(shù)名2>,]…[,<參數(shù)名n>])

VisualFoxPro提供了大量的標(biāo)準(zhǔn)函數(shù)。

一、數(shù)值處理函數(shù)

進(jìn)行數(shù)值運(yùn)算,處理數(shù)值型數(shù)據(jù)。包括三角、對數(shù)、指數(shù)、數(shù)值轉(zhuǎn)換和測試等函數(shù)。函

數(shù)功能如下:

ABS(〈數(shù)值表達(dá)式〉):求〈數(shù)值表達(dá)式>的絕對值

EXP(〈數(shù)值表達(dá)式〉):求e的〈數(shù)值表達(dá)式>次方的值

SQRT(〈數(shù)值表達(dá)式〉):求〈數(shù)值表達(dá)式>的平方根

INT(〈數(shù)值表達(dá)式〉):返回〈數(shù)值表達(dá)式〉的整數(shù)部分

LOG(〈數(shù)值表達(dá)式〉):返回〈數(shù)值表達(dá)式>的對數(shù)值

MAX(〈數(shù)值表達(dá)式1>,(數(shù)值表達(dá)式2>...):

返回兩個以上數(shù)值中的最大者

MOD(〈數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)取模,

即返回兩數(shù)相除所得的余數(shù)。

ROUND(〈數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>):

〈數(shù)值表達(dá)式1>四舍五入,保留〈數(shù)值表達(dá)式2>位小數(shù)

RAND(〈數(shù)值表達(dá)式〉):返回一個0?1之間的隨機(jī)數(shù)。

CEILING(〈數(shù)值表達(dá)式〉):返回大于等于〈數(shù)值表達(dá)式>的最小整數(shù)。

FLOOR(〈數(shù)值表達(dá)式>):返回小于等于〈數(shù)值表達(dá)式〉的最大整數(shù)。

二、字符串處理函數(shù)

LEN(〈字符表達(dá)式〉):

返回字符串的長度,一個漢字占兩個字符長度。

SPACE(<數(shù)值表達(dá)式〉)

返回〈數(shù)值表達(dá)式>個空格

LOWER(〈字符表達(dá)式,)

將大寫字母轉(zhuǎn)換為小寫

21

UPPER(〈字符表達(dá)式〉)

將小寫字母轉(zhuǎn)換為大寫

AT(〈字符表達(dá)式1>,〈字符表達(dá)式2>[,<數(shù)值表達(dá)式>])

返回字符串〈字符表達(dá)式1>,在〈字符表達(dá)式2>中第<數(shù)值表達(dá)式〉次出現(xiàn)的起始位置,

若〈字符表達(dá)式2>不包含〈字符表達(dá)式1>,則函數(shù)值為Oo

LEFT(〈字符表達(dá)式><數(shù)值表達(dá)式〉):

返回〈字符表達(dá)式>左起〈數(shù)值表達(dá)式>個字符的子串

RIGHT(〈字符表達(dá)式><數(shù)值表達(dá)式)):

返回〈字符表達(dá)式>右起<數(shù)值表達(dá)式〉個字符的子串

SUBSTR(〈字符表達(dá)式),〈數(shù)值表達(dá)式1>[,<數(shù)值表達(dá)式2>])

返回〈字符表達(dá)式〉中第〈數(shù)值表達(dá)式1>位起的長度為〈數(shù)值表達(dá)式2>的子串

ALLTRIM(〈字符表達(dá)式〉)刪除字符串前導(dǎo)和末尾的空格

日期時間函數(shù)

CTOD(〈字符表達(dá)式>):將〈字符表達(dá)式〉轉(zhuǎn)換為日期

DTOC(〈日期表達(dá)式〉):將<日期表達(dá)式〉轉(zhuǎn)換為字符串

DTOS(<日期表達(dá)式>):將〈日期表達(dá)式〉轉(zhuǎn)換為YYYYMMDD格式字符串

TIME()以HH:MM:SS的格式返回系統(tǒng)當(dāng)前時間

DATE()返回系統(tǒng)的當(dāng)前日期

DATETIME():返回系統(tǒng)的當(dāng)前日期及時間

YEAR(〈日期表達(dá)式》):返回〈日期表達(dá)式〉所指的年份

MONTH(〈日期表達(dá)式〉):返回〈日期表達(dá)式>所指的月份

DAY(〈日期表達(dá)式)):返回〈日期表達(dá)式>所指的日

HOUR(〈日期時間表達(dá)式>):返回〈日期時間表達(dá)式〉所指的小時

MINUTE(〈日期時間表達(dá)式〉):返回〈日期時間表達(dá)式〉所指的分

SEC(〈日期時間表達(dá)式〉):返回〈日期時間表達(dá)式〉所指的秒

四、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

在數(shù)據(jù)庫應(yīng)用的過程中,經(jīng)常要將不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行相應(yīng)轉(zhuǎn)換,滿足實(shí)際應(yīng)用的

需要。VFP系統(tǒng)提供了若干個轉(zhuǎn)換函數(shù),較好地解決了數(shù)據(jù)類型轉(zhuǎn)換的問題。

1、字符串轉(zhuǎn)換為數(shù)值函數(shù)

格式:VAL(〈數(shù)字字符串〉)

功能:將數(shù)字字符串(包括正負(fù)號、小數(shù)點(diǎn))轉(zhuǎn)換為對應(yīng)的數(shù)值型數(shù)據(jù)。若字符串

內(nèi)出現(xiàn)非數(shù)字,字符就停止轉(zhuǎn)換;若字符串的首字符為非數(shù)字符,則返回值為0,但忽略前

導(dǎo)空格

2、數(shù)值轉(zhuǎn)換成字符串函數(shù)

格式:STR(〈數(shù)值型表達(dá)式>[,<長度>,[,<小數(shù)位數(shù)>]])

功能:將〈數(shù)值型表達(dá)式〉的值轉(zhuǎn)換成字符串,轉(zhuǎn)換時根據(jù)需要自動四舍五入?!葱?/p>

數(shù)位數(shù)>的默認(rèn)值為0,〈長度〉的默認(rèn)值為10。X=-1234.567&&L=6+小數(shù)位

22

數(shù)

?STR(X,12,4)&&nn-1234.5670

?STR(X)&&DDDDD-1235

?STR(X,8)&&DDD-1235

?STR(X,7,3)&&-1234.6

?STR(X,4)&&****

3、字符與ASCII之間的轉(zhuǎn)換函數(shù)

格式:ASC(〈字符型表達(dá)式〉)

CHR(〈數(shù)值型表達(dá)式〉)

功能:ASC()函數(shù)給出指定字符串最左邊的一個字符的ASCII碼值。函數(shù)值為數(shù)值型。CHR()

函數(shù)將數(shù)值表達(dá)式的值作為ASCII碼,轉(zhuǎn)換為對應(yīng)的字符。函數(shù)值為字符型。

4、字符串轉(zhuǎn)換成日期或日期時間函數(shù)

格式:CTOD(〈字符型表達(dá)式〉)

CTOT(<字符型表達(dá)式〉)

功能:CTOD()將(〈字符型表達(dá)式〉)值轉(zhuǎn)換成日期型數(shù)據(jù)。

CTOT()將(〈字符型表達(dá)式〉)值轉(zhuǎn)換成日期時間型數(shù)據(jù)。

5、日期或日期時間轉(zhuǎn)換成字符串

格式:DTOC(〈日期表達(dá)式>|〈日期時間表達(dá)式>[,1])

TTOC(<日期時間表達(dá)式>[,1])

功能:DTOC()將日期型數(shù)據(jù)或日期時間型數(shù)據(jù)的日期部分轉(zhuǎn)換成字符串。TTOC()將

日期時間型數(shù)據(jù)轉(zhuǎn)換成字符串。

五、測試函數(shù)

1、NULL值測試函數(shù)

格式:ISNULL(〈表達(dá)式>)

功能:判斷表達(dá)式的運(yùn)算結(jié)果是否為NULL值,若是NULL值返回邏輯真(T),

否則返回邏輯假(.F.)。

2、空值測試函數(shù)

格式:EMPTY(〈表達(dá)式〉)

功能:根據(jù)指定表達(dá)式的運(yùn)算結(jié)果是否為“空”值,返回邏輯真(T)或邏輯假(.F.)。

3、數(shù)據(jù)類型測試函數(shù)

格式:VARTYPE(〈表達(dá)式〉)或TYPE(〈表達(dá)式〉)

功能:測試〈表達(dá)式>的類型,返回一個表示數(shù)據(jù)類型的大寫字母。

4、值域測試函數(shù)

格式:BETWEEN^被測試表達(dá)式T>,V下限表達(dá)式L>,<上限表達(dá)式H>)

功能:判斷被測試表達(dá)式的值是否介于另外兩個表達(dá)式的值之間。當(dāng)〈表達(dá)式T>值大于等

于〈表達(dá)式L>且小于等于〈表達(dá)式H>時,函數(shù)值為邏輯T,否則函數(shù)數(shù)值為邏輯.F.。如果<

表達(dá)式1>或<表達(dá)式H>有一個是NULL值,那么函數(shù)值也是NULL值。

5、條件測試函數(shù)

23

格式:IIF(〈邏輯型表達(dá)式,,〈表達(dá)式1〉,〈表達(dá)式2>)

功能:測試〈邏輯表達(dá)式>的值,若為邏輯真1,函數(shù)返回〈表達(dá)式1>的值;若為邏

輯假.F.,函數(shù)返回〈表達(dá)式2〉的值?!幢磉_(dá)式1>和<表達(dá)式2>的類型不要求相同。

6、表文件首測試函數(shù)

格式:BOF(<E作區(qū)號>|〈表別名〉)

功能:判斷指定工作區(qū)中當(dāng)前表文件的指針是否指向文件首部,是就返回1,否就返

回.F.

7、表文件尾測試函數(shù)

格式:EOF(〈工作區(qū)號>|〈表別名〉)

功能:判斷指定工作區(qū)中當(dāng)前表文件的指針是否指向文件尾部,是就返回T,否就返

回.F.

六、系統(tǒng)對話框函數(shù)

MESSAGEBOX

在程序設(shè)計過程中,經(jīng)常要顯示一些提示信息、錯誤信息等,這些信息的顯示用的就是函數(shù)

MESSAGEBOXo

格式:

MESSAGEBOX(〈信息文本〉[,〈對話框類型>][,(對話框標(biāo)題>])

功能:以窗口形式顯示信息,返回值為數(shù)字(表示用戶按了那個鍵)。

練習(xí)題

1.設(shè)工資=1200,職稱="教授”,下列邏輯表達(dá)式的值是

工資>1000AND(職稱="教授"0R職稱="副教授”)

2.設(shè)系統(tǒng)日期為2001年12月31日,下列表達(dá)式的值是

VAL(SUBSTR(u1999w,3)+RIGHT(STR(YEAR(DATE())),2))+17

3.命令?TYPE(“10/25/01")的輸出值是。

4.兩個日期型數(shù)據(jù)可進(jìn)行減法運(yùn)算,結(jié)果為—數(shù)據(jù);日期型數(shù)據(jù)可加或減一個數(shù)值數(shù)據(jù),

結(jié)果為。

5.?AT(“+”,”a+b=c”)o

6.?LEN(“計算機(jī)”)〈LEN(“COMPUTER")。

7.?ROUND(123.456,2)?ROUND(123.456,-2)。

8.若a=5,b="a〈10”,則TYPE(b)輸出結(jié)果為,而?TYPE("b”)輸出結(jié)果

為o

9.表達(dá)式3+3>=6OR3+3>5AND2+3=5的結(jié)果為。

10.表達(dá)式“WorldWideWeb"$”World”的結(jié)果為。

11.設(shè)R=2,A="3*R*R",貝!I&A的值應(yīng)為()。

A.0B.不存在C.12D.3*R*R

24

12.STR(109.87,7,3)的值是()?

A.109.87B.“□109.87”C.109.870D.”109.870”

13.在邏輯運(yùn)算中,正確的運(yùn)算次序是()。

14.已知D1和D2為日期型變量,下列4個表達(dá)式中非法的是()。

A.D1-D2B.D1+D2C.Dl+28D.D1-36

15.下列4個表達(dá)式中,運(yùn)算結(jié)果為數(shù)值的是()。

A.”9988”-“1255”B.200+800=1000

C.CT0D({11/22/01}-20)D.LEN(SPACE(3))-1

16.設(shè)有變量sr="2005年下半年全國計算機(jī)等級考試”,能夠顯示“2005年下半年計算機(jī)

等級考試”的命令是()。

A.?sr-“全國”

B.?SUBSTR(sr,1,8)+SUBSTR(sr,11,17)

C.?STR(sr,1,12)+STR(sr,17,14)

D.?SUBSTR(sr,1,12)+SUBSTR(sr,17,14)

17.以下賦值語句正確的是()。

A.STORE8TOX,YB.STORE8,9TOX,Y

C.X=8,Y=9D.X,Y=8

25

[教學(xué)總結(jié)]:

本單元主要介紹了VFP6.0基本語言規(guī)范,包括常量、變量、函數(shù)、運(yùn)算符

及其表達(dá)式。它是學(xué)習(xí)后繼單元的基礎(chǔ),力求全面掌握。

重點(diǎn)是整型、數(shù)值型、字符型數(shù)據(jù);運(yùn)算符和表達(dá)式的運(yùn)用;常用函數(shù)。

[作業(yè)布置]:

實(shí)驗(yàn)2.1

實(shí)驗(yàn)2.2

P46選擇題1、2、4、5、6、8

填空題1、4、6

[教學(xué)后記]:

26

教案

授課時間3月14日至3月23日課時數(shù)2+4

授課方式理論課0討論課口習(xí)題課口實(shí)驗(yàn)課口上機(jī)課目技能課口其他口

授課單元第3章VFP數(shù)據(jù)庫及操作

1)熟練掌握數(shù)據(jù)庫、表的創(chuàng)建

目的2)掌握表結(jié)構(gòu)的顯示與修改。

與3)掌握記錄的追加、插入和刪除。

要求4)掌握記錄的刪除與恢復(fù)命令。

5)掌握表文件的復(fù)制與刪除命令。

重點(diǎn)

與1)數(shù)據(jù)庫、表的建立、編輯和維護(hù)。

2)數(shù)組與表之間的數(shù)據(jù)交換命令。

難點(diǎn)

3.1VFP數(shù)據(jù)庫的建立

主要內(nèi)容3.2創(chuàng)建數(shù)據(jù)庫表

3.3表的基本操作

教學(xué)方法

采用多媒體投影授課,加強(qiáng)與學(xué)生的互動,增加課堂討論環(huán)節(jié),啟發(fā)式

(教具)教學(xué),培養(yǎng)學(xué)生的實(shí)際操作能力。

《VisualFoxPro程序設(shè)計基礎(chǔ)》盧湘鴻等編清華大學(xué)出版社

參考資料《數(shù)據(jù)庫系統(tǒng)概論》史嘉權(quán)等編清華大學(xué)出版社

實(shí)驗(yàn)3.1

思考題、實(shí)驗(yàn)3.2

作業(yè)P63選擇題1、2、4、5、8、10

填空題1、3、5

27

28

講稿

第3章VFP數(shù)據(jù)庫及操作

[舊課復(fù)習(xí)]:

復(fù)習(xí)內(nèi)容:

1.以互動方式了解學(xué)生對整型、數(shù)值型、字符型數(shù)據(jù)掌握程度

2.了解學(xué)生對VFP運(yùn)算符及表達(dá)式掌握程度

3.了解學(xué)生對各種常用函數(shù)的掌握

復(fù)習(xí)目的:了解學(xué)生對vfp數(shù)據(jù)類型,運(yùn)算符及常用函數(shù)的掌握程度及層次情況

復(fù)習(xí)時長:大約5分鐘

[新課導(dǎo)入]:

導(dǎo)入方式:解讀數(shù)據(jù)庫應(yīng)用已普及到社會的方方面面,表是數(shù)據(jù)庫中的的最基本

元素。簡單介紹表的基本操作。

導(dǎo)入目的:增強(qiáng)學(xué)生的學(xué)習(xí)積極性

導(dǎo)入時長:大約5分鐘

[新課講授]:

重點(diǎn):1)數(shù)據(jù)庫、表的建立、編輯和維護(hù)。

2)數(shù)組與表之間的數(shù)據(jù)交換命令。

難點(diǎn):數(shù)組與表之間的數(shù)據(jù)交換命令。

方法:運(yùn)用多媒體輔助教學(xué),采用案例教學(xué)和任務(wù)驅(qū)動等教學(xué)法。

3.1掌握數(shù)據(jù)庫的基本操作

一、數(shù)據(jù)庫的概念

數(shù)據(jù)庫是數(shù)據(jù)庫對象(如表、視圖、存儲過程等)的集合。在數(shù)據(jù)庫的組織管理下,可

以方便地為表中字段設(shè)置輸入和顯示屬性,設(shè)置默認(rèn)值,為表創(chuàng)建字段級有效性規(guī)則、記錄

級有效性規(guī)則和觸發(fā)器,為各表之間建立永久關(guān)系,創(chuàng)建視圖等。

二、數(shù)據(jù)庫的建立與編輯

29

1.交互創(chuàng)建數(shù)據(jù)庫

交互創(chuàng)建數(shù)據(jù)庫既可用菜單也可用工具欄。

選“文件,,一“新建,,-“新建”對話框,文件類型選“數(shù)據(jù)庫”,單擊“新建文件”命名

按鈕一顯示“創(chuàng)建”對話框,如圖所示。

在“保存在”位置輸入創(chuàng)建的數(shù)據(jù)庫文件保存的文件夾,

在“數(shù)據(jù)庫名”框內(nèi)輸入要創(chuàng)建的數(shù)據(jù)庫的主文件名。

2.命令操作數(shù)據(jù)庫

在命令窗口鍵入相應(yīng)的命令也可創(chuàng)建數(shù)據(jù)庫。操作數(shù)據(jù)庫命令如下。

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

格式:CREATEDATABASE數(shù)據(jù)庫名

執(zhí)行該命令后,從界面上看不出任何反映,但數(shù)據(jù)庫文件已經(jīng)建立。除非在數(shù)據(jù)

庫名前指定路徑,否則創(chuàng)建的數(shù)據(jù)庫文件存放在當(dāng)前默認(rèn)的文件夾中。默認(rèn)

的文件夾可通過SETDEFAULTTO命令設(shè)定。

(2)打開數(shù)據(jù)庫。

格式:OPENDATABASE數(shù)據(jù)庫名

(3)修改數(shù)據(jù)庫。

格式:MODIFYDATABASE數(shù)據(jù)庫名

(4)關(guān)閉數(shù)據(jù)庫。

格式:CLOSEDATABASE

(5)刪除數(shù)據(jù)庫(文件)。

格式:DELETEDATABASE數(shù)據(jù)庫名[RECYCLE]

30

帶RECYCLE項(xiàng),則將刪除數(shù)據(jù)庫文件放入回收站中,可在回收站

中進(jìn)行還原操作,恢復(fù)刪除的數(shù)據(jù)庫(文件)。

【例】創(chuàng)建人員信息數(shù)據(jù)庫,數(shù)據(jù)庫名為RY。

CREATEDATABASERY

(查看文件RY.DBC,RY.DCT,RY.DCX)

OPENDATABASERY&&重新打開RY數(shù)據(jù)庫

MODIFYDATABASERY

(數(shù)據(jù)庫設(shè)計器-RY)

CLOSEDATABASE

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

一、表結(jié)構(gòu)設(shè)計

表結(jié)構(gòu)設(shè)計在“表設(shè)計器”中完成。打開表設(shè)計器方法有以下幾種:

1、菜單方式:“文件”一“新建”

2、項(xiàng)目管理器:“數(shù)據(jù)庫”一“表”

3、命令:CREATE〈表文件名〉

二、修改表結(jié)構(gòu)

1、菜單方式:在表快捷菜單中選擇“修改“命令

2、命令方式:MODIFYSTRUCTURE

三、復(fù)制表結(jié)構(gòu)

格式:COPYSTRUCTURETO〈目標(biāo)表名〉[FIELDS字段名表]

3.3表的基本操作

數(shù)據(jù)表操作基本命令匯總

1、打開表/關(guān)閉表

USE/CLOSEALL/CLEARALL

2、移動記錄指針

GO/SKIP

顯示表結(jié)構(gòu)/記錄

LIST|DISPSTRUCTURE/LIST|DISP/BROWSE

3、添加記錄

APPEND/INSERT

4、刪除/恢復(fù)記錄

DELETE/RECALL/PACK/ZAP

5、更改記錄

REPLACE

31

6、查找記錄

LOCATE(CONTINUE)/FIND/SEEK

7、排序

SORTTO

8、建立索引

INDEXON

9、使用索引

SETINDEXTO/SETORDERTO

10、關(guān)閉索引

CLOSEINDEX

11、刪除索引

DELETETAG

12、復(fù)制記錄

COPYTO

13、記錄與數(shù)組之間數(shù)據(jù)交換

SCATTER/GATHER

14、選擇工作區(qū)

SELECT

15、建立關(guān)聯(lián)

SETRELATIONTO

實(shí)例操作

1顯示學(xué)生成績中的所有記錄

2顯示第8—21條記錄

3顯示分?jǐn)?shù)>90分的同學(xué)的姓名,性別,課程名稱,分?jǐn)?shù)

4顯示分?jǐn)?shù)>90分的女生和分?jǐn)?shù)>85的男生

5顯示分?jǐn)?shù)在80—90之間的同學(xué)

6顯示姓劉的同學(xué)的大學(xué)語文和計算機(jī)基礎(chǔ)成績

7顯示大學(xué)語文和高等數(shù)學(xué)至少有一門不及格成績的男生

一、通過菜單操作表

在“瀏覽”表的狀態(tài),系統(tǒng)自動產(chǎn)生一個“表”主菜單,選擇菜單中的菜單項(xiàng)就可對表進(jìn)行

常用操作,如下圖所示。需要注意的是,當(dāng)用戶選擇了一個菜單項(xiàng)時,在命令窗口中會出現(xiàn)

一條相應(yīng)的命令,這實(shí)際上是選擇菜單項(xiàng)操作相當(dāng)于發(fā)出的VFP操作表的命令。關(guān)于使用命

令操作表將在隨后講解。

1.追加新記錄

在表的末尾追加一條空記錄,并使該記錄變成當(dāng)前記錄。用戶即可向該空記錄中填入數(shù)

據(jù)。例如,一開始“基本情況”表中沒有任何記錄,用此方法向庫中追加部分記錄。

追加記錄菜單項(xiàng),其作用是將別的表(文件)中的記錄加入當(dāng)前表中。

32

2.轉(zhuǎn)到記錄

用于改變當(dāng)前記錄。在子菜單中除了可轉(zhuǎn)到“第一個”記錄、“最后一個”記錄、“上一個”記錄、

“下一個”記錄外,選擇“記錄號”項(xiàng),就會出現(xiàn)一個小對話框讓用戶選擇要轉(zhuǎn)到的記錄號。選

擇“定位記錄”項(xiàng),可按用戶指定的條件進(jìn)行記錄定位,系統(tǒng)顯示如下圖所示。

命令短語具體內(nèi)容含義

ALL表示數(shù)據(jù)表的所有記錄

RECORDn指定第n條記錄

范圍子句

NEXTn從當(dāng)前記錄開始的n條記錄

REST從當(dāng)前記錄到文件結(jié)束的所有記錄

說明操作數(shù)據(jù)表的各字段名,之間用“,”隔

FIELDS子句FIELDS(字段名表〉開。不選擇該子句,則命令對表中所有字段

進(jìn)行操作

FOR子句FOR<條件>默認(rèn)范圍ALL

WHILE子句WHILE<條件>默認(rèn)范圍REST

TOPRINTER|TOFILETOPRINTER|T0FILE〈文選擇時,結(jié)果輸出到打印機(jī)或文件,否則輸

子句件名〉出到屏幕

3.刪除記錄

刪除記錄下用于刪除表中不需要的記錄。系統(tǒng)顯示的界面與定位時相同。

VFP刪除記錄分兩步進(jìn)行,這里的刪除記錄僅是在庫中做刪除標(biāo)記。做過刪除標(biāo)記的記

錄在“瀏覽”窗口最前面一個小欄會顯示一個小黑方塊,如再單擊這個方塊就可將刪除標(biāo)

記去掉。要使做過刪除標(biāo)記的記錄不顯示,可在命令窗口輸入SETDELETEON命令。

要從表中徹底刪除具有“刪除標(biāo)記”的記錄,選擇“徹底刪除”菜單項(xiàng)。

4.恢復(fù)記錄

恢復(fù)記錄是用于恢復(fù)做過刪除標(biāo)記的記錄。系統(tǒng)顯示的界面與定位時相同,也就是將具

有刪除標(biāo)記的記錄中符合恢復(fù)條件的記錄的刪除標(biāo)記去掉。

5.替換字段數(shù)據(jù)

替換字段就是自動修改記錄的內(nèi)容。系統(tǒng)顯示的界面如圖2.7所示。

33

6.追加記錄

追加記錄就是將另一個DBF或其他格式的表的數(shù)據(jù)加入當(dāng)前打開(指定)的表中,如圖2.8

所示。

二、命令方式操作表

USE、LIST|DISPLAY>GO、SKIP、BROWSE

打開表

USE[<表名>][IN工作區(qū)號Alias<別名>]

■一個工作區(qū)同時只能打開一個表,所以使用USE命令在一個工作區(qū)打開一個

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論