欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)vfp考點(diǎn)

      時(shí)間:2019-05-14 13:19:58下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)vfp考點(diǎn)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)vfp考點(diǎn)》。

      第一篇:全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)vfp考點(diǎn)

      010二級(jí)公共基礎(chǔ)知識(shí)復(fù)習(xí)綱要

      第 1 章

      數(shù)據(jù)結(jié)構(gòu)與算法

      考點(diǎn)1:算法具有4個(gè)基本特征:可行性、確定性、有窮性、擁有足夠的情報(bào)。確定性:是指算法中每一個(gè)步驟都必須是有明確定義的,不允許模棱兩可的定義 有窮性:是指算法必須能在有限的時(shí)間內(nèi)做完

      一個(gè)算法由兩種基本要素組成:一是對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作,二是算法的控制結(jié)構(gòu) 考點(diǎn)2:算法復(fù)雜度包括時(shí)間復(fù)雜度和空間復(fù)雜度 時(shí)間復(fù)雜度

      執(zhí)行算法所需要的計(jì)算工作量 空間復(fù)雜度

      執(zhí)行這個(gè)算法所需要的內(nèi)存空間 考點(diǎn)3:數(shù)據(jù)結(jié)構(gòu)

      一:討論的問(wèn)題:1.數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu) 2.數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 3.對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算

      考點(diǎn)4:數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。(1)如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件: ① 有且只有一個(gè)根結(jié)點(diǎn);

      ② 每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。

      如果一個(gè)數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱之為非線性結(jié)構(gòu)。考點(diǎn)5:線性表

      特點(diǎn):(1)線性表中所有元素所占的存儲(chǔ)空間是連續(xù)的

      (2)線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的 考點(diǎn)5: 棧的基本概念

      棧(stack)是一種特殊的線性表,是限定只在一端進(jìn)行插入與刪除的線性表。棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的??键c(diǎn)6:隊(duì)列的基本概念

      隊(duì)列是只允許在一端進(jìn)行刪除,在另一端進(jìn)行插入的順序表,通常將允許刪除的這一端稱為隊(duì)頭,允許插入的這一端稱為隊(duì)尾。當(dāng)表中沒(méi)有元素時(shí)稱為空隊(duì)列。即先進(jìn)先出表。循環(huán)隊(duì)列就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間,供隊(duì)列循環(huán)使用

      考點(diǎn)7: 鏈表

      在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)。考點(diǎn)8:二叉樹(shù)性質(zhì)

      (1)

      在樹(shù)結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn),沒(méi)有父結(jié)點(diǎn)的只有一個(gè),成為根結(jié)點(diǎn)

      (2)

      沒(méi)有后件的結(jié)點(diǎn)成為葉子結(jié)點(diǎn)

      (3)

      一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,在樹(shù)中,所有結(jié)點(diǎn)中最大的度稱為樹(shù)的度

      (4)

      樹(shù)的最大層次稱為樹(shù)的深度

      (5)

      在二叉樹(shù)的第k層上,最多有2^(k-1)個(gè)結(jié)點(diǎn)(6)

      深度為m的二叉樹(shù)最多有2^m-1個(gè)結(jié)點(diǎn)(7)

      任意一棵二叉樹(shù),度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)(8)

      滿二叉樹(shù):除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子節(jié)點(diǎn)

      (9)

      完全二叉樹(shù):除最后一層外,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)

      考點(diǎn)9: 二叉樹(shù)的遍歷

      根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷分為三類:前序遍歷、中序遍歷和后序遍歷。(1)前序遍歷

      先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且在遍歷左、右子樹(shù) 時(shí),仍需先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。(2)中序遍歷

      先遍歷左子樹(shù)、然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù);并且,在遍歷左、右子 樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。例如,對(duì)圖 1-1 中的二叉樹(shù)進(jìn)行中序遍歷的結(jié)果(或稱為該二叉樹(shù)的中序序列)(3)后序遍歷

      先遍歷左子樹(shù)、然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn);并且,在遍歷左、右子 樹(shù)時(shí),仍然先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)??键c(diǎn)10:各種排序的復(fù)雜度(1)順序查找需要比較n 次

      (2)冒泡排序在最壞的情況下需要比較次數(shù)為n(n-1)/2。(3)簡(jiǎn)單插入排序法,最壞情況需要n(n-1)/2 次比較;(4)希爾排序法,最壞情況需要O(n1.5)次比較。

      (5)簡(jiǎn)單選擇排序法,最壞情況需要n(n-1)/2 次比較;(6)堆排序法,最壞情況需要O(nlog2n)次比較。

      第二章:程序設(shè)計(jì)基礎(chǔ)

      考點(diǎn)1:結(jié)構(gòu)化程序設(shè)計(jì)的原則

      (1)自頂向上:先考慮整體,再考慮細(xì)節(jié);先考慮全局目標(biāo),再考慮局部目標(biāo);(2)逐步求精:對(duì)復(fù)雜問(wèn)題應(yīng)設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,逐步細(xì)化;

      (3)模塊化:把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊。

      (4)限制使用goto 語(yǔ)句:在程序開(kāi)發(fā)過(guò)程中要限制使用goto 語(yǔ)句??键c(diǎn)2:結(jié)構(gòu)化程序的基本結(jié)構(gòu)

      結(jié)構(gòu)化程序的基本結(jié)構(gòu)有三種類型:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

      考點(diǎn)3: 面向?qū)ο蠓椒êw對(duì)象及對(duì)象屬性與方法、類、繼承、多態(tài)性幾個(gè)基本要素。對(duì)象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?主要特點(diǎn):(1)標(biāo)識(shí)惟一型

      (2)分類性(3)多態(tài)性

      (4)封裝性

      (5)模塊獨(dú)立性好 考點(diǎn)4:消息:對(duì)象間的相互合作需要一個(gè)機(jī)制來(lái)協(xié)助進(jìn)行,這個(gè)機(jī)制就是消息 考點(diǎn)5:繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,分為單繼承和多重繼承

      第三章:軟件工程基礎(chǔ)

      考點(diǎn)1: 計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合,軟件工程包括3 個(gè)要素:方法、工具和過(guò)程

      考點(diǎn)2: 軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期。軟件生命周期還可以分為軟件定義、軟件開(kāi)發(fā)、軟件運(yùn)行維護(hù)階段 軟件定義階段包括:可行性研究、需求分析

      軟件開(kāi)發(fā)階段包括:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試 軟件維護(hù)階段包括:使用、維護(hù)、退役

      考點(diǎn)3:軟件工程的理論和技術(shù)性研究主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理 考點(diǎn)4:數(shù)據(jù)流圖圖符的含義

      圓形表示加工,箭頭表示數(shù)據(jù)流,等于號(hào)表示存儲(chǔ)文件,矩形表示源、潭

      考點(diǎn)5:數(shù)據(jù)字典:是結(jié)構(gòu)化分析方法的核心,數(shù)據(jù)字典是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表

      考點(diǎn)6:軟件需求規(guī)格說(shuō)明書(shū)是需求分析階段的最后成果 考點(diǎn)7:模塊獨(dú)立性

      衡量模塊獨(dú)立性的定性標(biāo)準(zhǔn):內(nèi)聚性與耦合性

      內(nèi)聚性:是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量 耦合性:模塊間互相連接的緊密程度的度量 一個(gè)優(yōu)秀的設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合

      考點(diǎn)8:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型 考點(diǎn)9:程序流程圖圖符的含義

      考點(diǎn)10:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程 靜態(tài)測(cè)試是由人工進(jìn)行的測(cè)試 動(dòng)態(tài)測(cè)試是基于計(jì)算機(jī)的測(cè)試

      考點(diǎn)11:白盒測(cè)試主要方法:邏輯覆蓋、基本路徑測(cè)試

      黑盒測(cè)試主要方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖等

      軟件測(cè)試過(guò)程一般按4個(gè)步驟來(lái)進(jìn)行:單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試、系統(tǒng)測(cè)試

      考點(diǎn)12:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,與測(cè)試不同,軟件測(cè)試是盡可能多的發(fā)現(xiàn)錯(cuò)誤

      第四章:數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)

      考點(diǎn)1:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織,數(shù)據(jù)操縱,數(shù)據(jù)維護(hù),控制及保護(hù)和數(shù)據(jù)服務(wù)等 考點(diǎn)2:數(shù)據(jù)庫(kù)系統(tǒng)提供的數(shù)據(jù)語(yǔ)言:(1)

      數(shù)據(jù)定義語(yǔ)言:該語(yǔ)言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建(2)

      數(shù)據(jù)操縱語(yǔ)言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等

      (3)

      數(shù)據(jù)控制語(yǔ)言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等 考點(diǎn)3:數(shù)據(jù)庫(kù)系統(tǒng)由如下幾部分組成:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員、硬件平臺(tái)與軟件平臺(tái)

      考點(diǎn)4:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序,數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性 考點(diǎn)5:數(shù)據(jù)庫(kù)的三級(jí)模式

      (1)

      概念模式:是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖(2)

      外模式:是用戶的數(shù)據(jù)視圖,也就是用戶所見(jiàn)到的數(shù)據(jù)模式(3)

      內(nèi)模式:它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法 考點(diǎn)6:數(shù)據(jù)模型所描述的內(nèi)容有三個(gè)方面:(1)

      數(shù)據(jù)結(jié)構(gòu):主要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)以及數(shù)據(jù)間的聯(lián)系(2)

      數(shù)據(jù)操作:主要描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式(3)

      數(shù)據(jù)約束:主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語(yǔ)法、語(yǔ)義聯(lián)系 考點(diǎn)7:E-R模型

      (1)E-R模型由三個(gè)基本概念組成:實(shí)體、聯(lián)系和屬性

      (2)在E-R圖示法中:矩形表示實(shí)體集,橢圓形表示屬性,菱形表示聯(lián)系

      考點(diǎn)8:關(guān)系模型的約束包括實(shí)體完整性約束、參照完整性約束、用戶自定義完整性約束 考點(diǎn)9:關(guān)系代數(shù)

      并運(yùn)算:關(guān)系R與S經(jīng)并運(yùn)算后所得到的關(guān)系是由那些在R內(nèi)或在S內(nèi)的有序組 交運(yùn)算:關(guān)系R與S經(jīng)交運(yùn)算后所得到的關(guān)系是由那些即在R內(nèi)又在S內(nèi)的有序組 差運(yùn)算:關(guān)系R與S經(jīng)差運(yùn)算后所得到的關(guān)系是由那些在R內(nèi)但不在S內(nèi)的有序組 自然連接: 考點(diǎn)10:E-R圖與關(guān)系的轉(zhuǎn)換

      E-R圖中實(shí)體與聯(lián)系都可以轉(zhuǎn)換成關(guān)系,屬性也可以轉(zhuǎn)換成關(guān)系的屬性 1.1 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)

      考點(diǎn)1 計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展 1數(shù)據(jù)與數(shù)據(jù)處理

      數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理的中心問(wèn)題是數(shù)據(jù)管理。2計(jì)算機(jī)數(shù)據(jù)管理(l)人工管理。(2)文件系統(tǒng)。(3)數(shù)據(jù)庫(kù)系統(tǒng)。

      (4)分布式數(shù)據(jù)庫(kù)系統(tǒng)。(5)面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)。3數(shù)據(jù)庫(kù)管理系統(tǒng)

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

      圖1-1 數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)與程序的關(guān)系 考點(diǎn)2 數(shù)據(jù)庫(kù)系統(tǒng) 1有關(guān)數(shù)據(jù)庫(kù)的概念

      (1)數(shù)據(jù)庫(kù)(DataBase):存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上、結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合。

      (2)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS):是由系統(tǒng)開(kāi)發(fā)人員利用數(shù)據(jù)庫(kù)系統(tǒng)資源開(kāi)發(fā)出來(lái)的,面向某一類實(shí)際應(yīng)用的應(yīng)用軟件系統(tǒng)。

      (3)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):對(duì)數(shù)據(jù)實(shí)行專門管理,提供安全性和完整性等統(tǒng)一機(jī)制,可以對(duì)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)進(jìn)行管理。

      (4)數(shù)據(jù)庫(kù)系統(tǒng)(DBS):是指引進(jìn)數(shù)據(jù)庫(kù)技術(shù)后的計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。數(shù)據(jù)庫(kù)系統(tǒng)由硬件系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫(kù)管理員和用戶等部分組成。2數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)

      (l)實(shí)現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余。(2)采用特定的數(shù)據(jù)模型。(3)具有較高的數(shù)據(jù)獨(dú)立性。(4)具有統(tǒng)一的數(shù)據(jù)控制功能??键c(diǎn)3 數(shù)據(jù)模型 1實(shí)體的描述(1)實(shí)體。

      (2)實(shí)體的屬性。(3)實(shí)體集和實(shí)體型。

      2實(shí)體間聯(lián)系及聯(lián)系的種類(1)一對(duì)一聯(lián)系。(2)一對(duì)多聯(lián)系。(3)多對(duì)多聯(lián)系。3數(shù)據(jù)模型簡(jiǎn)介

      為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫(kù)中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型來(lái)表示,通常有以下3種。(1)層次數(shù)據(jù)模型。(2)網(wǎng)狀數(shù)據(jù)模型。(3)關(guān)系數(shù)據(jù)模型。小提示:

      數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS和數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是DBS包括DB和DBMS。1.2 關(guān)系模型

      關(guān)系模型的用戶界面非常簡(jiǎn)單,一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。1關(guān)系術(shù)語(yǔ)

      (l)關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。在Visual FoxPro中一個(gè)關(guān)系存儲(chǔ)為一個(gè)文件,擴(kuò)展名為DBF,稱為“表”。

      對(duì)關(guān)系的描述稱為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu),格式為: 關(guān)系名(屬性名1,屬性名2,?,屬性名n)(2)元組:在一個(gè)二維表中,水平方向的行稱為元組,每一行為一個(gè)元組。(3)屬性:將二維表中垂直方向的列稱為屬性,每一列都有一個(gè)屬性名。(4)域:屬性的取值范圍,即不同元組對(duì)同一個(gè)屬性的取值所限定的范圍。

      (5)關(guān)鍵字:屬性或?qū)傩缘慕M合,其值能夠唯一地標(biāo)識(shí)一個(gè)元組。在Visual FoxPro中,主關(guān)鍵字和候選關(guān)鍵字就起唯一標(biāo)志一個(gè)元組的作用。

      (6)外部關(guān)鍵字:如果表中一個(gè)字段不是本表的主關(guān)鍵字或候選關(guān)鍵字,而是另一個(gè)表的主關(guān)鍵字或候選關(guān)鍵字,那么這個(gè)字段(屬性)就稱為外部關(guān)鍵字。2關(guān)系的特點(diǎn)

      (1)關(guān)系必須規(guī)范化。

      (2)在同一個(gè)關(guān)系中不能出現(xiàn)同名屬性,Visual FoxPro中表示為字段名的不同。(3)關(guān)系中不允許有完全相同的元組,即冗余。(4)在一個(gè)關(guān)系中元組的次序無(wú)關(guān)緊要。(5)在一個(gè)關(guān)系中列的次序無(wú)關(guān)緊要??键c(diǎn)5 關(guān)系運(yùn)算

      對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí),需要找到用戶感興趣的數(shù)據(jù),這就需要對(duì)關(guān)系進(jìn)行一定的關(guān)系運(yùn)算,關(guān)系的基本運(yùn)算有兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算。1傳統(tǒng)的集合運(yùn)算

      (1)并:兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的全部元組組成的集合。

      (2)差:兩個(gè)相同結(jié)構(gòu)關(guān)系的差是由屬于前一個(gè)關(guān)系的元組而不屬于后一個(gè)關(guān)系的元組組成的集合。例如,關(guān)系R和S的差結(jié)果是由屬于R但不屬于S的元組組成的集合。(3)交:兩個(gè)相同結(jié)構(gòu)關(guān)系的交是由屬于這兩個(gè)關(guān)系所共有的元組組成的集合。2專門的關(guān)系運(yùn)算

      (1)選擇:從關(guān)系中找出滿足給定條件的元組的操作。(2)投影:從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系:

      (3)連接:關(guān)系的橫向結(jié)合,將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的關(guān)系模式。

      (4)自然連接:在連接運(yùn)算中,按照字段值對(duì)應(yīng)相等為條件進(jìn)行的連接操作稱為等值連接。自然連接是去掉重復(fù)屬性的等值連接。小提示:

      選擇和投影運(yùn)算的操作對(duì)象只是一個(gè)表,相當(dāng)于對(duì)一個(gè)二維表進(jìn)行切割。連接運(yùn)算則需要把兩個(gè)表作為操作對(duì)象。如果兩個(gè)表以上進(jìn)行連接,應(yīng)當(dāng)兩兩進(jìn)行連接。1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ) 考點(diǎn)6 數(shù)據(jù)庫(kù)設(shè)計(jì)步驟 1設(shè)計(jì)原則

      (l)關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)遵從概念單一化“一事一地”的原則。(2)避免在表之間出現(xiàn)重復(fù)字段。

      (3)表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素。(4)用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系。2設(shè)計(jì)步驟

      利用Visual FoxPro來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可以按照以下步驟來(lái)設(shè)計(jì)。(1)需求分析。(2)確定需求表C(3)確定需求字段。(4)確定聯(lián)系。(5)設(shè)計(jì)精確

      1.4 Visual FoxPro系統(tǒng)概述 考點(diǎn)7 Visual FoxPro的特點(diǎn)(l)增強(qiáng)項(xiàng)目與數(shù)據(jù)庫(kù)管理。

      (2)提高應(yīng)用程序開(kāi)發(fā)的生產(chǎn)率。(3)互操作性與支持Internet。(4)充分利用已有數(shù)據(jù)。2.1程序與程序文件 程序與程序文件

      考點(diǎn)1 程序的概念、建立與執(zhí)行 1程序的概念

      程序是能夠完成一定任務(wù)的命令集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當(dāng)運(yùn)行程序時(shí),系統(tǒng)會(huì)按照一定的次序自動(dòng)執(zhí)行包含在程序文件中的命令。2程序文件的建立與修改

      程序文件的建立與修改一般是通過(guò)調(diào)用系統(tǒng)內(nèi)置的文本編輯器來(lái)進(jìn)行的。其建立步驟如下。(l)打開(kāi)文本編輯窗口。

      (2)在文本編輯窗口中輸入程序內(nèi)容,此處所輸入的程序命令不會(huì)馬上被執(zhí)行。

      (3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。3打開(kāi)或修改程序文件的方法

      (1)從“文件”菜單中選擇“打開(kāi)”命令,彈出“打開(kāi)”對(duì)話框。(2)在“文件類型”列表框中選擇“程序”。(3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。

      (4)編輯修改后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件,若要放棄修改,可直接按Esc鍵,或從“文件”菜單中選擇“還原”命令。4程序文件的執(zhí)行

      程序文件建立后,可使用多種方式、多次執(zhí)行它,常用的以下有兩種方式。(l)菜單方式。(2)命令方式。

      考點(diǎn)2 簡(jiǎn)單的輸入輸出命令

      程序一般都包含數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。1 INPUT命令

      格式:INPUT[<字符表達(dá)式>]TO<內(nèi)存變量> 功能:該命令等待用戶從鍵盤輸入數(shù)據(jù),當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。

      注釋:輸入的數(shù)據(jù)可以是常量、變量,也可以是更為一般的表達(dá)式。但不能不輸入任何內(nèi)容直接按回車鍵輸入字符串時(shí)必須加定界符,輸入邏輯型常量時(shí)要用圓點(diǎn)定界(如.T.,.F.),則輸入日期時(shí)間型常量時(shí)要用大括號(hào)(如{^2001-03-01})。2 ACCEPT命令

      格式:ACCEPT[<字符表達(dá)式>]TO<內(nèi)存變量> 功能:該命令等待用戶從鍵盤輸入字符串,當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。

      注釋:該命令只能接收字符串。用戶在輸入字符串時(shí)不需要加定界符;否則,系統(tǒng)會(huì)把定界符作為字符串本身的一部分。如果不輸入任何內(nèi)容而直接按回車鍵,系統(tǒng)會(huì)把空串賦給指定的內(nèi)存變量。3 WAIT命令

      格式:WAIT[<字符表達(dá)式>][TO<內(nèi)存變量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<數(shù)值表達(dá)式>] 功能:該命令顯示字符表達(dá)式的值作為提示信息,暫停程序的執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)程序運(yùn)行。

      注釋:<內(nèi)存變量>用來(lái)保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標(biāo),那么<內(nèi)存變量>中保存的將是空串若不選TO <內(nèi)存變量>短語(yǔ),則輸入的單字符不保留。小提示:

      如果用DO命令執(zhí)行查詢文件、菜單文件,在文件名中必須要包括擴(kuò)展名(QPR、MPR)。7.2 程序的基本結(jié)構(gòu)

      程序結(jié)構(gòu)是指程序中命令或語(yǔ)句執(zhí)行的流程結(jié)構(gòu),包括3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)??键c(diǎn)3 順序結(jié)構(gòu)

      順序結(jié)構(gòu)是最簡(jiǎn)單的程序結(jié)構(gòu),它是按命令在程序中出現(xiàn)的先后次序依次執(zhí)行??键c(diǎn)4 選擇結(jié)構(gòu)

      支持選擇結(jié)構(gòu)的語(yǔ)句包括條件語(yǔ)句和分支語(yǔ)句。1條件語(yǔ)句 格式: IF<條件> <語(yǔ)句序列1> [ELSE> <語(yǔ)句序列2>] ENDIF 功能:該語(yǔ)句根據(jù)<條件>是否成立從兩組代碼中選擇一組執(zhí)行。語(yǔ)句的執(zhí)行流程圖如圖7-1和圖7-2所示。

      圖7-1有ELSE的選擇語(yǔ)句

      圖7-2無(wú)ELSE的選擇語(yǔ)句 2分支語(yǔ)句

      格式:DO CASE CASE<條件1> <語(yǔ)句序列1> CASE<條件2> <語(yǔ)句序列2> ……

      CASE<條件n> <語(yǔ)句序列n> [OTHERWISE <語(yǔ)句序列>] ENDCASE

      功能:語(yǔ)句執(zhí)行時(shí),依次判斷CASE后面的條件是否成立。分支語(yǔ)句實(shí)現(xiàn)的是一種擴(kuò)展的選擇結(jié)構(gòu),可以根據(jù)條件從多組代碼中選擇一組執(zhí)行。分支語(yǔ)句的流程如圖7-3所示。

      圖7-3 多分支語(yǔ)句 考點(diǎn)5 循環(huán)結(jié)構(gòu)

      循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過(guò)程中,其中的某段代碼被重復(fù)執(zhí)行若一干珠。被重復(fù)執(zhí)行的代碼段,通常稱為循環(huán)體。Visual FoxPro支持循環(huán)結(jié)構(gòu)的語(yǔ)句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。1 DO WHILEENDFOR語(yǔ)句 格式:

      FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長(zhǎng)>] <循環(huán)體> ENDFOR 功能:首先將初值賦給循環(huán)變量,然后判斷循環(huán)條件是否成立(若步長(zhǎng)為正值,則循環(huán)條件為<循環(huán)變量><=<終值>;若步長(zhǎng)為負(fù)值,則循環(huán)條件為<循環(huán)變量>>=<終值>)。如果成立,則執(zhí)行循環(huán)體,然后循環(huán)變量增加一個(gè)步長(zhǎng)值,并再次判斷循環(huán)條件,一直到條件為假時(shí),退出循環(huán)體。該語(yǔ)句通常用于實(shí)現(xiàn)循環(huán)次數(shù)已知情況下的循環(huán)結(jié)構(gòu)〕 3 SCAN-ENDSCAN語(yǔ)句 格式:

      SCAN[<范圍>][FOR<條件1>][WHERE<條件2>] <循環(huán)體> ENDSCAN

      功能:該循環(huán)語(yǔ)句一般用于處理表中記錄,語(yǔ)句可指明需要處理的記錄范圍及應(yīng)滿足的條件。執(zhí)行該語(yǔ)句時(shí),記錄指針自動(dòng)、依次地在當(dāng)前表的指定范圍內(nèi)滿足條件的記錄上移動(dòng),對(duì)每一條記錄執(zhí)行循環(huán)體內(nèi)的命令。7.3 多模塊程序

      模塊是一個(gè)相對(duì)獨(dú)立的程序段,它可以被其他模塊調(diào)用,也可以調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱為子程序,把調(diào)用其他模塊而沒(méi)有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊??键c(diǎn)6 模塊的定義和調(diào)用 1模塊的定義

      在Visual FoxPro中,模塊可以是命令文件,也可以是過(guò)程。過(guò)程定義的語(yǔ)句格式為: PROCEDURE|FUNCTION<過(guò)程名> <命令序列> [RETURN[<表達(dá)式>]] [ENDPROCIENDFUNC] 功能說(shuō)明如下。

      (1)PROCEDURE|FUNCTION命令表示一個(gè)過(guò)程的開(kāi)始,并命名過(guò)程。過(guò)程名必須以字母或下劃線開(kāi)頭,可以包含數(shù)字、字母和下劃線。

      (2)當(dāng)程序執(zhí)行到RETURN命令時(shí),控制將轉(zhuǎn)回到調(diào)用處(或命令窗口),并返回表達(dá)式的值。若默認(rèn)RETURN命令,系統(tǒng)將在過(guò)程結(jié)束處自動(dòng)調(diào)用一條隱含的RETURN命令。(3)ENDPROC|ENDFUNC命令表示一個(gè)過(guò)程的結(jié)束。如果默認(rèn)此語(yǔ)句,那么過(guò)程結(jié)束于下一條PROCEDURE|FUNCTION命令或文件尾。2模塊的調(diào)用

      模塊調(diào)用的格式有兩種。

      (1)使用DO命令,格式如下。DO<文件名>|<過(guò)程名>(2)在名字后加一對(duì)小括號(hào),格式如下。<文件名>|<過(guò)程名>()3打開(kāi)過(guò)程文件 命令格式如下。

      SET PROCEDURE TO[<過(guò)程文件1>[,<過(guò)程文件2>,?][ADDITIVE] 4關(guān)閉過(guò)程文件 命令格式如下。

      RELEASE PROCEDURE<過(guò)程文件1>[,<過(guò)程文件2>,?] 考點(diǎn)7 參數(shù)傳遞

      模塊程序可以接收調(diào)用程序傳遞過(guò)來(lái)的參數(shù)。

      (1)PARAMETERS<形參變量1>[,<形參變量2>,?]。(2)LPARAMETERS<形參變量1>[,<形參變量2>,?]。

      說(shuō)明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無(wú)其他區(qū)別。不管是PARAMETERS或LPARAMETERS,都應(yīng)該是模塊程序的第一條可執(zhí)行命令。(1)調(diào)用參數(shù)調(diào)用模塊程序參數(shù)的格式如下。

      DO<文件名>|<過(guò)程名>WITH<實(shí)參1>[,<實(shí)參2>,?] <文件名>|<過(guò)程名>(<實(shí)參1>[,<實(shí)參2>,?])說(shuō)明:實(shí)參可以是常量、變量或一般表達(dá)式,調(diào)用模塊程序時(shí),形參的數(shù)目不能少于實(shí)參的數(shù)目,當(dāng)形參數(shù)目多于實(shí)參數(shù)目時(shí),多余的形參取初值邏輯假.F.。

      (2)參數(shù)的傳遞。模塊中參數(shù)的傳遞分為兩種:按值傳遞(實(shí)參一般為常量和表達(dá)式)和引用傳遞(實(shí)參一般為變量)。參數(shù)的傳遞方式可以重新設(shè)置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考點(diǎn)8 變量的作用域

      變量的一個(gè)重要屬性是作用域。變量的作用域指的是變量在什么范圍內(nèi)是有效或能夠被訪問(wèn)的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。1.公共變量

      在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。PUBLIC<內(nèi)存變量表> 說(shuō)明:該命令是建立公共的內(nèi)存變量,并賦以初值邏輯假.F.。建立好的公共變量一直有效,即使程序結(jié)束返回命令窗口也不會(huì)消失,只有執(zhí)行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。2私有變量

      在程序中直接使用(沒(méi)有預(yù)先聲明),而由系統(tǒng)自動(dòng)隱含建立的變量都是私有變量。私有變量的作用域是建立它的模塊及其下屬的各層模塊。3局部變量

      局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結(jié)束時(shí),自動(dòng)釋放局部變量。格式如下 LOCAL<內(nèi)存變量表> 說(shuō)明:該變量同樣給建立的內(nèi)存變量賦以初值邏輯假.F.,也必須先定義后使用。當(dāng)子程序中定義的變量名與主程序中同名時(shí),為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時(shí)無(wú)效。格式如下。

      (1)PRIVATE<內(nèi)存變量表>。

      (2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。說(shuō)明:該命令并不建立內(nèi)存變量,它只是隱藏指定的在上層模塊中可能已經(jīng)存在的內(nèi)存變量,但是當(dāng)模塊程序返回到上層模塊時(shí),被隱藏的變量就自動(dòng)恢復(fù)有效性,保持原值。7.4 程序調(diào)試

      考點(diǎn)9 調(diào)試器環(huán)境

      程序調(diào)試是指在發(fā)現(xiàn)程序有錯(cuò)誤的情況下,確定出錯(cuò)位置并糾正錯(cuò)誤。計(jì)算機(jī)一般能夠發(fā)現(xiàn)程序的出錯(cuò)位置,但對(duì)于計(jì)算機(jī)不能發(fā)現(xiàn)的錯(cuò)誤,只能由用戶自己來(lái)查錯(cuò)。Visual FoxPro提供的功能強(qiáng)大的調(diào)試工具—調(diào)試器,可幫助我們進(jìn)行這項(xiàng)工作。調(diào)用調(diào)試器的方法一般有兩種。

      (l)選擇“工具”菜單中的“調(diào)試器”命令。(2)在命令窗口中輸入DEBUG命令。考點(diǎn)10 設(shè)置斷點(diǎn)

      可以設(shè)置以下4種類型的斷點(diǎn)。

      (1)在定位處中斷:可指定一行代碼,當(dāng)程序調(diào)試執(zhí)行到該行時(shí),中斷程序運(yùn)行。

      (2)如果表達(dá)式值為真,則在定位處中斷:指定一行代碼及一個(gè)表達(dá)式,當(dāng)程序調(diào)試執(zhí)行到該行代碼時(shí),如果表達(dá)式值為真,就中斷程序運(yùn)行。

      (3)當(dāng)表達(dá)式值為真時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過(guò)程中,當(dāng)該表達(dá)式值為邏輯真.T.時(shí),中斷程序運(yùn)行。

      (4)當(dāng)表達(dá)式值改變時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過(guò)程中,當(dāng)該表達(dá)式值改變時(shí),中斷程序運(yùn)行。考點(diǎn)11 “調(diào)試”菜單

      “調(diào)試”菜單包含執(zhí)行程序、選擇執(zhí)行方式、終止程序執(zhí)行、修改程序,以及調(diào)整程序執(zhí)行速度等命令。各命令具體功能如下。

      (1)運(yùn)行:執(zhí)行在跟蹤窗口中打開(kāi)的程序:

      (2)繼續(xù)執(zhí)行:當(dāng)程序被中斷時(shí),該命令可使程序在中斷處繼續(xù)往下執(zhí)行。(3)取消:終止程序的調(diào)試執(zhí)行,并關(guān)閉程序。

      (4)定位修改:終止程序的調(diào)試執(zhí)行,然后在文本編輯窗口中打開(kāi)調(diào)試程序。

      (5)跳出:以連續(xù)方式而非單步方式繼續(xù)執(zhí)行被調(diào)用模塊程序中的代碼,然后在調(diào)用程序的調(diào)用語(yǔ)句的下一行處中斷。

      (6)單步:?jiǎn)尾綀?zhí)行下一行代碼。如果下一行代碼調(diào)用了過(guò)程或者方法程序,那么該過(guò)程或者方法程序在后臺(tái)執(zhí)行。

      (7)單步跟蹤:?jiǎn)尾綀?zhí)行下一行代碼。

      (8)運(yùn)行到光標(biāo)處:從當(dāng)前位置執(zhí)行代碼直至光標(biāo)處中斷。

      (9)調(diào)速:打開(kāi)“調(diào)整運(yùn)行速度”對(duì)話框,設(shè)置兩代碼行執(zhí)行之間的延遲秒數(shù)。

      (10)設(shè)置下一條語(yǔ)句:程序中斷時(shí)選擇該命令,可使光標(biāo)所在行成為恢復(fù)執(zhí)行后要執(zhí)行的語(yǔ)句。

      3.1 Visual FoxPro數(shù)據(jù)庫(kù)及其建立 考點(diǎn)1 建立和使用數(shù)據(jù)庫(kù) 1數(shù)據(jù)庫(kù)的建立

      (1)在項(xiàng)目管理器中建立數(shù)據(jù)庫(kù)。(2)通過(guò)“新建”對(duì)話框建立數(shù)據(jù)庫(kù)。(3)使用命令建立數(shù)據(jù)庫(kù),格式為:

      CREATE DATABASE[DatabaseName |?] 2數(shù)據(jù)庫(kù)的打開(kāi)

      (1)在項(xiàng)目管理器中打開(kāi)。(2)通過(guò)“打開(kāi)”對(duì)話框打開(kāi)數(shù)據(jù)庫(kù)。(3)使用命令打開(kāi)數(shù)據(jù)庫(kù),格式為:

      OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考點(diǎn)2 修改和刪除數(shù)據(jù)庫(kù)

      Visual FoxPro在建立數(shù)據(jù)庫(kù)時(shí)建立了擴(kuò)展名分別為dbc、dct和dcx的3個(gè)文件,用戶不能直接修改這些文件。

      Visual FoxPro中修改數(shù)據(jù)庫(kù)實(shí)際是打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,完成數(shù)據(jù)庫(kù)中各種對(duì)象的建立、修改和刪除等操作。

      可以有3種方法打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。(1)從項(xiàng)目管理器中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。(2)從“打開(kāi)”對(duì)話框中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。(3)使用命令打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,格式為: MODIFY DATABASE[DatabaseName|?] 在項(xiàng)目管理器中不管刪除還是移去數(shù)據(jù)庫(kù)文件,都不會(huì)刪除其所包含的各個(gè)對(duì)象做口數(shù)據(jù)表)。如果要在刪除數(shù)據(jù)庫(kù)的同時(shí)刪除其所包含的數(shù)據(jù)表,就必須使用命令,格式為: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:

      在Visual FoxPro中,Open DataBase和Modify DataBase命令的區(qū)別在于:Open DataBase打開(kāi)的只是數(shù)據(jù)庫(kù)的工作環(huán)境,并不會(huì)進(jìn)入數(shù)據(jù)庫(kù)設(shè)計(jì)器;Modify DataBase是打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。4.2 建立數(shù)據(jù)庫(kù)表

      考點(diǎn)3 在數(shù)據(jù)庫(kù)中建立表 在數(shù)據(jù)庫(kù)中建立數(shù)據(jù)表,最直接的方法就是在數(shù)據(jù)庫(kù)設(shè)計(jì)器中利用鼠標(biāo)右鍵單擊空白處,選擇“新建表”命令,在彈出的表設(shè)計(jì)器中設(shè)置數(shù)據(jù)表結(jié)構(gòu)。另外可以在命令窗口利用OPEN DATA命令先打開(kāi)數(shù)據(jù)庫(kù),然后利用CREATE命令打開(kāi)表設(shè)計(jì)器進(jìn)行數(shù)據(jù)表設(shè)計(jì),如圖4-l所示。

      圖4-1 表設(shè)計(jì)器 1字段名

      (l)自由表字段名最長(zhǎng)為10個(gè)字符。(2)數(shù)據(jù)庫(kù)表字段名最長(zhǎng)為128個(gè)字符。(3)字段名必須以字母或漢字開(kāi)頭。

      (4)字段名可以由字母、漢字、數(shù)字和下劃線組成。(5)字段名中不能包含空格。2字段類型和寬度

      (1)字符型:可以是字母、數(shù)字等各種字符型文本,如用戶名稱。(2)貨幣型:貨幣單位,如貨物價(jià)格。(3)數(shù)值型:整數(shù)或小數(shù),如訂貨數(shù)量。(3)浮點(diǎn)型:功能類似于“數(shù)值型”,其長(zhǎng)度在表中最長(zhǎng)可達(dá)20位。(4)日期型:由年、月、日構(gòu)成的數(shù)據(jù)類型,如訂貨日期。

      (5)日期時(shí)間型:由年、月、日、時(shí)、分、秒構(gòu)成的數(shù)據(jù)類型,如員工上班的時(shí)間。(6)雙精度型:雙精度數(shù)慎類型,一般用于要求精度很高的數(shù)據(jù)。(7)整型:不帶小數(shù)點(diǎn)的數(shù)值類型,如訂單的行數(shù)。

      (8)邏輯型:值為“真”(.T.)或假(.F.),如表示訂單是否已執(zhí)行完。

      (9)備注型:不定長(zhǎng)的字符型文本。在表中占4個(gè)字節(jié),表備注型文件的擴(kuò)展名為FPT。(10)通用型:用于標(biāo)記電子表格、文檔、圖片等OLE對(duì)象,在表中占4個(gè)字節(jié)。(11)字符型(二進(jìn)制)。(12)備注型(二進(jìn)制)。3空值

      一個(gè)字段是否允許為空值與實(shí)際應(yīng)用有關(guān),比如作為關(guān)鍵字的字段是不允許為空值的,而那些在插入記錄時(shí)允許暫缺的字段值往往允許為空值。4字段有效性組框

      在字段有效性組框中可以定義字段的有效性規(guī)則、違反規(guī)則時(shí)的提示信息和字段的默認(rèn)值。5顯示組框

      在顯示組框下可以定義字段顯示的格式、輸入的掩碼和字段的標(biāo)題。輸入掩碼是字段的一種屬性,用限制或控制用戶輸入的格式。標(biāo)題用于字段顯示時(shí)的標(biāo)題,如果不指定標(biāo)題則顯示字段名。當(dāng)字段名是英文或縮寫(xiě)時(shí),則通過(guò)指定標(biāo)題可以使界面更友好。6字段注釋

      可以為每個(gè)字段添加注釋,便于日后或其他人對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)??键c(diǎn)4 修改表結(jié)構(gòu) 在Visual FoxPro中可以對(duì)表結(jié)構(gòu)任意修改,修改表結(jié)構(gòu)和建立表結(jié)構(gòu)時(shí),表設(shè)計(jì)器界面完全一樣。修改數(shù)據(jù)表結(jié)構(gòu)時(shí),首先應(yīng)該用USE命令打開(kāi)要修改的數(shù)據(jù)表,然后利用MODIFY STRUCTURE打開(kāi)表設(shè)計(jì)器進(jìn)行修改,具體操作有以下幾種。(1)修改已有字段。(2)添加新字段。(3)刪除不用的字段。4.3 表的基本操作

      考點(diǎn)5 使用瀏覽器操作表

      在交互式工作方式下,最簡(jiǎn)單、方便的方法就是使用BROWSE瀏覽器瀏覽表,打開(kāi)瀏覽器的方法有多種。在項(xiàng)目管理器中將數(shù)據(jù)庫(kù)展開(kāi)至表,然后單擊“瀏覽”按鈕,或直接在窗口中輸入BROWSE命令(首先應(yīng)該打開(kāi)表文件)。1瀏覽器操作

      (1)下一記錄(下箭頭鍵)。(2)前一記錄(上箭頭鍵)。(3)下一頁(yè)(PageDown鍵)。(4)上一頁(yè)(PageUp鍵)。(5)下一字段(Tab鍵)。

      (6)前一字段(Shift+Tab鍵)。2修改記錄

      只需將光標(biāo)定位到要修改的記錄和字段上,就可以進(jìn)行修改了。3刪除記錄 Visual FoxPro中刪除記錄有邏輯刪除和物理刪除兩種,邏輯刪除只在記錄旁做刪除標(biāo)記(如圖4-2所示),必要時(shí)可以進(jìn)行恢復(fù)物理刪除是在邏輯刪除的基礎(chǔ)上真正地將記錄從表中刪除。要在瀏覽器中刪除有刪除標(biāo)記的記錄,可選擇“表/徹底刪除”菜單命令。

      圖4-2 增加和刪除記錄

      考點(diǎn)6 增加、刪除、修改和顯示記錄的命令 1增加記錄

      APPEND命令是在表的尾部增加記錄,格式有如下兩種。格式1:APPEND 格式2:APPEND BLANK 2插入記錄

      格式:INSERT [BEFORE][BLANK] 3刪除記錄

      刪除記錄有物理刪除和邏輯刪除兩種,Visual FoxPro用來(lái)刪除記錄的命令如下。(1)設(shè)置刪除標(biāo)記的命令

      格式:DELETE [FOR lExpressionl] 說(shuō)明:如果不使用FOR短語(yǔ)指定邏輯條件,則只刪除當(dāng)前記錄,否則邏輯刪除滿足條件的所有記錄。

      (2)恢復(fù)記錄的命令。

      格式:RECALL [FOR lExpressionl] 說(shuō)明:使用該命令恢復(fù)表中邏輯刪除的記錄,短語(yǔ)FOR的功能同上。(3)物理刪除有刪除標(biāo)記的記錄 格式:PACK 說(shuō)明:此命令用來(lái)物理刪除當(dāng)前表中所有帶刪除標(biāo)記的記錄。(4)物理刪除表中的全部記錄 格式:ZAP 說(shuō)明:不管表中記錄是否帶有刪除標(biāo)記,此命令可以一次性將當(dāng)前表中的記錄全部物理刪除,但表結(jié)構(gòu)仍保留使用此命令相當(dāng)于DELETE ALL與 PACK的連用。4修改記錄

      在Visual FoxPro中可以交互修改記錄,也可以用指定值直接修改記錄。(1)用EDIT或CHANGE命令交互式修改。(2)用REPLACE命令直接修改。5顯示記錄

      格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考點(diǎn)7 查詢定位的命令(1)用GOTO命令直接定位(2)SKIP命令

      (3)用LOCATE命令定位。

      LOCATE命令是按條件定位記錄位置,格式為: LOCATE FOR IExpressionl LOCATE命令常用結(jié)構(gòu)如下。LOCATE FOR IExpression1 DO WHILE FOUND()****處理數(shù)據(jù)*** CONTINUE ENDDO 小提示:

      連續(xù)使用DELETE ALL和PACK命令,其操作結(jié)果與ZAP命令一樣,都可以將表中的所有記錄一次性物理刪除。4.4 索引與排序

      考點(diǎn)8 索引的基本概念

      索引是對(duì)表中的記錄按照某種邏輯順序重新排列。

      (l)主索引:在指定的字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引,且一個(gè)表只能創(chuàng)建一個(gè)主索引。

      (2)候選索引:具有與主索引相同的性質(zhì)和功能,但一個(gè)表中可以創(chuàng)建多個(gè)候選索引,其指定的字段或表達(dá)式中也不允許出現(xiàn)重復(fù)值。

      (3)唯一索引:它的“唯一性”是指索引項(xiàng)的唯一,而不是字段值的唯一。但在使用該索引時(shí),重復(fù)的索引段值只有唯一一個(gè)值出現(xiàn)在索引項(xiàng)中。

      (4)普通索引:不僅允許字段中出現(xiàn)重復(fù)值,并且索引項(xiàng)中也允許出現(xiàn)重復(fù)值??键c(diǎn)9 索引的建立 1單項(xiàng)索引

      在表設(shè)計(jì)器界面中有“字段”、“索引”和“表“3個(gè)選項(xiàng)卡,在“字段”選項(xiàng)卡中定義字段時(shí)就可以直接指定某些字段是否為索引項(xiàng),用鼠標(biāo)單擊定義索引的下拉列表框可以看到3個(gè)選項(xiàng):無(wú)、升序和降序(默認(rèn)是無(wú))。如果選定升序或降序,則在對(duì)應(yīng)的字段上建立一個(gè)普通索引,索引名與字段名同名,索引表達(dá)式就是對(duì)應(yīng)的字段。2復(fù)合字段索引

      (1)在“索引”選項(xiàng)卡中的索引名欄目中輸入索引名。(2)在索引類型的下拉框中選擇索引類型。

      (3)單擊表達(dá)式欄右側(cè)的按鈕,打開(kāi)表達(dá)式生成器。

      (4)在“表達(dá)式”文本框中輸入索引表達(dá)式(如圖4-3所示),最后單擊“確定”按鈕。

      圖4-3 表達(dá)式生成器界面

      3使用命令建立索引

      格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] 從索引的組織方式來(lái)講,索引共有3種類型。(1)單獨(dú)的IDX索引,是一種非結(jié)構(gòu)索引。

      (2)采用非默認(rèn)名的CDX索引,也是一種非結(jié)構(gòu)復(fù)合索引。(3)與表同名的CDX索引,是結(jié)構(gòu)復(fù)合索引。結(jié)構(gòu)復(fù)合索引文件可隨表的打開(kāi)而打開(kāi),在同一個(gè)索引文件中能包含多個(gè)索引方案或索引關(guān)鍵字,在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)索引。考點(diǎn)10 索引的使用

      (l)打開(kāi)索引文件,格式為: SET INDEX TO Indexfilelist(2)設(shè)置當(dāng)前索引,格式為:

      SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING](3)使用索引快速定位,格式為:

      SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING](4)刪除索引,格式為:

      DELETE TAG TagNamel

      &&TagName1為索引名 要?jiǎng)h除全部索引,可使用命令:DELETE TAG ALL 考點(diǎn)11 排序

      索引可以使用戶按照某種順序?yàn)g覽或查找表中的記錄,這種順序是邏輯的,如要對(duì)表中的記錄按物理順序重新排列,可使用SORT命令,格式為: SORT TO TableName ON FieldNainel[/A}/D][/C][,F(xiàn)ieldName2[/A|/D][/C]?][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:

      在數(shù)據(jù)庫(kù)表中只能有一個(gè)主索引,且只能在表設(shè)計(jì)器中建立。其他3種索引可以建立多個(gè),既能在表設(shè)計(jì)器中建立,也能以命令方式建立,但在自由表中不能為其創(chuàng)建主索引,只能創(chuàng)建后3種索引,同樣也可以建立多個(gè)。4.5 數(shù)據(jù)完整性

      考點(diǎn)12 實(shí)體完整性與主關(guān)鍵字

      (1)實(shí)體完整性是保證表中記錄唯一的特性,即在同一個(gè)表中不允許有重復(fù)的記錄出現(xiàn)。在Visual Pro中通過(guò)主索引和候選索引來(lái)保證數(shù)據(jù)的實(shí)體完整性。

      (2)如果一個(gè)字段的值或幾個(gè)字段的值能夠唯一標(biāo)志表中的一條記錄,則稱這個(gè)字段為候選關(guān)鍵字。在Visual FoxPro中將主關(guān)鍵字稱做主索引,將候選關(guān)鍵字稱為候選索引。考點(diǎn)13 參照完整性與表之間的關(guān)聯(lián) 1建立表之間的聯(lián)系

      參照完整性與表之間的聯(lián)系有關(guān),其含義大致是:當(dāng)插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過(guò)參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),檢查對(duì)表的數(shù)據(jù)操作是否正確。

      在數(shù)據(jù)庫(kù)設(shè)計(jì)器中設(shè)計(jì)表之間的聯(lián)系時(shí),要在父表中建立主索引,在子表中建立普通索引,然后通過(guò)父表主索引和子表的普通索引建立起兩個(gè)表之間的聯(lián)系。2設(shè)置參照完整性約束

      建立參照完整性之前,首先必須清理數(shù)據(jù)庫(kù),即物理刪除表中被邏輯刪除的記錄,然后選擇兩個(gè)關(guān)聯(lián)表之間的連線并選擇“數(shù)據(jù)庫(kù)”、“編輯參照完整性”菜單命令,打開(kāi)如圖4-4所示的“參照完整性生成器”對(duì)話框。

      圖4-4 “參照完整性生成器”對(duì)話框 小提示:

      欲建立兩表之間的聯(lián)系,首先用鼠標(biāo)選中一個(gè)表的主索引,按住鼠標(biāo)左鍵不放,并拖動(dòng)鼠標(biāo)到另一個(gè)表的索引上,這時(shí)鼠標(biāo)箭頭變成小矩形狀,最后釋放鼠標(biāo)。4.6 自由表

      考點(diǎn)14 數(shù)據(jù)庫(kù)表與自由表

      自由表是不屬于任何數(shù)據(jù)庫(kù)的表。在沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)時(shí),所建立的表就是自由表。數(shù)據(jù)庫(kù)表與自由表之間可以相互轉(zhuǎn)化。1建立自由表的方法

      (1)在項(xiàng)目的“數(shù)據(jù)”選項(xiàng)卡中選擇“自由表”,單擊“新建”按鈕。

      (2)在沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)的情況下,通過(guò)“新建”對(duì)話框,選擇“表”并單擊“新建文件”按鈕。

      (3)在沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)的情況下,在命令窗口輸入CREATE命令,新建自由表。2數(shù)據(jù)庫(kù)表相對(duì)于自由表的特點(diǎn)

      (l)數(shù)據(jù)庫(kù)表可以使用長(zhǎng)表名,在表中可以使用長(zhǎng)字段名。(2)可以為數(shù)據(jù)庫(kù)表中的字段指定標(biāo)題和添加注釋。(3)可以為數(shù)據(jù)庫(kù)表中的字段指定默認(rèn)值和輸入掩碼。(4)數(shù)據(jù)庫(kù)表的字段有默認(rèn)的控件類。

      (5)可以為數(shù)據(jù)庫(kù)表規(guī)定字段級(jí)規(guī)則和記錄級(jí)規(guī)則。

      (6)數(shù)據(jù)庫(kù)表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系。(7)支持INSERT,UPDATE和DELETE事件的觸發(fā)器。考點(diǎn)15 將自由表添加到數(shù)據(jù)庫(kù)中

      (1)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中可利用“數(shù)據(jù)庫(kù)”→“添加表”菜單命令,在“打開(kāi)”對(duì)話框中選擇自由表文件,將其添加到數(shù)據(jù)庫(kù)中。

      (2)直接用命令方式將自由表添加到當(dāng)前數(shù)據(jù)庫(kù)中,格式為: ADD TABLE TableName|?[NAME LongTableName] 考點(diǎn)16 從數(shù)據(jù)庫(kù)中移出表

      (1)直接利用命令移出數(shù)據(jù)庫(kù)表,格式為:

      REMOVE TABLE TableName |?[DELETE][RECYCLE](2)從項(xiàng)目管理器中移出數(shù)據(jù)庫(kù)。(3)從數(shù)據(jù)庫(kù)設(shè)計(jì)器中移出數(shù)據(jù)庫(kù)。4.7 多個(gè)表的同時(shí)使用

      在Visual FoxPro中,一次可以打開(kāi)多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)都可以打開(kāi)多個(gè)數(shù)據(jù)表??键c(diǎn)17 多工作區(qū)的概念

      指定工作區(qū)的命令格式為SELECT nWorkArea | cTableAlias,每個(gè)表打開(kāi)后都有兩個(gè)默認(rèn)別名,一個(gè)是表的自身名,另一個(gè)是工作區(qū)所對(duì)應(yīng)的別名。在前10個(gè)工作區(qū)中指定的默認(rèn)別名是工作區(qū)字母A~J,其后面的工作區(qū)所對(duì)應(yīng)的別名為W11~W32767。

      另外還可以在USE命令中通過(guò)ALIAS短語(yǔ)指定表別名。

      例如:USE學(xué)生表IN 1 ALIAS student,為學(xué)生表指定了別名student。考點(diǎn)18 使用不同工作區(qū)的表

      除了使用SELECT命令切換不同的工作區(qū)之外,也可以在一個(gè)工作區(qū)使用其他工作區(qū)的數(shù)據(jù)表。即通過(guò)短語(yǔ):IN nWorkArea|cTableAlias。在表別名后加上“.”或“->”操作符,可在一個(gè)工作區(qū)中直接調(diào)用其他工作區(qū)中數(shù)據(jù)表的記錄。例如當(dāng)前工作區(qū)號(hào)為2,要調(diào)用1區(qū)上學(xué)生表中的班級(jí)號(hào)的相關(guān)字段,可使用命令:

      學(xué)生表.班級(jí)號(hào) 或?qū)W生表->班級(jí)號(hào)或A.班級(jí)號(hào)或A->班級(jí)號(hào) 考點(diǎn)19 表之間的關(guān)聯(lián)

      使用SET RELATION命令建立表間記錄指針的臨時(shí)聯(lián)系(關(guān)聯(lián))。

      格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。

      說(shuō)明:eExpressionl是指建立臨時(shí)聯(lián)系的索引關(guān)鍵字,一般是父表的主索引,子表的普通索引。用工作區(qū)號(hào) nWorkAreal或表的別名cTableAlias I說(shuō)明臨時(shí)聯(lián)系是由當(dāng)前工作區(qū)的表到哪個(gè)表。利用SET RELATION TO命令將取消當(dāng)前表到所有表的臨時(shí)聯(lián)系。4.1 SQL概述 5.1 SQL概述 考點(diǎn)1 概述 1概念

      SQL是結(jié)構(gòu)化查詢語(yǔ)言Structured Query Language的縮寫(xiě)。它包括數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制4部分。Visual FoxPro在SQL方面支持?jǐn)?shù)據(jù)定義、數(shù)據(jù)查詢和數(shù)據(jù)操縱功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它沒(méi)有提供數(shù)據(jù)控制功能。2 SQL語(yǔ)言的特點(diǎn)

      (1)一種一體化的語(yǔ)言。

      (2)一種高度非過(guò)程化的語(yǔ)言。(3)語(yǔ)言非常簡(jiǎn)潔。

      (4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查詢功能

      SQL的核心是查詢,基本形式由SELECT-FROM-WHERE查詢塊組成,多個(gè)查詢塊可嵌套執(zhí)行,如表5-1所示。

      表5-1 SQL命令動(dòng)詞

      考點(diǎn)2 簡(jiǎn)單查詢 1簡(jiǎn)單查詢

      簡(jiǎn)單查詢是由SELECT和FROM短語(yǔ)構(gòu)成的無(wú)條件查詢,或由SELECT,F(xiàn)ROM和WHERE短語(yǔ)構(gòu)成的條件查詢。2簡(jiǎn)單的連接查詢

      連接是關(guān)系的基本操作之一,連接查詢是一種基于多個(gè)關(guān)系的查詢。3嵌套查詢

      嵌套查詢所要求的結(jié)果出自一個(gè)關(guān)系,但關(guān)系的條件卻涉及多個(gè)關(guān)系。其內(nèi)層基本上也是一個(gè)SELECT-FROM-WHERE查詢語(yǔ)句。這種簡(jiǎn)單嵌套查詢,可使用謂詞IN或NOT IN來(lái)判斷在外層的查詢條件中是否包含內(nèi)層查詢的結(jié)果??键c(diǎn)3 特殊運(yùn)算符號(hào) 1 BETWEEN?AND?

      含義:該查詢的條件是在??范圍之內(nèi),相當(dāng)于用AND連接的一個(gè)邏輯表達(dá)式。2 LIKE 含義:它是一個(gè)字符串匹配運(yùn)算符,與之搭配使用的通配符包括“*”和“?”??键c(diǎn)4 排序

      使用SQL SELECT可以將查詢結(jié)果進(jìn)行排序,排序的短語(yǔ)是ORDER BY。格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]?] 說(shuō)明:可以按升序(ASC)或降序(DESC)排序,允許按一列或多列排序??键c(diǎn)5 計(jì)算查詢 1簡(jiǎn)單的計(jì)算查詢

      SQL不僅具有一般的檢索能力,而且還有計(jì)算方式的檢索,用于計(jì)算檢索的函數(shù)有:COUNT(計(jì)數(shù))、SUM(求和)、AVG(計(jì)算平均值)、MAX(求最大值)及MIN(求最小值)。2分組與計(jì)算查詢

      在SQL SELECT中可以利用GROUP BY子句進(jìn)行分組計(jì)算查詢。

      格式:GROUP BY GroupColumn[,GroupColumn?][HAVING FilterCondition] 說(shuō)明:可以按一列或多列分組,還可以用HAVING子句進(jìn)一步限定分組的條件。它必須跟在GROUP BY子句之后,不可單獨(dú)使用,與WHERE子句并不矛盾。考點(diǎn)6 別名和自連接查詢

      (1)SQL語(yǔ)句允許在二OM短語(yǔ)中為關(guān)系定義別名,格式為:一 <關(guān)系名><別名>(2)SQL不僅可以對(duì)多個(gè)關(guān)系進(jìn)行連接操作,也可以將同一關(guān)系與其自身進(jìn)行連接,這種連接就稱為自連接。在關(guān)系的自連接操作中,別名是必不可少的??键c(diǎn)7 使用量詞和謂詞的查詢

      與嵌套查詢或子查詢有關(guān)的運(yùn)算符,除了IN和NOT IN運(yùn)算符外,還有兩類與子查詢有關(guān)的運(yùn)算符,它們有以下兩種格式。

      (1)<表達(dá)式><比較運(yùn)算符>[ANY I ALL | SOME](子查詢)(2)[NOT]EXISTS(子查詢)EXISTS是謂詞,EXISTS或NOT EXISTS是用來(lái)檢查在子查詢中是否有結(jié)果返回,即存在元組或不存在元組。其本身并沒(méi)有進(jìn)行任何運(yùn)算或比較,只用來(lái)返回子查詢結(jié)果。考點(diǎn)8 超鏈接查詢

      (1)在新的SQL標(biāo)準(zhǔn)中支持兩個(gè)新的關(guān)系連接運(yùn)算符,這兩個(gè)新的連接運(yùn)算是左連接(*=)和右連接=*):首先保證一個(gè)表中滿足條件的元組都在結(jié)果表中,然后將滿足連接條件的元組與另一個(gè)表的元組進(jìn)行連接,不滿足連接條件的則應(yīng)將來(lái)自另一個(gè)表的屬性值置為空值。在一般SQL中超鏈接運(yùn)算符是“*=”(左連接)和“=*”(右連接)。(2)在Visual FoxPro中不支持超鏈接運(yùn)算符“*=”和“=*”,Visual FoxPro有專門的連接運(yùn)算。下面拼出SQL中超鏈接的部分語(yǔ)句格式: SELECT…

      FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE…

      考點(diǎn)9 Visual FoxPro中SQL SELECT的幾個(gè)特殊選項(xiàng)(l)顯示部分結(jié)果,格式為: TOP nExpr[PERCENT](2)將查詢結(jié)果存放到數(shù)組中,格式為: INTO ARRAY ArrayName(3)將查詢結(jié)果存放到臨時(shí)文件中,格式為: INTO CURSOR CursorName(4)將查詢結(jié)果存放到永久表中,格式為: INTO DBF|TABLE TableName(5)將查詢結(jié)果存放到文本文件中,格式為: TO FILE FileName[ADDITIVE](6)將查詢結(jié)果直接輸出到打印機(jī),格式為: TO PRINTER[PROMPT] 5.3 操作功能 考點(diǎn)10 插入

      Visual FoxPro支持兩種SQL插入命令的格式,一種是標(biāo)準(zhǔn)格式,另一種是特殊格式。1標(biāo)準(zhǔn)格式

      INSERT INTO dbf name[(frame 1[,fname2,?])] VALUES(eExpressionl[,eExpression2,?])2特殊格式

      INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考點(diǎn)11 更新

      SQL的數(shù)據(jù)更新命令格式如下: UPDATE TableName SET Column_Namel=eEpressionl[,Column_Name2=eExpression2?] WHERE Condition 說(shuō)明:利用WHERE字句指定條件,以更新滿足條件的一些記錄的字段值,并巨一次可更新多個(gè)字段;如果不使用WHERE子句,則更新全部記錄??键c(diǎn)12 刪除

      SQL從表中刪除數(shù)據(jù)的命令格式如下:

      DELETE FROM TableName[WHERE Condition] 說(shuō)明:FROM指定從哪個(gè)表中刪除記錄,WHERE指定被刪除的記錄所滿足的條件,如果不使用WHERE子句,則刪除該表中的全部記錄。小提示:

      當(dāng)一個(gè)表定義一個(gè)主索引或候選索引后,由于相應(yīng)的字段具有關(guān)鍵字的特性,即不能為空,所以只能用此命令插入記錄、)APPEND和INSERT都是插入一條空白記錄再輸入各字段的值,故不能用它們來(lái)插入記錄。5.4 定義功能 考點(diǎn)13 表的定義

      利用SQL命令建立的數(shù)據(jù)表同樣可以完成在表設(shè)計(jì)器中設(shè)計(jì)表的所有功能。格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,F(xiàn)ieldName2?] [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,F(xiàn)OREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne 說(shuō)明:此命令除了建立表的基本功能外,還包括滿足實(shí)體完整性的主關(guān)鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯(cuò)提示信息ERROR、定義默認(rèn)值DEFAULT等,另外還有描述表之間聯(lián)系的FOREIGN KEY和REFERENCES等??键c(diǎn)14 表的刪除

      利用SQL命令刪除表,可直接使用語(yǔ)句,格式為: DROP TABLE Table_name 說(shuō)明:如果刪除的是自由表,則應(yīng)該將當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)先關(guān)閉,才能進(jìn)行刪除。如果刪除數(shù)據(jù)庫(kù)表,則要先打開(kāi)數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中進(jìn)行操作二否則,即使刪除了數(shù)據(jù)庫(kù)表,但記錄在數(shù)據(jù)庫(kù)中的信息并沒(méi)有被刪除,此后會(huì)出現(xiàn)錯(cuò)誤提示。考點(diǎn)15 表結(jié)構(gòu)的修改

      修改表結(jié)構(gòu)的命令是ALTER TABLE,該命令有3種格式。

      (1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕](2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK](3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕

      [ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考點(diǎn)16 視圖的定義 1視圖的概念及其定義(l)視圖的概念。

      Visual FoxPro中視圖是一個(gè)虛擬的表,可以是本地的、遠(yuǎn)程的或帶參數(shù)的。(2)視圖的定義,格式為:

      CREATE VIEW view name[(column_name[,column_name]?)] AS select_statement 2從單個(gè)表派生出來(lái)的視圖

      視圖一經(jīng)定義,就可以和基本表一樣進(jìn)行各種查詢,也可以進(jìn)行一些修改操作。對(duì)于最終用戶來(lái)說(shuō),有時(shí)并不需要知道操作的是基本表還是視圖。3從多個(gè)表派生出來(lái)的視圖

      視圖一方面可以限定對(duì)數(shù)據(jù)的訪問(wèn),另一方面又可以簡(jiǎn)化對(duì)數(shù)據(jù)的訪問(wèn)。4視圖的刪除

      視圖由于是從表派生出來(lái)的,所以不存在修改結(jié)構(gòu)的問(wèn)題,但是視圖可以刪除。格式:DROP VIEW<視圖名> 5關(guān)于視圖的說(shuō)明

      在關(guān)系數(shù)據(jù)庫(kù)中,視圖始終不真正含有數(shù)據(jù),它總是原有表的一個(gè)窗口。所以,雖然視圖可以像表一樣進(jìn)行各種查詢,但是插入、更新和刪除操作在視圖上卻有一定限制。在一般情況下,當(dāng)一個(gè)視圖是由單個(gè)表導(dǎo)出時(shí)可以進(jìn)行插入和更新操作,但不能進(jìn)行刪除操作;當(dāng)視圖是從多個(gè)表導(dǎo)出時(shí),插入、更新和刪除操作都不允許進(jìn)行。這種限制是很有必要的,它可以避免一些潛在問(wèn)題的發(fā)生。5.1 查詢與視圖

      考點(diǎn)1 查詢?cè)O(shè)計(jì)器 1查詢的概念

      查詢是從指定的表或視圖中提取滿足條件的記錄,然后按照想得到的輸出類型定向輸出查詢結(jié)果。查詢以擴(kuò)展名為QPR的文件保存在磁盤上的,這是一個(gè)文本文件,它的主體是SQL SELECT語(yǔ)句。2查詢的建立

      建立查詢可以使用“查詢?cè)O(shè)計(jì)器”,但它的基礎(chǔ)是SQL SELECT語(yǔ)句。建立查詢的方法有以下幾個(gè)方面。

      (l)可以利用CREATE QUERY命令打開(kāi)查詢?cè)O(shè)計(jì)器建立查詢。(2)可以利用“新建”對(duì)話框打開(kāi)查詢?cè)O(shè)計(jì)器建立查詢。

      (3)可以在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開(kāi)查詢?cè)O(shè)計(jì)器建立查詢。(4)可直接編輯QPR文件建立查詢。建立查詢時(shí),首先進(jìn)入如圖6-1所示的界面選擇用于建立查詢的表或視圖,選擇表或視圖后,單擊“添加”按鈕。最后單擊“關(guān)閉”按鈕,進(jìn)入如圖6-2所示的查詢?cè)O(shè)計(jì)器界面。

      圖6-1 為查詢選擇表或視圖

      查詢?cè)O(shè)計(jì)器中的各選項(xiàng)卡和SQL SELECT語(yǔ)句的各短語(yǔ)是相對(duì)應(yīng)的,對(duì)應(yīng)關(guān)系如下。“字段”――SELECT短語(yǔ),用于指定要查詢的數(shù)據(jù) “連接”――JOIN ON短語(yǔ),用于編輯連接條件?!昂Y選”――WHERE短語(yǔ),用于指定查詢條件。

      “排序依據(jù)”――ORDER BY短語(yǔ),用于指定排序字段和排序方式?!胺纸M依據(jù)”――GROUP BY短語(yǔ)和HAVING短語(yǔ),用于分組。

      圖6-2 查詢?cè)O(shè)計(jì)器 3查詢的運(yùn)行

      運(yùn)行查詢有下列兩種方法。

      (1)可以在項(xiàng)口管理器的“數(shù)據(jù)”選項(xiàng)卡中,展開(kāi)“查詢”選項(xiàng),然后選擇要運(yùn)行的查詢文件,單擊“運(yùn)行”按鈕,可查看查詢結(jié)果。(2)在命令窗門執(zhí)行命令DO QueryFile。

      注意:此處的查詢文件名是全名,包括擴(kuò)展名QPR。4查詢?nèi)ハ?/p>

      設(shè)計(jì)查詢的目的不只是完成一種查詢功能,在查詢?cè)O(shè)計(jì)器中可以根據(jù)需要為查詢輸出定位查詢?nèi)ハ?。通過(guò)“查詢”菜單卜的“查詢?nèi)ハ颉保蛟凇安樵冊(cè)O(shè)計(jì)器”工具欄中單擊“查詢?nèi)ハ颉卑粹o。“查詢?nèi)ハ颉睂?duì)話框如圖6-3所示

      圖6-3 “查詢?nèi)ハ颉睂?duì)話框 各去向的含義如下。

      (1)瀏覽:在“瀏覽”(BROWSE)窗口中顯示查詢結(jié)果,這是默認(rèn)的輸出去向。(2)臨時(shí)表:將查詢結(jié)果存儲(chǔ)于一個(gè)命名的臨時(shí)只讀表中。(3)表:將結(jié)果保存在一個(gè)命名的數(shù)據(jù)表文件中。(4)圖形:查詢結(jié)果可以用于Microsoft Graph。

      (5)屏幕:在Visual FoxPro主窗口或當(dāng)前活動(dòng)輸出窗口中顯示查詢結(jié)果。(6)報(bào)表:將結(jié)果輸出到一個(gè)報(bào)表文件。(7)標(biāo)簽:將結(jié)果輸出到一個(gè)標(biāo)簽文件。小提示:

      在7種輸出去向中,只有“瀏覽”和“屏幕”兩種輸出去向才能直接看到查詢結(jié)果。6.2 視圖

      考點(diǎn)2 視圖的概念與建立 1視圖的概念

      視圖是操作表的一種手段,通過(guò)視圖可以查詢表,也可以更新表。視圖是根據(jù)表定義的,因此視圖基于表,而視圖可以使應(yīng)用更靈活,因此它又超越表。視圖是數(shù)據(jù)庫(kù)中的一個(gè)特有功能,只有在包含視圖的數(shù)據(jù)庫(kù)打開(kāi)時(shí)才能使用。

      視圖兼有“表”和“查詢”的特點(diǎn),與查詢相類似的地方是可以用來(lái)從一個(gè)或多個(gè)相關(guān)聯(lián)的表中提取有用信息;與表類似的地方是可以用來(lái)更新其中的信息,并將結(jié)果永久性保存在磁盤上。

      2視圖的建立

      (l)用CREATE VIEW命令打開(kāi)視圖設(shè)計(jì)器建立視圖。(2)利用“新建”對(duì)話框打開(kāi)視圖設(shè)計(jì)器建立視圖。

      (3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開(kāi)視圖設(shè)計(jì)器建立視圖。(4)利用SQL命令CREATE VIEW...AS...建立視圖。3視圖設(shè)計(jì)象

      視圖設(shè)計(jì)器(如圖6一所示)與查詢?cè)O(shè)計(jì)器基本上一樣,主要有以下幾點(diǎn)不同。(1)視圖的結(jié)果保存在數(shù)據(jù)庫(kù)中,在磁盤上找不到類似的文件。

      (2)視圖可以用來(lái)更新數(shù)據(jù),因此在設(shè)計(jì)器中多了一個(gè)“更新條件”選項(xiàng)卡。(3)在視圖中沒(méi)有“查詢?nèi)ハ颉钡膯?wèn)題。

      圖6-4 視圖設(shè)計(jì)器

      考點(diǎn)3 遠(yuǎn)程視圖與連接

      為了建立遠(yuǎn)程視圖,必須首先建立連接遠(yuǎn)程數(shù)據(jù)庫(kù)的“連接”,“連接”是Visual FoxPro數(shù)據(jù)庫(kù)中的一種對(duì)象。1定義數(shù)據(jù)源和連接

      數(shù)據(jù)源一般是ODBC數(shù)據(jù)源,開(kāi)放數(shù)據(jù)庫(kù)互連ODBC是一種連接數(shù)據(jù)庫(kù)的通用標(biāo)準(zhǔn)。為了定義ODBC數(shù)據(jù)源,必須首先安裝ODBC驅(qū)動(dòng)程序。2建立連接

      建立連接的方法有以下幾種。(1)用CREATE CONNECTION命令打開(kāi)“連接設(shè)計(jì)器”,或完全用命令方式建立連接。(2)通過(guò)“新建”對(duì)話框建立連接。

      (3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中建立連接。3設(shè)計(jì)遠(yuǎn)程視圖

      利用數(shù)據(jù)源或連接建立的遠(yuǎn)程視圖的SQL語(yǔ)法要符合遠(yuǎn)程數(shù)據(jù)庫(kù)的語(yǔ)法,例如,SQL Server的語(yǔ)法和Visual FoxPro的語(yǔ)法就有所區(qū)別??键c(diǎn)4 視圖與數(shù)據(jù)更新

      視圖是根據(jù)基本表派生出來(lái)的,所以把它叫做虛擬表為了通過(guò)視圖能夠更新基本表中的數(shù)據(jù),需要在視圖設(shè)計(jì)器的“更新條件”選項(xiàng)卡中的左下角選中“發(fā)送SQL更新”復(fù)選框。1指定可更新的表

      如果視圖是基于多個(gè)表的,默認(rèn)可以更新“全部表”的相關(guān)字段,如果要指定只能更新某個(gè)表的數(shù)據(jù),則可以通過(guò)“表”下拉列表框選擇表 2指定可更新的字段

      在“字段名”列表框中列出了與更新有關(guān)的字段,在字段名左側(cè)有兩列標(biāo)志,“鑰匙”表示關(guān)鍵字,“鉛筆”表示更新通過(guò)單擊相應(yīng)列可以改變相關(guān)的狀態(tài),默認(rèn)可以更新所有非關(guān)鍵字字段,并且通過(guò)基本表的關(guān)鍵字完成更新,即Visual FoxPro用這些關(guān)鍵字字段來(lái)唯一標(biāo)識(shí)那些已在視圖中修改過(guò)的基本表中的記錄建議不要改變關(guān)鍵字的狀態(tài),不要試圖通過(guò)視圖來(lái)更新基本表中的關(guān)鍵字字段值,如有必要,可以指定更新非關(guān)鍵字字段值 3檢查更新的合法性 如圖6-1所示,“SQL WHERE子句包括”框中的選項(xiàng)決定哪些字段包含在UPDATE或DELETE語(yǔ)句的WHERE子句中,Visual FoxPro正是利用這些語(yǔ)句將在視圖中修改或刪除的記錄發(fā)送到遠(yuǎn)程數(shù)據(jù)源或基本表中,WHERE子句就是用來(lái)檢查自從提取記錄用于視圖中后,服務(wù)器上的數(shù)據(jù)是否已經(jīng)改變?!癝QL WHERE子句包括”框中各選項(xiàng)的含義如下。

      (l)關(guān)鍵字段:當(dāng)基本表中的關(guān)鍵字字段被改變時(shí),更新失敗。

      (2)關(guān)鍵字和可更新字段:當(dāng)基本表中任何標(biāo)記為可更新的字段被改變時(shí),更新失敗。

      (3)關(guān)鍵字和已修改字段:當(dāng)在視圖中改變的任一字段的值在基本表中已被改變時(shí),更新失敗。

      (4)關(guān)鍵字和時(shí)間戳:當(dāng)遠(yuǎn)程表上記錄的時(shí)間戳在首次檢索之后被改變時(shí),更新失敗。4使用更新方式

      “使用更新”框的選項(xiàng)決定當(dāng)向基本表發(fā)送SQL更新時(shí)的更新方式。

      (1)SQL DELETE然后INSERT:先用SQL DELETE命令刪除基本表中被更新的舊記錄,再用SQL INSERT命令向基本表中插入更新后的記錄。

      (2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考點(diǎn)5 使用視圖

      視圖建立后,不但可以用它來(lái)顯示和更新數(shù)據(jù),而且可以通過(guò)調(diào)整它的屬性來(lái)提高性能,它的使用類似于表。1視圖操作

      (1)在數(shù)據(jù)庫(kù)中使用USE命令打開(kāi)或關(guān)閉視圖。(2)在“瀏覽器”窗口中顯示或修改視圖中的記錄。(3)使用SQL語(yǔ)句操作視圖。

      (4)在文本框、表格控件、表單或報(bào)表中使用視圖作為數(shù)據(jù)源。2使用視圖

      視圖一經(jīng)建立就基本可以像基本表一樣使用,適用于基本表的命令基本都可以用于視圖。比如在視圖上也可以建立索引,此索引當(dāng)然是臨時(shí)的,視圖一關(guān)閉,索引自動(dòng)刪除,多工作區(qū)時(shí)也可以建立聯(lián)系等。但視圖不可以用MODIFY STRUCTURE命令修改結(jié)構(gòu)。因?yàn)橐晥D畢竟不是獨(dú)立存在的基本表,它是由基本表派生出來(lái)的,只能修改視圖的定義。

      小提示:

      查詢與視圖的區(qū)別是:查詢可以定義輸出去向,可以將查詢的結(jié)果靈活地應(yīng)用于表單、報(bào)表、圖形等各種場(chǎng)合,但是利用查詢不可以修改數(shù)據(jù);而利用視圖可以修改數(shù)據(jù),可以利用SQL將對(duì)視圖的修改發(fā)送到基本表,特別是對(duì)于遠(yuǎn)程表的操作,利用視圖是非常有效的。

      6.1表單與控件 面向?qū)ο蟮母拍?考點(diǎn)1 對(duì)象與類 1對(duì)象(Object)客觀世界里的任何實(shí)體都可以被視為對(duì)象。對(duì)象可以是具體事物,也可以指某些概念二(1)屬性:用來(lái)表示對(duì)象的狀態(tài)。(2)方法:用來(lái)描述對(duì)象的行為。2類(Class)類是對(duì)一類相似對(duì)象性質(zhì)的描述。同類對(duì)象具有相同的性質(zhì):相同的屬性及方法??键c(diǎn)2 子類與繼承 1繼承

      繼承表達(dá)了一種從一般到特殊的進(jìn)化過(guò)程。在面向?qū)ο蟮姆椒ɡ?,繼承是指基于現(xiàn)有類的方法和屬性。2類

      我們把新類稱為現(xiàn)有類的子類,而把現(xiàn)有類稱為新類的父類。一個(gè)子類的成員一般包括以下兩個(gè)方面。

      (l)從其父類繼承的成員,包括屬性、方法。(2)由子類自己定義的成員,包括屬性、方法。8.2 Visual FoxPro基類簡(jiǎn)介 考點(diǎn)3 Visual FoxPro基類

      Visual FoxPro中所有基類共有的屬性如表8-1所示。表8-1 Visual FoxPro基類的最小屬性集

      (l)在編程方式里,對(duì)象的生成通常使用CREATE OBJECT函數(shù)來(lái)完成,格式為: CREATE OBJECT(<類名>[,<參數(shù)1>,<參數(shù)2>,?])說(shuō)明:函數(shù)基于指定的類生成一個(gè)對(duì)象,并返回對(duì)象的引用。(2)對(duì)象屬性訪問(wèn)及對(duì)象方法調(diào)用的基本格式為: <對(duì)象引用>.<對(duì)象屬性> <對(duì)象引用>.<對(duì)象方法>[(?)] 考點(diǎn)4 容器與控件

      Visual FoxPro中的類一般可分為兩種類型:容器類和控件類。相應(yīng)地,可分別生成容器(對(duì)象)和控件(對(duì)象)。

      (l)控件:是一個(gè)可以以圖形化的方式顯示出來(lái)并能與用戶進(jìn)行交互式的對(duì)象。(2)容器:可看成是一個(gè)特殊的控件,它能包容其他的控件或容器。(3)層次:容器內(nèi)的包容關(guān)系形成r對(duì)象的嵌套層次關(guān)系。對(duì)象的層次概念與類的層次概念是兩個(gè)完全不同的概念對(duì)象的層次關(guān)系指的是包容與被包容的關(guān)系,而類的層次指的是繼承與被繼承的關(guān)系。

      在對(duì)象的嵌套層次關(guān)系中,要引用其中的某個(gè)對(duì)象,需要指明對(duì)象在嵌套層次中的位置。對(duì)象引用的幾個(gè)屬性或關(guān)鍵字如表8-2所示。表8-2 對(duì)象引用的幾個(gè)屬性或關(guān)鍵字

      考點(diǎn)5 事件

      事件是一種由系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動(dòng)作。它作用于對(duì)象,對(duì)象識(shí)別事件并做出相應(yīng)的反應(yīng)。與方法集可以無(wú)限擴(kuò)展不同的是,事件集是固定的。用戶不能定義新的事件。表8-3列出了VisualFoxPro基類的最小事件集,不管哪個(gè)基類都包含這些事件。表8-3 Visual FoxPro基類的最小事件集

      8.3 創(chuàng)建與管理表單

      考點(diǎn)6 創(chuàng)建、修改及運(yùn)行表單 1使用表單向?qū)?chuàng)建表單

      調(diào)用表單向?qū)У姆椒ㄓ卸喾N,這里只做簡(jiǎn)單介紹。

      (l)在“項(xiàng)目管理器”窗口中,選擇“文檔”選項(xiàng)卡,選擇其中的“表單”圖標(biāo)。(2)單擊“新建”按鈕,系統(tǒng)彈出“新建表單”對(duì)話框。(3)單擊“表單向?qū)А眻D標(biāo)按鈕,打開(kāi)“向?qū)нx取”對(duì)話框。(4)從列表框中選擇要使用的向?qū)?,然后單擊“確定”按鈕。2使用表單設(shè)計(jì)器創(chuàng)建表單

      可以使用以下3種方法中的任何一種調(diào)用表單設(shè)計(jì)器。(1)在項(xiàng)目管理器環(huán)境下調(diào)用。(2)菜單方式調(diào)用。(3)命令方式調(diào)用。3修改已有的表單

      一個(gè)表單無(wú)論是通過(guò)任何途徑創(chuàng)建的,都可以使用表單設(shè)計(jì)器進(jìn)行編輯修改。我們可以通過(guò)項(xiàng)目或使用命令“MODIFY FORM<表單名>”來(lái)打開(kāi)表單設(shè)計(jì)器。4運(yùn)行表單

      可以采用下列方法運(yùn)行通過(guò)表單設(shè)計(jì)器創(chuàng)建的表單文件。

      (1)在項(xiàng)目管理器窗口中,選擇要運(yùn)行的表單,然后單擊窗口里的“運(yùn)行”按鈕。

      (2)在表單設(shè)計(jì)器環(huán)境下,選擇“表單”菜單中的“執(zhí)行表單”命令,或單擊標(biāo)準(zhǔn)工具欄上的“運(yùn)行”按鈕。

      (3)選擇“程序”菜單中的“運(yùn)行”命令,打開(kāi)“運(yùn)行”對(duì)話框,然后在對(duì)話框中指定要運(yùn)行的表單文件并單擊“運(yùn)行”按鈕。(4)在命令窗口中輸入命令,格式為:

      DO FORM<表單文件名>[NAME<變量名>] WITH<實(shí)參>[,<實(shí)參>,?][LINKED][NOSHOW] 考點(diǎn)7 管理表單屬性和方法

      可以向表單添加任意數(shù)量的新屬性和新方法,并像引用表單的其他屬性和方法一樣引用它們。Visual FoxPro中表單的屬性大約有100個(gè),但絕大多數(shù)很少用到。表8-4列出了常用的一些表單屬性,這些屬性規(guī)定了表單的外觀和行為。表8-4 表單的常用屬性

      1創(chuàng)建新屬性

      向表單添加新屬性的方法如F。

      (l)選擇“表單”菜單中的“新建屬性”命令,打開(kāi)“新建屬性”對(duì)話框,如圖8-1所示。(2)在“名稱”文本框中輸入新屬性的名稱。

      (3)有選擇地在“說(shuō)明”列表框中輸入新建屬性的說(shuō)明信息。

      圖8-1 “新建屬性”對(duì)話框

      2創(chuàng)建新方法

      向表單添加新方法的步驟如下

      (l)運(yùn)行“表單”→“新建方法程序”命令,打開(kāi)“新建方法程序”對(duì)話框,如圖8-2所示。(2)在“名稱”文本框中輸入新方法名。

      (3)有選擇地在“說(shuō)明”列表框中輸入新建方法的說(shuō)明信息。

      圖8-2 “新建方法程序”對(duì)話框

      3編輯方法或事件代碼

      在表單設(shè)計(jì)器中,編輯方法或事件代碼的步驟如下。

      (1)選擇“顯示”菜單中的“代碼”命令,打開(kāi)代碼編輯窗口,如圖8-3所示。(2)從“對(duì)象”框中選擇方法或事件所屬的對(duì)象。(3)從“過(guò)程”框中指定需要編輯的方法或事件。(4)在編輯區(qū)輸入或修改方法或事件的代碼。

      圖8-3 代碼編輯窗口

      考點(diǎn)8 常用事件與方法

      下面將以表的形式簡(jiǎn)單介紹一下表單及控件常用的一些事件和方法,如表8-5所示。表8-5 常用的一些屬性和方法

      8.4 表單設(shè)計(jì)器

      考點(diǎn)9 表單設(shè)計(jì)器環(huán)境

      表單設(shè)計(jì)器啟動(dòng)后,在Visual FoxPro的主窗口中出現(xiàn)“表單設(shè)計(jì)器”窗口、“屬性”窗口、“表單控件”工具欄、“表單設(shè)計(jì)器”工具欄及“表單”菜單。1“表單設(shè)計(jì)器”窗口

      用戶可視化地添加和修改控件的窗口。2“屬性”窗口

      如圖8-4所示,在“屬性”窗口中包括對(duì)象框、屬性設(shè)置框、方法和事件列表。用戶可在此窗口中選擇表取中的控件,并為表單設(shè)計(jì)屬性、方法及事件。

      對(duì)于表單及控件的絕大多數(shù)屬性,其數(shù)據(jù)類型是固定的。一般來(lái)說(shuō),要為屬性設(shè)置一個(gè)字符型數(shù)值,可以在設(shè)置框中直接輸入,不需要加定界符。

      “屬性”窗口可以通過(guò)單擊“表單設(shè)計(jì)器”工具欄中的“屬性窗口”按鈕或選擇“顯示”菜單中的“屬性環(huán)境”命令打開(kāi)或關(guān)閉。

      圖8-4 “屬性”窗口

      3“表單控件”工具欄

      如圖8-5所示,利用“表單控件”工具欄可以方便地向表單添加控件。

      圖8-5 “表單控件”工具欄

      除了控件按鈕外,“表單控件”工具欄還包含“選定對(duì)象”、“按鈕鎖定”、“生成器鎖定”和“查看類”4個(gè)輔助按鈕。4“表單設(shè)計(jì)器”工具欄

      “表單設(shè)計(jì)器”工具欄如圖8-6所示,它可以通過(guò)“顯示”菜單中的“工具欄”命令打開(kāi)或關(guān)閉。

      圖8-6 “表單設(shè)計(jì)器”工具欄

      5“表單”菜單 “表單”菜單中的命令主要用于創(chuàng)建、編輯表單或表單集,如為表單增加新的屬性和方法等。考點(diǎn)10 控件的操作與布局 1控件的基本操作

      在表單設(shè)計(jì)器下,對(duì)表單上的控件可進(jìn)行移動(dòng)、改變大小、復(fù)制、刪除等操作。(l)選定控件。(2)移動(dòng)控件

      (3)調(diào)整控件大小。(4)復(fù)制控件。(5)刪除控件。2控件布局 利用“布局”工具欄中的按鈕,可以方便地調(diào)整表單窗口中被選控件的相對(duì)大小或位置?!安季帧惫ぞ邫诙∫酝ㄟ^(guò)單擊“表單設(shè)計(jì)器”工具欄上的“布局工具欄”按鈕或選擇“顯示”菜單中的“布局工具欄”命令打開(kāi)或關(guān)閉。3設(shè)置Tab鍵次序

      當(dāng)表單運(yùn)行時(shí),用戶可以按Tab鍵選擇表單中的控件,使焦點(diǎn)在控件間移動(dòng)??丶腡ab鍵次序決定了選擇控件的次序。Visual FoxPro提供了兩種方式來(lái)設(shè)置Tab鍵次序:交互方式和列表方式??键c(diǎn)11 數(shù)據(jù)環(huán)境 1數(shù)據(jù)環(huán)境的常用屬性

      常用的兩個(gè)數(shù)據(jù)環(huán)境是AutoOpenTables和AutoCloseTables,其功能如下。

      (1)AutoOpenTables;表示當(dāng)運(yùn)行或打開(kāi)表單時(shí),是否打開(kāi)數(shù)據(jù)環(huán)境中的表和視圖,默認(rèn)值為邏輯真.T.)。

      (2)AutoCloseTables:表示當(dāng)釋放或關(guān)閉表單時(shí),是否關(guān)閉由數(shù)據(jù)環(huán)境指定的表和視圖,默認(rèn)值為邏輯真(.T.)。

      2打開(kāi)數(shù)據(jù)環(huán)境設(shè)計(jì)器

      可通過(guò)單擊“表單設(shè)計(jì)器”工具欄中的“數(shù)據(jù)環(huán)境”按鈕,也可以選擇“顯示”菜單中的“數(shù)據(jù)環(huán)境”命令打開(kāi)或關(guān)閉“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口。3向數(shù)據(jù)環(huán)境中添加表或視圖

      (1)選擇“數(shù)據(jù)環(huán)境”菜單中的“添加”命令,或用鼠標(biāo)右鍵單擊“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口,然后在彈出的快捷菜單中選擇“添加”命令,打開(kāi)“添加表或視圖”對(duì)話框。

      (2)選擇要添加的表或視圖并單擊“添加”按鈕。如果單擊“其他”按鈕,將調(diào)出“打開(kāi)”對(duì)話框,用戶可以從中選擇需要的表。4從數(shù)據(jù)環(huán)境中移去表或視圖

      在數(shù)據(jù)環(huán)境設(shè)計(jì)器環(huán)境下,按下列方法從數(shù)據(jù)環(huán)境移去表或視圖。(1)在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口中,單擊選擇要移去的表或視圖。(2)選擇“數(shù)據(jù)環(huán)境”菜單中的“移去”命令。

      也可以用鼠標(biāo)右鍵單擊要移去的表或視圖,然后在彈出的快捷菜單中選擇“移去”命令。當(dāng)表從數(shù)據(jù)環(huán)境中移去時(shí),與這個(gè)表有關(guān)的所有關(guān)系也將隨之消失。5在數(shù)據(jù)環(huán)境中設(shè)置關(guān)系

      如果添加到數(shù)據(jù)環(huán)境的表之間具有在數(shù)據(jù)庫(kù)中設(shè)置的永久關(guān)系,這些關(guān)系也會(huì)自動(dòng)添加到數(shù)據(jù)環(huán)境中。如果表之間沒(méi)有永久關(guān)系,可以根據(jù)需要在數(shù)據(jù)環(huán)境設(shè)計(jì)器下為這些表設(shè)置關(guān)系。6在數(shù)據(jù)環(huán)境中編輯關(guān)系

      關(guān)系是數(shù)據(jù)環(huán)境中的對(duì)象,它有自己的屬性、方法和事件。常用的關(guān)系屬性如表8-6所示。

      表8-6 常用的關(guān)系屬性

      7向表單添加字段

      我們可以利用“表單控件”工具欄方便地將一個(gè)標(biāo)準(zhǔn)控件放置到表單上,也可以從“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口、“項(xiàng)目管理器”窗口或“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口中直接將字段、表或視圖拖入表單,系統(tǒng)將產(chǎn)生相應(yīng)的控件并與字段相聯(lián)系。8.5 常用表單控件

      考點(diǎn)12 標(biāo)簽(Label)控件 標(biāo)簽的常用屬性如下

      (1)Caption屬性:指定標(biāo)簽的標(biāo)題文本很多類控件都具有Caption屬性。用戶可以利用該屬性為所創(chuàng)建的對(duì)象指定標(biāo)題文本。

      (2)Alignment屬性:指定標(biāo)題文本在控件中的顯示對(duì)齊方式。該屬性包括三個(gè)屬性值――0、1和2,分別代表左對(duì)齊、右對(duì)齊和中央對(duì)齊。考點(diǎn)13 命令按鈕(CommandButton)控件 命令按鈕的常用屬性如下。

      (1)Default屬性:該屬性默認(rèn)值為.F.。當(dāng)屬性為.T.時(shí),可稱為“確定”按鈕,一個(gè)表單中只能包含一個(gè)“確定”按鈕;在Windows中,當(dāng)焦點(diǎn)不在命令按鈕上時(shí),按Enter鍵,系統(tǒng)將自動(dòng)執(zhí)行該命令按鈕的Click事件代碼、(2)Cancel屬性:該屬性默認(rèn)值為.F.。當(dāng)屬性為.T.時(shí),可稱為“取消”按鈕,在表單中,可通過(guò)Esc鍵執(zhí)行該命令按鈕中的Click事件代碼一個(gè)表單中可有多個(gè)命令按鈕的Cancel屬性值為.T.。(3)Enabled屬性:指定表單或控件能否響應(yīng)用戶引發(fā)的事件。默認(rèn)的屬性值為.T.,即對(duì)象是有效的,當(dāng)Enabled=.F.時(shí),只是用來(lái)顯示只讀的信息。

      (4)Visible屬性:指定對(duì)象是可見(jiàn)還是隱藏。默認(rèn)的屬性值為.T.,即對(duì)象是可見(jiàn)的??键c(diǎn)14 命令組(CommandGroup)控件

      命令組是包含一組命令按鈕的容器控件,其常用屬性如下。

      (1)ButtonCount屬性:指定命令組中命令按鈕的個(gè)數(shù),默認(rèn)的屬性值為2。(2)Buttons屬性:用于存取命令組中各按鈕的數(shù)組。用戶可以利用該數(shù)組為命令組中的命令按鈕設(shè)置屬性或調(diào)用其方法,屬性數(shù)組下標(biāo)的取值范圍應(yīng)該在1到ButtonCount屬性值之間。(3)Value屬性:指定命令組當(dāng)前的狀態(tài)。該屬性的類型可以是數(shù)值型,也可以是字符型??键c(diǎn)15 文本框(TextBox)控件 文本框的常用屬性如下。

      (1)ControlSource屬性:可利用該屬性為文本框指定一個(gè)字段或內(nèi)存變量,運(yùn)行時(shí),文本框中首先顯示該變量的內(nèi)容

      (2)Value屬性:返回文本框的當(dāng)前內(nèi)容。該屬性的默認(rèn)值是空串。(3)PasswordChar屬性:指定文本框控件內(nèi)是顯示用戶輸入的字符還是顯示占位符。該屬性的默認(rèn)值是空串,此時(shí)沒(méi)有占位符。當(dāng)為屬性指定一個(gè)占位符(例如*)后,文本框中只顯示占位符。

      (4)InputMask屬性:指定在一個(gè)文本框中如何輸入和顯示數(shù)據(jù)。各種模式符的功能如表8-7所示。

      表8-7 模式符及其功能

      考點(diǎn)16 編輯框的常用屬性如下。

      (1)AllowTabs屬性:指定編輯框中能否使用Tab鍵。該屬性的默認(rèn)值為.F.,當(dāng)按Tab鍵時(shí),焦點(diǎn)移出編輯框。

      (2)HideSelection屬性:指定當(dāng)編輯框失去焦點(diǎn)時(shí),編輯框中選定的文本是否仍顯示為選定狀態(tài)。該屬性的默認(rèn)值為.T.,即當(dāng)編輯框失去焦點(diǎn)時(shí),編輯框中選定的文本不顯示為選定狀態(tài)(3)ReadOnly屬性:指定用戶能否編輯編輯框中的內(nèi)容。如果該屬性的默認(rèn)值為.F.,則叮以編輯編輯框中的內(nèi)容;當(dāng)屬性值為.T.時(shí),編輯框中的內(nèi)容為只讀。

      (4)ScrollBars屬性:指定編輯框是否具有滾動(dòng)條。該屬性包括“0-無(wú)” 和“2-垂直”兩個(gè)屬性值。

      (5)SelStart屬性:返回用戶在編輯框中所選文本的起始位置或插入點(diǎn)位置。屬性的有效取值范圍在0與編輯區(qū)中的字符總數(shù)之間。

      (6)SelLength屬性:返回用戶在控件的文本輸入?yún)^(qū)中所選定字符的數(shù)目,或指定要選定的字符數(shù)目。

      (7)SelText屬性:返回用戶編輯區(qū)內(nèi)選定的文本。如果沒(méi)有選定文本,將返回空串??键c(diǎn)17 復(fù)選框(CheckBox)控件 復(fù)選框的常用屬性如下。

      (1)Caption屬性:用來(lái)指定顯示在復(fù)選框旁邊的文字。

      (2)Value屬性:用來(lái)指明復(fù)選框的當(dāng)前狀態(tài),共有3種情況:0或.F.表示未被選中;1或.T.表示被選扣;2或.NULL.表示不確定,只在代碼中有效。

      (3)ControlSource屬性:指明與復(fù)選框建立聯(lián)系的數(shù)據(jù)源。作為數(shù)據(jù)源的字段變量或內(nèi)存變量,其類型可以是邏輯型或數(shù)值型。考點(diǎn)18 選項(xiàng)組(OptionGroup)控件

      選項(xiàng)組是包含若干個(gè)選項(xiàng)按鈕的一種容器控件,其常用屬性如下。(1)ButtonCount屬性:指定選項(xiàng)組中選項(xiàng)按鈕的數(shù)目,其默認(rèn)值為2,(2)Value屬性:用于指定選項(xiàng)組中哪個(gè)選項(xiàng)按鈕被選中。該屬性值的類型可為數(shù)值k1J或字符型。

      (3)ControlSource屬性:指明與選項(xiàng)組建立聯(lián)系的數(shù)據(jù)源。作為數(shù)據(jù)源的字段變量或內(nèi)存變量,其類型可以是字符型或數(shù)值型

      (4)Buttons屬性:用于存取選項(xiàng)組中每個(gè)按鈕的數(shù)組,其含義與命令組的Buttons類似。考點(diǎn)19 列表框(ListBox)控件 列表框的常用屬性如下

      (1)RowSourceType屬性與RowSource屬性:RowSourceType屬性指明列表框中的條目數(shù)據(jù)源的類型,RowSource屬性指定列表框的條目數(shù)據(jù)源。RowSourceType屬性共有10種取值范圍:0-無(wú)(默認(rèn)值)、1-值,2-別名、3-SQL語(yǔ)句,4-查詢(.qpr),5-數(shù)組,6-字段,7-文件,8-結(jié)構(gòu),9-彈出式菜單。(2)List屬性:用以存取列表框中數(shù)據(jù)條目的字符串?dāng)?shù)組。(3)ListCount屬性:指明列表框中數(shù)據(jù)條目的數(shù)目。(4)ColumnCount屬性:指定列表框的列數(shù)。

      (5)Value屬性:列表框中被選中的條目。該屬性可以是數(shù)值型,也可以是字符型。

      (6)ControlSource屬性:該屬性在列表框中的用法和在其他控件中的用法有所不同。用戶可以通過(guò)該屬性指定一個(gè)字段或變量用以保存用戶從列表框中選擇的結(jié)果。(7)Selected屬性:指定列表框內(nèi)的某個(gè)條目是否處于選定狀態(tài)〕(8)MultiSelect屬性:指定用戶在列表框控件內(nèi)進(jìn)行多重選定。其中,0或.F.表示不允許多重選定,為系統(tǒng)默認(rèn)值;1或.T.表示允許多重選定??键c(diǎn)20 組合框(ComboBox)控件

      組合框與列表框類似,也是用于提供一組條目供用戶從中選擇,組合框的特點(diǎn)如下。(1)對(duì)于組合框來(lái)說(shuō),通常只有一個(gè)條目是可見(jiàn)的。(2)組合框不提供多重選定的功能。

      (3)組合框可通過(guò)Style屬性設(shè)置其形式,共有兩種:0表示下拉組合框,2表示下拉列表框??键c(diǎn)21 表格(Gride)控件 表格是一種容器對(duì)象。一個(gè)表格對(duì)象由若十列對(duì)象組成,每個(gè)列對(duì)象包含一個(gè)標(biāo)頭對(duì)象和若干控件,它們都有自己的屬性、事件和方法。1表格的常用屬性

      (l)RecordSourceType屬性與RecordSource屬性:RecordSourceType屬性指明表格數(shù)據(jù)源類型,RecordSource屬性指定表格數(shù)據(jù)源。其中數(shù)據(jù)類型共有5種取值范圍:0-表、1-別名(默認(rèn)值)、2-提示、3-查詢(.qpr)、4-SQL語(yǔ)句。

      (2)ColumnCount屬性:指定表格的列數(shù),即一個(gè)表格對(duì)象所包含的列對(duì)象數(shù)目。(3)LinkMaster屬性:用于指定表格控件中所顯示的子表的父表名稱。(4)ChildOrder屬性:用于指定建立一對(duì)多的關(guān)聯(lián)關(guān)系,子表所要用到的索引。該屬性類似于SET ORDER命令。

      (5)RelationalExpr屬性:確定基于主表字段的關(guān)聯(lián)表達(dá)式。2常用的列屬性

      (1)ControlSource屬性:指定要在列中顯示的數(shù)據(jù)源,常見(jiàn)的是表中的一個(gè)字段。

      (2)CurrentControl屬性:指定列對(duì)象中的一個(gè)控件,該控件用以顯示和接收列中活動(dòng)單元格的數(shù)據(jù)。

      (3)Sparse屬性:用于確定CurrentControl屬性是影響列中的所有單元格還是影響活動(dòng)單元格。

      3常用的標(biāo)頭(Header)屬性

      (1)Caption屬性:指定標(biāo)頭對(duì)象的標(biāo)題文本,顯示于列頂部。(2)Alignment屬性:指定標(biāo)題文本在對(duì)象中顯示的對(duì)齊方式??键c(diǎn)22 頁(yè)框(PageFrame)控件

      頁(yè)框是包含頁(yè)面(Page)的容器對(duì)象,其常用屬性如下。

      (1)PageCount屬性:用于指明一個(gè)頁(yè)框?qū)ο笏捻?yè)對(duì)象的數(shù)量。最小值為0,最大值為99。

      (2)Pages屬性:該屬性是一個(gè)數(shù)組,用于存取頁(yè)框中的某個(gè)頁(yè)對(duì)象。(3)Tabs屬性:指定頁(yè)框中是否顯示頁(yè)面標(biāo)簽欄。

      (4)TabStretch屬性:如果頁(yè)面標(biāo)題文本太長(zhǎng),可通過(guò)設(shè)置該屬性利用多行顯示。其中0表示多重行,1表示單行(默認(rèn)值)。

      (5)ActivePage屬性:返回頁(yè)框中活動(dòng)頁(yè)的頁(yè)號(hào),或使頁(yè)框中的指定頁(yè) 7.1菜單設(shè)計(jì)

      9.1 Visual FoxPro系統(tǒng)菜單 考點(diǎn)1 菜單結(jié)構(gòu) Visual FoxPro支持兩種類型的菜單:條形菜單和彈出式菜單。菜單項(xiàng)的名稱顯示于屏幕供用戶識(shí)別,菜單及菜單項(xiàng)的內(nèi)部名稱或選項(xiàng)序號(hào)則用于在代碼中引用。每一個(gè)菜單項(xiàng)都可以選擇設(shè)置一個(gè)熱鍵和一個(gè)快捷鍵。無(wú)論哪種類型的菜單,當(dāng)選擇某個(gè)選項(xiàng)時(shí)都會(huì)有一定的動(dòng)作,這個(gè)動(dòng)作可以是下列3種情況之一:執(zhí)行一條命令、執(zhí)行一個(gè)過(guò)程或激活另一個(gè)菜單??键c(diǎn)2 系統(tǒng)菜單 Visual FoxPro系統(tǒng)菜單是一個(gè)典型的菜單系統(tǒng),其主菜單是一個(gè)條形菜單。條形菜單的內(nèi)部名字為_(kāi)MSYSMENU,也可看做是整個(gè)菜單系統(tǒng)的名字。

      條形菜單中常見(jiàn)選項(xiàng)的名稱及內(nèi)部名字如表9-1所示,各彈出式菜單的內(nèi)部名字如表9-2所示。表9-3的是“編輯”菜單中常用選項(xiàng)的選項(xiàng)名稱和內(nèi)部名字。表9-1 主菜單(MSYSMENU)常見(jiàn)選項(xiàng)

      表9-2 彈出式菜單的內(nèi)部名字

      表9-3 “編輯”菜單(_MEDIT)常用選項(xiàng)

      通過(guò)SET SYSMENU命令可以允許或禁止在程序執(zhí)行時(shí)訪問(wèn)系統(tǒng)菜單,也可以重新配置系統(tǒng)菜單,格式如下。

      SET SYSMENU ON|OFF AUTOMATIC |TO[<彈出式菜單名表>] |TO[<條形菜單項(xiàng)名表>] |TO[DEFAULT]|SAVE|NOSAVE 小提示:

      如不帶任何參數(shù),直接SET SYSMENU TO命令,將屏蔽系統(tǒng)菜單,使系統(tǒng)菜單不可用。9.2 下拉式菜單設(shè)計(jì)

      考點(diǎn)3 菜單設(shè)計(jì)的基本過(guò)程

      用菜單設(shè)計(jì)器設(shè)計(jì)下拉式菜單的基本過(guò)程如下。(l)調(diào)用菜單設(shè)計(jì)器。

      (2)在“菜單設(shè)計(jì)器”窗口中定義菜單,指定菜單的各項(xiàng)內(nèi)容,定義完成后,通過(guò)菜單命令“保存”或直接使用快捷鍵Ctrl+W保存菜單。

      (3)通過(guò)菜單命令“菜單”*“生成”命令,產(chǎn)生可執(zhí)行的菜單程序文件(MPR)。

      (4)在命令窗口中,使用DO命令執(zhí)行菜單文件,此處的文件擴(kuò)展名MPR不能默認(rèn)。菜單設(shè)計(jì)的基本流程如圖9-1所示。

      圖9-1 菜單設(shè)計(jì)的基本流程圖 考點(diǎn)4 定義菜單

      1“菜單設(shè)計(jì)器”窗口

      “菜單設(shè)計(jì)器”窗口每頁(yè)顯示和定義一個(gè)菜單,可以是條形菜單(菜單欄),也可以是彈出式菜單(子菜單)?!安藛卧O(shè)計(jì)器”窗口打開(kāi)時(shí),首先顯示和定義的是條形菜單,即主菜單名。窗口的左邊是一個(gè)列表框,其中每一行定義當(dāng)前菜單的一個(gè)菜單項(xiàng),包括“菜單名稱”、“結(jié)果”和“選項(xiàng)”3列內(nèi)容(如圖9-2所示)。(1)“菜單名稱”列。(2)“結(jié)果”列。(3)“選項(xiàng)”列。2“顯示”菜單

      在菜單設(shè)計(jì)一器環(huán)境下,系統(tǒng)“顯示”菜單會(huì)出現(xiàn)兩條命令。(1)“常規(guī)選項(xiàng)”對(duì)話框。(2)“菜單選項(xiàng)”對(duì)話框。

      圖9-2 “菜單設(shè)計(jì)器”窗口 考點(diǎn)5 用編程方式定義菜單

      無(wú)論是條形菜單還是彈出式菜單,都可以通過(guò)命令進(jìn)行定義和設(shè)計(jì)。此處介紹幾種有關(guān)菜單定義的簡(jiǎn)單命令。(1)條形菜單定義。(2)彈出式菜單定義。

      考點(diǎn)6 為頂層表單添加菜單

      為頂層表單添加下拉式菜單的方法和過(guò)程如下。(1)在“菜單設(shè)計(jì)器”窗口中設(shè)計(jì)好下拉式菜單。

      (2)打開(kāi)“常規(guī)選項(xiàng)”對(duì)話框,選中對(duì)話框右下角的“頂層表單”復(fù)選框。(3)將表單的ShowWindow屬性設(shè)置為2,使之成為頂層表單。(4)在表單的Init事件中添加調(diào)用菜單的程序代碼: DO<文件名>WITH This[,“<菜單名>”] 此處的<文件名>是指被調(diào)用的菜單程序文件(MPR),<菜單名>是為被添加的下拉式菜單的條形菜單指定的一個(gè)內(nèi)部名字。

      (5)在表單的Destroy事件中添加清除菜單的程序代碼: RELEASE MENU<菜單名>[EXTENDED] 其中EXTENDED表示在清除條形菜單時(shí)一起清除其下屬的所有子菜單。9.3 快捷菜單設(shè)計(jì)

      考點(diǎn)7 快捷菜單的建立與執(zhí)行

      與下拉式菜單相比,快捷菜單沒(méi)有條形菜單,只有彈出式菜單。建立快捷菜單的方法和過(guò)程如下。

      (1)打開(kāi)“新建”對(duì)話框二

      (2)在“新建”對(duì)話框中選擇“菜單”選項(xiàng).單擊“新建文件”按鈕。

      (3)在“新建菜單”對(duì)話框中選擇“快捷菜單”選項(xiàng),打開(kāi)“快捷菜單設(shè)計(jì)器”窗口。

      (4)用與設(shè)計(jì)下拉式菜單相似的方法,在“快捷菜單設(shè)計(jì)器”窗口中設(shè)計(jì)快捷菜單,生成菜單程序文件。

      (5)在快捷菜單的“清理”代碼中添加清除菜單的命令,使得在選擇、執(zhí)行菜單命令后能及時(shí)清除菜單,釋放其所占用的內(nèi)存空間,格式為: RELEASE POPUPS<快捷菜單名>[EXTENDED](6)在設(shè)計(jì)器環(huán)境下,選定需要添加快捷菜單的對(duì)象。

      (7)在選定對(duì)象的RightClick事件代碼中,添加調(diào)用快捷菜單程序的格式為: DO<快捷菜單程序文件名> 此處的文件擴(kuò)展名MPR不能默認(rèn)。

      第二篇:2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP考點(diǎn)

      VFP 第1章

      關(guān)于數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí) 數(shù)據(jù)庫(kù)(DB):是存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合。即是存放數(shù)據(jù)的倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。或者說(shuō)為數(shù)據(jù)庫(kù)的建立、使用和維護(hù)而配置的軟件稱為數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS):是由系統(tǒng)開(kāi)發(fā)人員開(kāi)發(fā)的。數(shù)據(jù)庫(kù)管理員(DBA):DBA的職責(zé)不包括開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)的組成:硬件系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶。其中DBMS是核心。實(shí)體間的聯(lián)系有三種:一對(duì)一、一對(duì)多、多對(duì)多。數(shù)據(jù)模型分為三種:層次模型、網(wǎng)狀模型、關(guān)系模型。

      ★其中關(guān)系模型就是用二維表的結(jié)構(gòu)來(lái)描述。一張二維表就是一個(gè)關(guān)系。

      ★關(guān)系術(shù)語(yǔ)

      ⊙關(guān)系:就是一張二維表?!言M(記錄):水平方向的行。⊙屬性(字段):垂直方向的列。

      ⊙域:屬性的取值范圍?!殃P(guān)鍵字:關(guān)系中最關(guān)鍵的那一個(gè)字段,即能夠唯一標(biāo)識(shí)一個(gè)元組。

      ⊙外部關(guān)鍵字:在兩個(gè)有聯(lián)系表中,若兩個(gè)表有相同的字段名,其中一個(gè)表中的是關(guān)鍵字,那它在另外一張表中不是關(guān)鍵字,那就是外部關(guān)鍵字。兩個(gè)表之間的字段起著“橋梁”的作用。專門的關(guān)系運(yùn)算:選擇、投影、連接。

      關(guān)于VFP系統(tǒng) 啟動(dòng):?jiǎn)螕簟伴_(kāi)始”→“程序” →“Microsoft Visual FoxPro 6.0” →“Microsoft Visual FoxPro 6.0”。退出:(1)單擊右上角的“ ”。

      (2)單擊“文件”→“退出”。

      (3)ALT+F4。

      (4)在命令窗口中鍵入QUIT。兩種工作方式:交互式 和 自動(dòng)化工作方式(程序運(yùn)行方式)。顯示與隱藏命令 窗口的三種操作方法。P24 設(shè)置VFP的默認(rèn)目錄位置:?jiǎn)螕簟肮ぞ摺薄斑x項(xiàng)” →“文件位置” →“默認(rèn)目錄” →“修改”。

      ★在學(xué)習(xí)VFP時(shí),請(qǐng)同學(xué)們一定要養(yǎng)成設(shè)置文件的默認(rèn)存儲(chǔ)位置的好習(xí)慣。

      關(guān)于項(xiàng)目管理器 新建:(1)鼠標(biāo)操作:“文件”→“新建” →勾選“項(xiàng)目” →“新建文件”。

      (2)命令操作:create project [項(xiàng)目名] 打開(kāi):(1)鼠標(biāo)操作:“文件”→“打開(kāi)”。

      (2)命令操作:modify project [項(xiàng)目名]

      ★項(xiàng)目管理器的選項(xiàng)卡(6個(gè))

      (1)數(shù)據(jù):數(shù)據(jù)庫(kù)、自由表、查詢、視圖。

      (2)文檔:表單、報(bào)表、標(biāo)簽。

      (3)類

      (4)代碼:程序、AIP庫(kù)、app應(yīng)用程序。

      (5)其他:菜單文件、文本文件、其他文件位圖文件。

      (6)全部:包括前面5個(gè)選項(xiàng)卡的所有內(nèi)容。在項(xiàng)目管理器中新建數(shù)據(jù)庫(kù):

      (1)打開(kāi)項(xiàng)目

      (2)在項(xiàng)目管理器中的“數(shù)據(jù)”選項(xiàng)卡中選中“數(shù)據(jù)庫(kù)” →“新建”。將一個(gè)數(shù)據(jù)庫(kù)添加到項(xiàng)目中

      (1)打開(kāi)項(xiàng)目

      (2)在項(xiàng)目管理器“數(shù)據(jù)”選項(xiàng)卡中選中“數(shù)據(jù)庫(kù)” →“添加”。將一個(gè)數(shù)據(jù)庫(kù)從項(xiàng)目中移去

      (1)打開(kāi)項(xiàng)目

      (2)在項(xiàng)目管理器“數(shù)據(jù)”選項(xiàng)卡中將“數(shù)據(jù)庫(kù)”展開(kāi),選中某個(gè)“數(shù)據(jù)庫(kù)名” →“移去”。

      VFP 第2章

      關(guān)于數(shù)據(jù)(常量)

      ★ 數(shù)據(jù)(常量)的類型有:⊙數(shù)值型(N):占8個(gè)字節(jié)。

      ⊙貨幣型(Y):占8個(gè)字節(jié)。

      ⊙字符型(C)

      ⊙日期型(D):占8個(gè)字節(jié)。

      ⊙日期時(shí)間型(T):占8個(gè)字節(jié)。

      ⊙邏輯型(L):占1個(gè)字節(jié)。

      ★ 變量:是專門用來(lái)存放數(shù)據(jù)用的。分為字段變量(字段名)和內(nèi)存變量。

      ★ 表達(dá)式:

      (1)數(shù)值表達(dá)式

      (2)字符表達(dá)式

      (3)日期時(shí)間表達(dá)式

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

      ⊙性別等于“男”: 性別=“男”

      ⊙姓名為“劉明明”: 姓名=“劉明明”

      ⊙工齡大于等于20: 工齡>=20

      (5)邏輯表達(dá)式

      ⊙性別等于“男”或等于“女”

      ⊙基本工資高于400元且低于1000元

      ⊙工齡大于等于20的未婚男職工

      ⊙職稱是“教授”或者是“副教授”

      ⊙工齡大于20年,職稱為“副教授”或“講師”的未婚男職工

      ⊙職稱為“副教授”且年齡不超過(guò)35歲的未婚女職工

      本章的相關(guān)命令

      ⊙ ?:打印輸出符,輸出時(shí)換行。

      ⊙ ?? :打印輸出符,輸出時(shí)不換行。

      ⊙ SET CENTURY ON:設(shè)置4位數(shù)字年份

      ⊙ SET CENTURY OFF:設(shè)置2位數(shù)字年份

      ⊙ STORE <表達(dá)式> TO <內(nèi)存變量>:內(nèi)存變量的賦值。

      ⊙ CLEAR:清除窗口屏幕中顯示的內(nèi)容。

      ⊙ DIMENSION、DECLARE:創(chuàng)建數(shù)組。

      ⊙ LIST MEMORY、DISPLAY:內(nèi)存變量的顯示。

      ⊙ CLEAR MEMORY:內(nèi)存變量的清除。

      VFP 第3章

      關(guān)于數(shù)據(jù)庫(kù)的操作 新建:(1)鼠標(biāo)操作:“文件”→“新建” →勾選“數(shù)據(jù)庫(kù)” →“新建文件”。

      (2)命令操作:Create database [數(shù)據(jù)庫(kù)名]

      ★當(dāng)“數(shù)據(jù)庫(kù)名”省略時(shí),會(huì)彈出創(chuàng)建對(duì)話框。

      (3)安全檢查:set safety on/off(新建數(shù)據(jù)庫(kù)與原數(shù)據(jù)庫(kù)重名時(shí),是否詢問(wèn))

      ★用鼠標(biāo)操作會(huì)自動(dòng)打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器 ★而命令操作僅僅是創(chuàng)建數(shù)據(jù)庫(kù),不直接出現(xiàn)該設(shè)計(jì)器。打開(kāi):(1)鼠標(biāo)操作:“文件”→“打開(kāi)” →在文件類型中選“數(shù)據(jù)庫(kù)”。

      (2)命令操作:open database [數(shù)據(jù)名]………………..★當(dāng)“數(shù)據(jù)庫(kù)名”省略時(shí),會(huì)彈出打開(kāi)對(duì)話框。

      省略號(hào)處是一些可選項(xiàng),可選項(xiàng)如下:

      ⊙EXCLUSIVE | SHARED:以獨(dú)占方式打開(kāi) | 以共享方式打開(kāi)。

      ⊙NOUPDATE:以只讀方式打開(kāi)。

      默認(rèn)值(即不寫(xiě)noupdate)是以讀/寫(xiě)方式,也為共享方式。

      ★以上可選項(xiàng)若在鼠標(biāo)操作方式時(shí)都可以在?打開(kāi)?對(duì)話框中設(shè)置

      ★為何要有?獨(dú)占?數(shù)據(jù)庫(kù)?只有在獨(dú)占的方式下才能清理數(shù)據(jù)庫(kù)

      ★用鼠標(biāo)方式打開(kāi)會(huì)同時(shí)打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器 ★而命令操作僅僅是打開(kāi)數(shù)據(jù)庫(kù),也不直接出現(xiàn)該設(shè)計(jì)器。修改:(1)鼠標(biāo)操作:等同于?打開(kāi)?操作

      (2)命令操作:modify database [數(shù)據(jù)庫(kù)名] ………

      ★當(dāng)“數(shù)據(jù)庫(kù)名”省略時(shí),則對(duì)當(dāng)前數(shù)據(jù)庫(kù)進(jìn)行修改。

      省略號(hào)處是一些可選項(xiàng),可選項(xiàng)如下:

      ⊙NOWAIT:在程序中使用,打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器后不暫停,主要為了程序連貫,實(shí)現(xiàn)無(wú)人職守。

      ⊙NOEDIT:只打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,禁止對(duì)其進(jìn)行修改

      ★其實(shí)一條modify database就可以完成:

      Create database + open database +moddify database 三條命令的功能 關(guān)閉:(1)鼠標(biāo)操作:?jiǎn)螕魯?shù)據(jù)庫(kù)設(shè)計(jì)器右上角的“ ”。僅僅只是隱藏該數(shù)據(jù)庫(kù),不是真正的關(guān)閉

      (2)命令操作:close database

      注意:這里后面不能加數(shù)據(jù)庫(kù)名,他的作用就只是關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)

      ★當(dāng)已經(jīng)打開(kāi)多個(gè)數(shù)據(jù)庫(kù)時(shí),若想關(guān)閉其他的數(shù)據(jù)庫(kù),可以設(shè)置它為當(dāng)前數(shù)據(jù)庫(kù)即可,方法有:

      (1)鼠標(biāo)操作:在工具欄的數(shù)據(jù)庫(kù)下拉框中直接選

      (2)命令操作:set database to [數(shù)據(jù)庫(kù)名]

      ★如不加名字,就會(huì)把所有都設(shè)置為非當(dāng)前數(shù)據(jù)庫(kù)

      ★close all 關(guān)閉所有文件 刪除:(1)鼠標(biāo)操作:打開(kāi)項(xiàng)目管理器→“數(shù)據(jù)”選項(xiàng)卡→單擊“數(shù)據(jù)庫(kù)”前面的?+?號(hào)→在其中選中目標(biāo)數(shù)據(jù)庫(kù)→單擊“移去”。

      (2)命令操作:DELETE DATABASE 數(shù)據(jù)庫(kù)名……

      省略號(hào)處是一些可選項(xiàng),可選項(xiàng)如下:

      ⊙deletetables:刪除數(shù)據(jù)庫(kù)的同時(shí)把其中所含表也刪除。

      ⊙recycle:將被刪除的文件暫時(shí)放于回收站,以后要是后悔,還可以還原。

      ★鼠標(biāo)操作無(wú)法在刪除數(shù)據(jù)庫(kù)的同時(shí)刪除表。

      ★如果安全檢查設(shè)置為set safety on會(huì)提示“真的刪除嗎”。

      關(guān)于表

      表分為數(shù)據(jù)庫(kù)表和自由表 不論哪種表都是由結(jié)構(gòu)部分和內(nèi)容部分組合而成的。

      一 關(guān)于數(shù)據(jù)庫(kù)表:

      在某個(gè)數(shù)據(jù)庫(kù)處于打開(kāi)狀態(tài)并且是當(dāng)前數(shù)據(jù)庫(kù)時(shí),創(chuàng)建的表就是此數(shù)據(jù)庫(kù)的一個(gè)數(shù)據(jù)庫(kù)表。

      結(jié)構(gòu)部分

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

      ①鼠標(biāo)操作:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在這里面任意位置右擊,選擇“新建表”。

      ②命令操作: open database [數(shù)據(jù)庫(kù)名]

      Create [表名]

      ★以上不論哪一種操作,都會(huì)自動(dòng)彈出“表設(shè)計(jì)器”。

      表設(shè)計(jì)器的作用是對(duì)表的結(jié)構(gòu)進(jìn)行創(chuàng)建或修改。

      表設(shè)計(jì)器的打開(kāi)與修改:①鼠標(biāo)操作:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在里面找到進(jìn)行結(jié)構(gòu)修改的表,在那張表上右擊選擇“修改”。

      ②命令操作:use [表名]

      Modify structure 表設(shè)計(jì)器的內(nèi)容:見(jiàn)書(shū)P101

      內(nèi)容部分

      表的結(jié)構(gòu)設(shè)計(jì)完成確定后,會(huì)自動(dòng)詢問(wèn)是否打開(kāi)“瀏覽器”進(jìn)行輸入數(shù)據(jù)。

      表瀏覽器的作用是對(duì)表的內(nèi)容進(jìn)行創(chuàng)建或修改。

      表瀏覽器的打開(kāi):①鼠標(biāo)操作:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在里面找到進(jìn)行結(jié)構(gòu)修改的表,在那張表上右擊選擇“瀏覽”。

      ②命令操作:Use [表名]

      Browse

      一些常用的內(nèi)容修改:

      Ⅰ 增加記錄:(1)在表的尾部增加記錄:

      ①鼠標(biāo)操作:顯示/追加方式

      ②命令操作:A)append 需要立刻輸入記錄值

      B)append blank 在表尾加一空行 再用edit,change,browse或replace更改

      (2)在表的任意位置插入記錄:insert ……

      省略號(hào)處是一些可選項(xiàng),可選項(xiàng)如下:

      ① before 如果要在當(dāng)前選中的記錄之前插入一條新記錄,就在insert后加上before,不加就會(huì)在當(dāng)前記錄之后插入新記錄。

      ② blank 在指定的記錄之前或之后插入一條空白記錄。

      ★如果表是建立了主索引或候選索引,則不能用以上的 APPEND或INSERT命令插入記錄,而必須用SQL的命令語(yǔ)句(見(jiàn)第四章)。

      Ⅱ 刪除記錄:(1)邏輯刪除(置刪除標(biāo)記)

      ①鼠標(biāo)操作:在要?jiǎng)h除的記錄行首直接打上黑塊標(biāo)記

      ②命令操作:delete [for 條件]

      ★如果不跟條件,則只邏輯刪除當(dāng)前記錄;否則邏輯刪除滿足條件的記錄。

      ★邏輯刪除記錄,不是真正的從表中刪除了,以后要是后悔,還可以恢復(fù)。

      Delete all 邏輯刪除所有記錄

      (2)恢復(fù)記錄(只能恢復(fù)邏輯刪除的記錄)

      ①鼠標(biāo)操作:把要恢復(fù)的記錄行首的黑塊去掉

      ②命令操作:recall [for 條件]

      ★如果不跟條件,則只恢復(fù)當(dāng)前記錄(如果當(dāng)前記錄沒(méi)有刪除標(biāo)記,則該命令什么事也不做);否則恢復(fù)滿足條件的記錄。

      recall all 恢復(fù)所有記錄

      (3)物理刪除:pack只刪除前面有黑塊的記錄行。

      (4)物理刪除表中全部記錄行:①ZAP(會(huì)彈出一個(gè)詢問(wèn)對(duì)話框)。

      ZAP就相當(dāng)于delete all+pack

      Ⅲ 修改記錄:(1)鼠標(biāo)操作:打開(kāi)表瀏覽器直接修改。

      (2)命令方式:

      ①用edit或 change修改當(dāng)前一條記錄和 skip 配合使用。

      ②有條件修改(滿足條件的記錄行才進(jìn)行修改,其他行不變):

      Replace [ all ] 字段名 with 表達(dá)式 [for 表達(dá)式]

      ★如果跟上[for 表達(dá)式],則是對(duì)滿足條件的記錄行才進(jìn)行修改。

      ★在不跟[for 表達(dá)式]情況下,如果跟上[ all ],則是對(duì)所有記錄進(jìn)行修改。

      ★如果[ all ] 和[for 表達(dá)式]都不指定,則是對(duì)表中的當(dāng)前記錄進(jìn)行修改。

      Ⅳ 顯示記錄:list/display [字段名列表] [for 表達(dá)式]

      ★ 不使用條件時(shí),LIST默認(rèn)顯示全部記錄,而DISPLAY則默認(rèn)顯示當(dāng)前記錄。

      ★ 指定條件時(shí),LIST和DISPLAY功能相同。

      Ⅴ 查詢定位:(1)鼠標(biāo)操作:打開(kāi)表瀏覽器,用鼠標(biāo)直接選中目標(biāo)記錄行。

      (2)命令操作:① goto/go [記錄號(hào)/top/bottom]

      ②skip [數(shù)字]

      ③ locate for 表達(dá)式………… continue

      二 關(guān)于自由表

      結(jié)構(gòu)部分

      (1)創(chuàng)建自由表:在沒(méi)有任何數(shù)據(jù)庫(kù)打開(kāi)的狀態(tài)下,新建的表就是自由表。

      ①鼠標(biāo)操作:“文件”→“新建” → 選擇“表” →單擊“新建文件”

      ②命令操作:create [表名]

      (2)修改:(自由表的表設(shè)計(jì)器的使用)

      ①鼠標(biāo)操作:“文件”→“打開(kāi)” → “顯示” →“表設(shè)計(jì)器”。

      ②命令操作:use [表名]

      Modify structure

      內(nèi)容部分(自由表的瀏覽器的使用)

      ①鼠標(biāo)操作:“文件”→“打開(kāi)”→“顯示”→“瀏覽xx表”。

      ②命令操作:use [表名]

      Browse 三 自由表和數(shù)據(jù)庫(kù)表之間的轉(zhuǎn)換 自由表→數(shù)據(jù)庫(kù)表:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器→在里面空白處右擊→選擇“添加表”。數(shù)據(jù)庫(kù)表→自由表:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器→在要轉(zhuǎn)換的表上右擊→選“刪除”。

      在彈出的對(duì)話框中根據(jù)題目選擇?移去?或?刪除?

      關(guān)于索引:

      索引就像目錄:目的是為了便于快速查詢數(shù)據(jù);索引是對(duì)表中記錄按某種邏輯順序重新排列。分類:①主索引:字段或表達(dá)式不允許有重復(fù)值,且一個(gè)表只能有一個(gè)主索引,只有數(shù)據(jù)庫(kù)表才可以建。

      ②侯選索引:字段或表達(dá)式不允許有重復(fù)值,但一個(gè)表可以有多個(gè)侯選索引。

      ③唯一索引:字段或表達(dá)式允許有重復(fù)值,但重復(fù)的值只出現(xiàn)一次,一個(gè)表中可以有多個(gè)唯一索引。

      ④普通索引:字段或表達(dá)式允許有重復(fù)值,一個(gè)表可以有多個(gè)普通索引。創(chuàng)建:

      I 鼠標(biāo)操作:①打開(kāi)此表的表設(shè)計(jì)器,選擇要建立索引的字段,在其同行的?索引?那一列中,按照題目要求選?升序?或?降序?(題目若無(wú)要求,則選“升序”)。

      ②點(diǎn)擊 ?索引?選項(xiàng)卡,在其中的?索引類型?中按照題目要求

      進(jìn)行填寫(xiě)。

      Ⅱ 命令操作建立索引:

      Index on 表達(dá)式(字段名)tag索引名……

      省略號(hào)處是一些可選項(xiàng),可選項(xiàng)如下:

      ①UNIQUE 唯一索引

      ②CANDIDATE 候選索引

      ③什么都不跟就是 普通索引

      ★命令操作無(wú)法建立主索引 索引的擴(kuò)展名:

      ①.idx 非結(jié)構(gòu)單索引

      ②.cdx(非默認(rèn)名)非結(jié)構(gòu)復(fù)合索引

      ③.cdx(與表同名)結(jié)構(gòu)復(fù)合索引 使用索引:

      ① set index to [索引文件名] 打開(kāi)索引文件

      ② set order to 索引序號(hào)/索引名 設(shè)置當(dāng)前索引

      ③ delete tag 索引名/all 刪除索引

      關(guān)于表間的永久聯(lián)系

      A表和B表建立永久聯(lián)系:找到A和B的共同字段XXX ,以XXX為索引表達(dá)式在A表中建立一個(gè)主索引 ,在B表中建立一個(gè)普通索引 ,從主索引拖到普通索引即可。

      關(guān)于參照完整性約束

      ★插入規(guī)則 ★更新規(guī)則 ★刪除規(guī)則

      注:插入規(guī)則無(wú)“級(jí)聯(lián)”。

      關(guān)于多工作區(qū) 指定工作區(qū):select 工作區(qū)號(hào)/表名

      選擇當(dāng)前未被使用的最小工作區(qū):select 0

      ★ VFP中一次最多可以同時(shí)打開(kāi)32767個(gè)表,因?yàn)橥瑫r(shí)只能打開(kāi)32767個(gè)工作區(qū),就是說(shuō)一個(gè)工作區(qū)只能同時(shí)打開(kāi)一個(gè)表。使用不同工作區(qū)的表:

      in 工作區(qū)號(hào)/表名

      例:seek 表達(dá)式 order 索引名 in 工作區(qū)號(hào)/表名 表間的臨時(shí)聯(lián)系: ★set relation

      例子:use 學(xué)生 in 1 order 學(xué)號(hào)

      use 成績(jī) in 2 order 學(xué)號(hào)

      set relation to 學(xué)號(hào) into 成績(jī)

      關(guān)于排序

      將表中記錄物理地按順序排列:

      sort to 新表名 on 字段名 [/A|/D][/C] VFP 第4章

      SQL語(yǔ)言(數(shù)據(jù)查詢)

      一、投影:SELECT 字段 FROM 表名

      題目:1.對(duì)職工表進(jìn)行查詢,顯示職工的職工號(hào)。

      2.對(duì)職工表進(jìn)行查詢,顯示所有信息(即所有字段)。

      二、選擇:SELECT 字段 FROM 表名 WHERE 條件

      題目:3.對(duì)職工表進(jìn)行查詢,只顯示工資多于1230元職工的職工號(hào)。

      例如:1。從職工關(guān)系中檢索(查詢)所有的工資值。

      2。查詢職工表中有哪些倉(cāng)庫(kù)號(hào)。

      三、連接:SELECT 字段 FROM 表1,表2 WHERE 表1.字段名=表2.字段名

      題目:1。對(duì)倉(cāng)庫(kù)表和職工表進(jìn)行查詢,查詢顯示所有字段。

      2。查找“E1”號(hào)職工所在的城市。查詢顯示職工號(hào)和城市。

      3。查找工資多于1230元的職工號(hào)和他們所在的城市。

      嵌套查詢:SELECT 城市 FROM 倉(cāng)庫(kù)WHERE倉(cāng)庫(kù)號(hào)IN(SELECT倉(cāng)庫(kù)號(hào)FROM 職工WHERE 工資=1250)

      BETWEEN……AND運(yùn)算符(…和…之間)

      題目:1。檢索出工資在1220元到1240元范圍內(nèi)的職工信息。

      LIKE運(yùn)算符

      例如:SELECT * FROM 供應(yīng)商 WHERE 供應(yīng)商名 LIKE “%廠”

      SELECT * FROM 供應(yīng)商 WHERE 供應(yīng)商號(hào) LIKE “S_”

      ★%表示0個(gè)或多個(gè)字符;_(下劃線)表示一個(gè)字符。

      AS的作用

      例如:1。查詢“E1”的工資,顯示時(shí)用”月薪”代替”工資”字段。

      SELECT 工資 AS 月薪 FROM 職工 WHERE 職工號(hào)=“E1”

      連接查詢的另一種寫(xiě)法:SELECT * FROM 倉(cāng)庫(kù) JOIN 職工 ON 倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)=職工.倉(cāng)庫(kù)號(hào)

      簡(jiǎn)單的計(jì)算查詢:COUNT(計(jì)數(shù))、SUM(求和)、AVG(計(jì)算平均值)、MAX(求最大值)、MIN(求最小值)

      例如:1。求職工表中的記錄的個(gè)數(shù):SELECT COUNT(*)FROM 職工

      2。求職工表中的工資總和:SELECT SUM(工資)FROM 職工

      3。求職工表中的平均工資:SELECT AVG(工資)FROM 職工

      4。求職工表中的最大的工資值:SELECT MAX(工資)FROM 職工

      5。求職工表中的最小的工資值:SELECT MIN(工資)FROM 職工

      空值(.NULL.)查詢

      題目:1。找出尚未確定供應(yīng)商號(hào)的訂購(gòu)單信息,查詢顯示所有字段。

      排序查詢:SELECT 字段名 FROM 表名 WHERE 條件 ORDER BY 字段 [ASC/DESC]

      題目:1。對(duì)職工表進(jìn)行查詢,查詢顯示所有字段,查詢結(jié)果按工資升序排序。

      2。對(duì)職工表進(jìn)行查詢,查詢顯示所有字段,查詢結(jié)果按職工號(hào)降序排序。

      3。對(duì)職工表進(jìn)行查詢,查詢顯示所有字段,查詢結(jié)果先按倉(cāng)庫(kù)號(hào)降序排序,再按工資升序排序。

      分組查詢:SELECT 字段名 FROM 表名 WHERE 條件 GROUP BY 字段名 [HAVING 條件]

      題目:1。查詢所有倉(cāng)庫(kù)的職工的工資總和。查詢顯示的字段為總工資。

      2。查詢每個(gè)倉(cāng)庫(kù)中職工的工資總和。查詢顯示的字段為倉(cāng)庫(kù)號(hào)和總工資。

      3。求至少有兩個(gè)職工的每個(gè)倉(cāng)庫(kù)的平均工資,查詢顯示的字段為倉(cāng)庫(kù)號(hào)、個(gè)數(shù)和平均工資。

      查詢語(yǔ)句的后面還可以跟如下可選項(xiàng):

      ⊙INTO ARRAY 數(shù)組名 將查詢的結(jié)果存放到數(shù)組(盒子)中。

      ⊙INTO CURSOR 表名 將查詢的結(jié)果存放到一個(gè)臨時(shí)表中。

      ⊙INTO DBF/TABLE 表名 將查詢的結(jié)果存放到一個(gè)永久表中。

      ⊙TO FILE 文件名 將查詢的結(jié)果存放到一個(gè)文本文件中。

      ⊙TO PRINTER 將查詢的結(jié)果通過(guò)打印機(jī)輸出。

      UNION運(yùn)算符的作用:

      例如:1。如下查詢語(yǔ)句是查詢北京和上海的倉(cāng)庫(kù)信息。

      SELECT * FROM 倉(cāng)庫(kù) WHERE 城市=“北京”;

      UNION;

      SELECT * FROM 倉(cāng)庫(kù) WHERE 城市=“上海” TOP短語(yǔ)的使用

      例如:1。對(duì)職工表進(jìn)行查詢,只顯示工資最高的3位的職工的信息(顯示所有字段)。

      SELECT * TOP 3 FROM 職工 ORDER BY 工資 DESC

      SQL語(yǔ)言(數(shù)據(jù)操作)

      一、插入:INSERT INTO 表名 VALUES(……記錄值……)

      二、更新:UPDATE 表名 SET 字段名=表達(dá)式 [WHERE 條件]

      題目:1。對(duì)職工表中的工資值進(jìn)行修改,在職工原來(lái)的工資值上再加上1000元。

      2。對(duì)職工表中的工資值進(jìn)行修改,只對(duì)倉(cāng)庫(kù)號(hào)為”WH1”中的職工在原來(lái)的工資值上再加上1000元。

      三、刪除:DELETE FROM 表名 [WHERE 條件]

      題目:1。刪除倉(cāng)庫(kù)表中全部記錄 DELETE FROM 倉(cāng)庫(kù)

      2。刪除倉(cāng)庫(kù)關(guān)系中倉(cāng)庫(kù)號(hào)值是”WH2”的元組。

      SQL語(yǔ)言(數(shù)據(jù)定義)

      一、表結(jié)構(gòu)的定義:CREATE TABLE 表名(字段名1…,字段名2…字段名n…)

      二、表結(jié)構(gòu)的刪除:DROP TABLE 表名

      三、表結(jié)構(gòu)的修改:ALTER TABLE 表名 …………

      題目:1。向”訂購(gòu)單”表增加一個(gè)“總金額”字段,字段類型為貨幣型。

      2。向”訂購(gòu)單”表增加一個(gè)“總金額”字段,字段類型為貨幣型。并且為該字段設(shè)置有效性規(guī)則。

      3。將”訂購(gòu)單”表中的“訂購(gòu)單號(hào)”字段的類型修改為字符型,寬度修改為6。

      4。將”訂購(gòu)單”表中的“總金額”字段的有效性規(guī)則進(jìn)行修改。

      5。將”訂購(gòu)單”表中的“總金額”字段的有效性規(guī)則刪除。

      6。將”訂購(gòu)單”表中的“總金額”字段名改名為“金額”

      7。將”訂購(gòu)單”表中的“金額”字段刪除掉。

      8。為”訂購(gòu)單”表中的“供應(yīng)商號(hào)”字段設(shè)置為候選索引。

      9。將”訂購(gòu)單”表中的候選索引(供應(yīng)商號(hào))刪除。

      關(guān)于視圖(虛擬表):★本地視圖 ★遠(yuǎn)程視圖 ★帶參數(shù)的視圖

      定義:CREATE VIEW 視圖名 AS 查詢語(yǔ)句

      題目:1。已知表結(jié)構(gòu)如幻燈片上所示。下面我們想根據(jù)“職工”表創(chuàng)建一個(gè)視圖,視圖名為CHENHAO。該視圖中只包含倉(cāng)庫(kù)號(hào)和職工號(hào)兩個(gè)字段。

      CREATE VIEW CHENHAO AS SELECT 倉(cāng)庫(kù)號(hào),職工號(hào) FROM 職工

      刪除:DROP VIEW 視圖名

      VFP 第5章

      關(guān)于查詢?cè)O(shè)計(jì)器

      作用:利用查詢?cè)O(shè)計(jì)器可以用鼠標(biāo)操作來(lái)完成一些簡(jiǎn)單的查詢。

      創(chuàng)建:①鼠標(biāo)操作:“文件”→“新建” →勾選“查詢” →“新建文件”。

      ②命令操作:CREATE QUERY [文件名]

      ★ 如果不指定文件名,系統(tǒng)將自動(dòng)賦予一個(gè)指定的名稱,如“查詢

      1、查詢2……”。

      題目:

      一、利用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢,從xuesheng和chengji表中查詢數(shù)學(xué)、英語(yǔ)和信息技術(shù)三門課都在85分以上(含),或者數(shù)學(xué)、英語(yǔ)都在90分以上(含)而信息技術(shù)在75分以上(含)的學(xué)生記錄。查詢結(jié)果包含學(xué)號(hào)、姓名、數(shù)學(xué)、英語(yǔ)和信息技術(shù)5個(gè)字段;各記錄按學(xué)號(hào)將序排序;查詢?nèi)ハ驗(yàn)楸韙able1。最后將查詢保存在query1.qpr文件中,并運(yùn)行該查詢。

      注:在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第32套中的簡(jiǎn)單應(yīng)用中的第1小題)。

      步驟:

      1.“文件”→“新建” →勾選“查詢” →“新建文件”。

      2.選擇“xuesheng”和“chengji”表,在“聯(lián)接條件”對(duì)話框中,直接按“確定”按鈕。在“添加表或視圖”中,再按“關(guān)閉”按鈕。

      3.單擊“字段”選項(xiàng)卡,選擇題目要求的字段添加到“選定字段”列表框中。

      4.單擊“篩選”選項(xiàng)卡,在“字段名”選擇“Chengji.數(shù)學(xué)”,在“條件”處選擇“>=”在“字段名”,在“實(shí)例”處輸入“85”,在“邏輯”處選擇“AND”;移到下一個(gè)條件處,在“字段名”選擇“Chengji.英語(yǔ)”,在“條件”處選擇“>=”,在“實(shí)例”處輸入“85”,在“邏輯”處選擇“AND”;移到下一個(gè)條件處,在“字段名”選擇“Chengji.信息技術(shù)”,在“條件”處選擇“>=”,在“實(shí)例”處輸入“85”。在“邏輯”處選擇“OR”;在“字段名”選擇“Chengji.數(shù)學(xué)”,在“條件”處選擇“>=”在“字段名”,在“實(shí)例”處輸入“90”,在“邏輯”處選擇“AND”;移到下一個(gè)條件處,在“字段名”選擇“Chengji.英語(yǔ)”,在“條件”處選擇“>=”,在“實(shí)例”處輸入“90”,在“邏輯”處選擇“AND”;移到下一個(gè)條件處,在“字段名”選擇“Chengji.信息技術(shù)”,在“條件”處選擇“>=”,在“實(shí)例”處輸入“75”。

      5.單擊“排序依據(jù)”選項(xiàng)卡,選擇“Xuesheng.學(xué)號(hào)”并選擇“降序”,接著單擊“添加”按鈕。

      6.單擊“查詢輸出去向”菜單項(xiàng),在“查詢?nèi)ハ颉睂?duì)話框中,單擊“表”按鈕,在“表名”處輸入“table1”,再單擊“確定”按鈕。

      7.保存該查詢并運(yùn)行。

      運(yùn)行:①鼠標(biāo)操作:“查詢”→“運(yùn)行查詢”;或者單擊工具欄上的“運(yùn)行”按鈕。

      ②命令操作:DO 文件名 ★在有同名的文件時(shí),這時(shí)文件名后一定要跟擴(kuò)展名.qpr。

      二、利用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢,從xuesheng和chengji表中找出所有1982年出生的漢族學(xué)生記錄。查詢結(jié)果包含學(xué)號(hào)、姓名、數(shù)學(xué)、英語(yǔ)和信息技術(shù)5個(gè)字段;各記錄按學(xué)號(hào)將序排序;查詢?nèi)ハ驗(yàn)楸韙able1。最后將查詢保存在query1.qpr文件中,并運(yùn)行該查詢。

      注:在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第30套中的簡(jiǎn)單應(yīng)用中的第1小題)。

      步驟:

      1.“文件”→“新建” →勾選“查詢” →“新建文件”。

      2.選擇“xuesheng”和“chengji”表,在“聯(lián)接條件”對(duì)話框中,直接按“確定”按鈕。在“添加表或視圖”中,再按“關(guān)閉”按鈕。

      3.單擊“字段”選項(xiàng)卡,選擇題目要求的字段添加到“選定字段”列表框中。

      4.單擊“篩選”選項(xiàng)卡,在“字段名”選擇“表達(dá)式”,在“表達(dá)生成器”對(duì)話框中,輸入表達(dá)式“YEAR(Xuesheng.出生日期)”,單擊“確定”按鈕,在“條件”處選擇“=”,在“實(shí)例”處輸入“1982”,在“邏輯”處選擇“AND”,移到下一個(gè)條件處,在“字段名”選擇“Xuesheng.民族”,在“條件”處選擇“=”,在“實(shí)例”處輸入““漢””。

      5.單擊“排序依據(jù)”選項(xiàng)卡,選擇“Xuesheng.學(xué)號(hào)”并選擇“降序”,接著單擊“添加”按鈕。

      6.單擊“查詢輸出去向”菜單項(xiàng),在“查詢?nèi)ハ颉睂?duì)話框中,單擊“表”按鈕,在“表名”處輸入“table1”,再單擊“確定”按鈕。

      7.保存該查詢并運(yùn)行。

      查詢中的查詢?nèi)ハ蛴校簽g覽(默認(rèn)的查詢?nèi)ハ?、臨時(shí)表、表、圖形、屏幕、報(bào)表和標(biāo)簽。

      關(guān)于視圖設(shè)計(jì)器

      ★ 只比查詢?cè)O(shè)計(jì)器多了一個(gè)“更新條件”選項(xiàng)卡。

      ★ 視圖設(shè)計(jì)器中無(wú)法設(shè)置“查詢?nèi)ハ颉薄?/p>

      作用:利用視圖設(shè)計(jì)器可以用鼠標(biāo)操作來(lái)建立一個(gè)視圖。

      創(chuàng)建:①鼠標(biāo)操作:“文件”→“新建” →勾選“視圖” →“新建文件”。

      ②命令操作:CREATE VIEW

      ★ 只有在數(shù)據(jù)庫(kù)中才可以建立視圖,因?yàn)橐晥D是存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中的。

      題目:

      一、首先創(chuàng)建數(shù)據(jù)庫(kù)cj_m,并向其中添加xuesheng表和chengji表。然后在數(shù)據(jù)庫(kù)中創(chuàng)建視圖view1:利用該視圖只能查詢數(shù)學(xué)、英語(yǔ)和信息技術(shù)三門課中至少有一門不及格(小于60分)的學(xué)生記錄;查詢結(jié)果包含學(xué)號(hào)、姓名、數(shù)學(xué)、英語(yǔ)和信息技術(shù)5個(gè)字段;各記錄按學(xué)號(hào)將序排序。最后利用剛創(chuàng)建的視圖view1查詢視圖中的全部信息,并將查詢結(jié)果存放在表table2中。

      注:在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第30套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      步驟:

      1.“文件”→“新建” →勾選“數(shù)據(jù)庫(kù)” →“新建文件”,數(shù)據(jù)庫(kù)名為cj_m。

      2.將xuesheng表和chengji表分別添加到該數(shù)據(jù)庫(kù)中。

      3.“文件”→“新建” →勾選“視圖” →“新建文件”。

      4.選擇“xuesheng”和“chengji”表,在“聯(lián)接條件”對(duì)話框中,直接按“確定”按鈕。在“添加表或視圖”中,再按“關(guān)閉”按鈕。

      5.單擊“字段”選項(xiàng)卡,選擇題目要求的字段添加到“選定字段”列表框中。

      6.單擊“篩選”選項(xiàng)卡,在“字段名”選擇“Chengji.數(shù)學(xué)”,在“條件”處選擇“<”,在“實(shí)例”處輸入“60”,在“邏輯”處選擇“OR”,移到下一個(gè)條件處,在“字段名”選擇“Chengji.英語(yǔ)”,在“條件”處選擇“<”,在“實(shí)例”處輸入“60”,在“邏輯”處選擇“OR”,移到下一個(gè)條件處,在“字段名”選擇“Chengji.信息技術(shù)”,在“條件”處選擇“<”,在“實(shí)例”處輸入“60”。

      7.單擊“排序依據(jù)”選項(xiàng)卡,選擇“Xuesheng.學(xué)號(hào)”并選擇“降序”,接著單擊“添加”按鈕。

      8.保存該視圖,在“保存”對(duì)話框中輸入視圖名“view1”。

      9.接著在命令窗口輸入:select * from view1 into table table2。

      上機(jī)題目:課后請(qǐng)同學(xué)們一定要練習(xí)下面的上機(jī)試題。

      一、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第32套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      二、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第33套中的簡(jiǎn)單應(yīng)用中的第1、2小題)。

      表單、菜單與報(bào)表

      關(guān)于表單設(shè)計(jì)器

      表單題型

      類型一

      Ⅰ 一個(gè)文本框 兩個(gè)命令按鈕

      典型題型:新建一個(gè)表單,其上有一個(gè)文本框,兩個(gè)命令按鈕,一個(gè)叫?查詢?,一個(gè)叫?退出?,當(dāng)單擊查詢按鈕時(shí),會(huì)在文本框中顯示……的……,當(dāng)單擊退出按鈕時(shí),會(huì)退出表單

      解題步驟:

      (1)新建表單

      (2)添加好一個(gè)文本框 和 兩個(gè)命令按鈕, 總共三個(gè)控件

      (3)給兩個(gè)命令按鈕改標(biāo)題

      (4)在查詢按鈕上右擊, 添加命令代碼:Select …… from …… where …… into array aaa

      Thisform.text1.value=aaa

      (5)在退出命令按鈕上右擊, 添加命令代碼:Thisform.release

      Ⅱ 兩個(gè)文本框 兩個(gè)命令按鈕

      典型題型:新建一個(gè)表單,其上有兩個(gè)文本框,兩個(gè)命令按鈕,一個(gè)叫?查詢?,一個(gè)叫?退出?,在第一文本框中輸入條件,當(dāng)單擊查詢按鈕時(shí),會(huì)在第二個(gè)文本框中顯示……的……,當(dāng)單擊退出按鈕時(shí),會(huì)退出表單

      解題步驟:

      (1)新建表單

      (2)添加好兩個(gè)文本框 和 兩個(gè)命令按鈕, 總共四個(gè)控件

      (3)給兩個(gè)命令按鈕改標(biāo)題

      (4)在查詢按鈕上右擊, 添加命令代碼如下

      Select …… from …… where ……=thisform.text1.value into array aaa

      Thisform.text2.value=aaa

      (5)在退出命令按鈕上右擊, 添加命令代碼:Thisform.release 類型二

      Ⅰ 一個(gè)表格控件 兩個(gè)命令按鈕

      典型題型:新建一個(gè)表單,其上有一個(gè)表格控件,兩個(gè)命令按鈕,一個(gè)叫?查詢?,一個(gè)叫?退出?,當(dāng)單擊查詢按鈕時(shí),會(huì)在表格控件中顯示……的……,當(dāng)單擊退出按鈕時(shí),會(huì)退出表單

      解題步驟:

      (1)新建表單

      (2)添加好一個(gè)表格控件 和 兩個(gè)命令按鈕, 總共三個(gè)控件

      (3)給兩個(gè)命令按鈕改標(biāo)題

      (4)修改表格控件的一些屬性:columncount,列標(biāo)題,recordsourcetype

      (5)在查詢按鈕上右擊, 添加命令代碼如下

      Thisform.grid1.recordsource=”Selec……from …… where …… into cursor aaa”

      (6)在退出命令按鈕上右擊, 添加命令代碼:Thisform.release

      Ⅱ 一個(gè)文本框 一個(gè)表格控件 兩個(gè)命令按鈕

      典型題型:新建一個(gè)表單,其上有一個(gè)文本框,一個(gè)表格控件,兩個(gè)命令按鈕,一個(gè)叫?查詢?,一個(gè)叫?退出?,當(dāng)單擊查詢按鈕時(shí),會(huì)在表格控件中顯示……的……,當(dāng)單擊退出按鈕時(shí),會(huì)退出表單

      解題步驟:

      (1)新建表單

      (2)添加好一個(gè)文本框 一個(gè)表格控件 和 兩個(gè)命令按鈕, 總共四個(gè)控件

      (3)給兩個(gè)命令按鈕改標(biāo)題

      (4)修改表單控件的一些屬性:columncount,列標(biāo)題,recordsourcetype

      (5)在查詢按鈕上右擊, 添加命令代碼如下

      Thisform.grid1.recordsource=”Selec……from……where……=thisform.text1.value;into cursor aaa”

      (6)在退出命令按鈕上右擊, 添加命令代碼:Thisform.release

      表單題型

      作用:利用表單設(shè)計(jì)器可以進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)。

      創(chuàng)建:①鼠標(biāo)操作:“文件”→“新建” →勾選“表單” →“新建文件”。

      ②命令操作:CREATE FORM

      修改(打開(kāi))表單: MODIFY FORM 文件名

      運(yùn)行表單: ①鼠標(biāo)操作:“表單”→“執(zhí)行表單”;或者單擊工具欄上的“運(yùn)行”按鈕。

      ②命令操作:DO FORM 文件名

      題目: ★ 一個(gè)表格 一個(gè)命令按鈕 ★

      一、建立表單MYFORM1,在表單上添加一個(gè)表格控件(名稱為grdCourse)和一個(gè)命令按鈕(名稱Command1),命令按鈕的標(biāo)題為“退出”。表格控件是用來(lái)顯示表course的內(nèi)容(要求RecordSourceType屬性必須為0)。單擊命令按鈕能夠退出該表單。

      步驟:

      1.“文件”→“新建” →勾選“表單” →“新建文件”。

      2.在“表單設(shè)計(jì)器”中,單擊鼠標(biāo)右鍵,在彈出菜單中選擇“數(shù)據(jù)環(huán)境”菜單項(xiàng),在“打開(kāi)”對(duì)話框中選中表“course”并單擊“確定”按鈕,接著關(guān)閉“添加表或視圖”對(duì)話框。

      3.在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中,按住表“course”,然后拖動(dòng)鼠標(biāo)至“表單設(shè)計(jì)器”中,松開(kāi)鼠標(biāo)。

      4.在“表單設(shè)計(jì)器”中,選中“表格”控件,在“屬性”的RecordSourceType中選擇“0-表”。

      5.在“表單設(shè)計(jì)器”中,添加一個(gè)命令按鈕,單擊命令按鈕在“屬性”的Caption處輸入“退出”,然后雙擊“退出”命令按鈕,在“Command2.Click”編輯窗口中輸入“Thisform.Release”,接著關(guān)閉編輯窗口。

      6.保存表單,表單的文件名輸入MYFORM1,最后運(yùn)行表單。

      ★ 一個(gè)表格 兩個(gè)命令按鈕 ★

      二、建立表單MYFORM2,在表單上添加一個(gè)表格控件(名稱為grid1)和兩個(gè)命令按鈕,命令按鈕的標(biāo)題分別為“查詢”和“退出”。單擊“查詢”按鈕能夠在表格控件中顯示course表中的全部信息;單擊“退出”按鈕能夠退出該表單。

      步驟:

      1.“文件”→“新建” →勾選“表單” →“新建文件”。

      2.在“表單設(shè)計(jì)器”中,添加一個(gè)表格控件。將表格控件的RecordSourceType屬性設(shè)為“4-SQL說(shuō)明”。

      3.接著在“表單設(shè)計(jì)器”中添加兩個(gè)命令按鈕,單擊第一個(gè)命令按鈕在“屬性”的Caption處輸入“查詢”,然后雙擊“查詢”命令按鈕,在“Command1.Click”編輯窗口中輸入:thisform.grid1.RecordSource=“select * from course into cursor aaa”,接著關(guān)閉編輯窗口。

      4.單擊第二個(gè)命令按鈕在“屬性”的Caption處輸入“退出”,然后雙擊“退出”命令按鈕,在“Command2.Click”編輯窗口中輸入:thisform.release。接著關(guān)閉編輯窗口。

      5.保存表單,表單的文件名輸入MYFORM2,最后運(yùn)行表單。

      ★ 一個(gè)文本框 一個(gè)表格 兩個(gè)命令按鈕 ★

      三、建立表單MYFORM3,表單名為courseform。在表單上添加一個(gè)表格控件(名稱為grid1)、一個(gè)文本框、一個(gè)標(biāo)簽控件和兩個(gè)命令按鈕,命令按鈕的標(biāo)題分別為“查詢”和“退出”。標(biāo)簽控件的標(biāo)題為“課程號(hào)”。通過(guò)文本框來(lái)輸入課程號(hào)。單擊“查詢”按鈕,是根據(jù)文本框中的值來(lái)查詢course表中的信息,然后將查詢的結(jié)果顯示在表格控件中;單擊“退出”按鈕能夠退出該表單。

      步驟:

      1.“文件”→“新建” →勾選“表單” →“新建文件”。

      2.在“表單設(shè)計(jì)器”中,將表單的Name屬性設(shè)為“courseform”。

      3.在“表單設(shè)計(jì)器”中,添加一個(gè)表格控件。將表格控件的RecordSourceType屬性設(shè)為“4-SQL說(shuō)明”。

      4.接著在“表單設(shè)計(jì)器”中添加一個(gè)標(biāo)簽控件和一個(gè)文本框。單擊標(biāo)簽控件在“屬性”的Caption處輸入“課程號(hào)”。

      5.在“表單設(shè)計(jì)器”中添加兩個(gè)命令按鈕,單擊第一個(gè)命令按鈕在“屬性”的Caption處輸入“查詢”,然后雙擊“查詢”命令按鈕,在“Command1.Click”編輯窗口中輸入:thisform.grid1.RecordSource=“select * from course where 課程號(hào)=thisform.text1.value into cursor bbb”,接著關(guān)閉編輯窗口。

      6.單擊第二個(gè)命令按鈕在“屬性”的Caption處輸入“退出”,然后雙擊“退出”命令按鈕,在“Command2.Click”編輯窗口中輸入:thisform.release。接著關(guān)閉編輯窗口。

      7.保存表單,表單的文件名輸入MYFORM3,最后運(yùn)行表單。

      關(guān)于菜單設(shè)計(jì)器

      菜單分為:“下拉式菜單” 和 “快捷菜單”

      創(chuàng)建:①鼠標(biāo)操作:“文件”→“新建” →勾選“菜單” →“新建文件”。

      ②命令操作:MODIFY MENU [文件名]

      ★如果指定的文件名存在,則此時(shí)命令為修改;否則為建立。

      運(yùn)行菜單: DO 文件名.mpr

      ★這時(shí)文件名后一定要跟擴(kuò)展名.mpr。

      菜單的擴(kuò)展名分為:①.mnx 定義(保存)時(shí)的菜單擴(kuò)展名

      ②.mpr 生成(運(yùn)行)時(shí)的菜單擴(kuò)展名

      題目: ★ 建立下拉式菜單 ★

      一、建立菜單MYMENU1,該主菜單中的菜單項(xiàng)包括:數(shù)據(jù)維護(hù)(W)、編輯(B)、退出(R)。單擊“數(shù)據(jù)維護(hù)”彈出子菜單,該子菜單中含有3個(gè)菜單項(xiàng),分別是:錄入記錄、修改記錄和瀏覽記錄。單擊“退出”,退出該菜單,將系統(tǒng)菜單恢復(fù)為標(biāo)準(zhǔn)設(shè)置。并生成菜單程序。

      步驟:

      1.“文件”→“新建” →勾選“菜單” →“新建文件”。

      2.在“菜單設(shè)計(jì)器”中,將各個(gè)菜單項(xiàng)設(shè)置完成,然后在“退出”菜單項(xiàng)中,將“結(jié)果”設(shè)為“過(guò)程”。點(diǎn)擊“創(chuàng)建”按鈕,打開(kāi)文本編輯窗口,輸入下面兩行代碼:

      SET SYSMENU NOSAVE

      SET SYSMENU TO DEFAULT

      3.單擊“文件”菜單中的“保存”按鈕,保存該菜單的定義文件,菜單的文件名輸入MYMENU1。

      4.生成菜單程序:?jiǎn)螕簟安藛巍辈藛沃械摹吧伞泵睢?/p>

      5.運(yùn)行該菜單程序:DO MYMENU1.mpr

      ★ 在表單中添加下拉式菜單 ★

      二、創(chuàng)建一個(gè)頂層表單MYFORM(表單的標(biāo)題為“學(xué)校管理”),運(yùn)行時(shí)使該表單自動(dòng)居中。然后并在表單中添加上一題中建立好的菜單MYMENU1.mpr。

      步驟:

      1.打開(kāi)上一題中建立好的菜單文件MYMENU1,在“顯示”菜單中選擇“常規(guī)選項(xiàng)”命令,在彈出的對(duì)話框中選擇“頂層表單”復(fù)選框。然后保存并生成菜單程序。

      2.創(chuàng)建表單:“文件”→“新建” →勾選“表單” →“新建文件”。

      3.在“表單設(shè)計(jì)器”中,將表單的Caption屬性設(shè)為“學(xué)校管理”。AutoCenter屬性設(shè)為“.T.”。

      4.在“表單設(shè)計(jì)器”中,將表單的ShowWindow屬性值設(shè)置為2,目的是使其成為頂層表單。

      5.雙擊表單的空白處,在彈出的對(duì)話框中選擇Init事件,接著在表單的Init事件代碼中添加調(diào)用菜單程序的命令:DO MYMENU1.mpr WITH THIS。

      6.保存并運(yùn)行該表單。

      ★ 建立快捷菜單 并在表單中調(diào)用 ★

      三、建立一個(gè)快捷菜單MYMENU2,該快捷菜單中包括:復(fù)制、粘貼和查找三個(gè)菜單項(xiàng)。

      接著建立一個(gè)表單MYFORM2,并在該表單中調(diào)用剛剛所建立的快捷菜單。

      步驟:

      1.“文件”→“新建” →勾選“菜單” →“新建文件”。

      2.在“菜單設(shè)計(jì)器”中,將各個(gè)菜單項(xiàng)設(shè)置完成后,3.單擊“文件”菜單中的“保存”按鈕,保存該菜單的定義文件,菜單的文件名輸入MYMENU2。

      4.生成菜單程序:?jiǎn)螕簟安藛巍辈藛沃械摹吧伞泵睢?/p>

      5.接著創(chuàng)建表單:“文件”→“新建” →勾選“表單” →“新建文件”。

      6.雙擊表單的空白處,在彈出的對(duì)話框中選擇RightClick事件,接著在表單的RightClick事件代碼中添加調(diào)用菜單程序的命令:DO MYMENU2.mpr。

      7.保存并運(yùn)行該表單。

      上機(jī)題目:課后請(qǐng)同學(xué)們一定要練習(xí)下面的上機(jī)試題。

      一、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第8套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      二、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第10套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      三、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第11套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      四、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第12套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      五、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第13套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      關(guān)于報(bào)表的設(shè)計(jì)和應(yīng)用

      創(chuàng)建:①鼠標(biāo)操作:“文件”→“新建” →勾選“報(bào)表” →“新建文件”。

      ②命令操作:CREATE REPORT [報(bào)表文件名]

      ★如果不指定文件名,系統(tǒng)將自動(dòng)賦予一個(gè)指定的名稱,如“報(bào)表

      1、報(bào)表2……”。

      打開(kāi)(修改)報(bào)表:MODIFY REPORT 文件名

      打印(預(yù)覽)報(bào)表:REPORT FORM 文件名 [PREVIEW]

      題目:

      一、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第5套中的簡(jiǎn)單應(yīng)用中的第1小題)。

      二、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第9套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      三、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第14套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      四、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第3套中的簡(jiǎn)單應(yīng)用中的第2小題)。

      五、在全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)試題中(第1套中的綜合應(yīng)用題)。

      本書(shū)相關(guān)知識(shí)點(diǎn)

      相關(guān)命令 建立(修改)程序文件: MODIFY COMMAND [文件名]

      ★如果指定的文件名存在,則此時(shí)命令為修改;否則為建立。

      運(yùn)行程序: DO 文件名 ★在有同名的文件時(shí),這時(shí)文件名后一定要跟擴(kuò)展名。建立查詢文件: CREATE QUERY [文件名]

      ★如果不指定文件名,系統(tǒng)將自動(dòng)賦予一個(gè)指定的名稱,如“查詢

      1、查詢2……”。

      運(yùn)行查詢: DO 文件名 ★在有同名的文件時(shí),這時(shí)文件名后一定要跟擴(kuò)展名。建立視圖: CREATE VIEW

      打開(kāi)視圖: USE 視圖名 ★只有當(dāng)數(shù)據(jù)庫(kù)為打開(kāi)狀態(tài)時(shí)才有用。創(chuàng)建表單: CREATE FROM

      修改(打開(kāi))表單: MODIFY FORM 文件名

      運(yùn)行表單: DO FORM 文件名 建立(修改)菜單文件: MODIFY MENU [文件名] ★如果指定的文件名存在,則此時(shí)命令為修改;否則為建立。

      運(yùn)行菜單程序: DO 文件名 ★這時(shí)文件名后一定要跟擴(kuò)展名.mpr。創(chuàng)建報(bào)表: CREATE REPORT [報(bào)表文件名]

      ★如果不指定文件名,系統(tǒng)將自動(dòng)賦予一個(gè)指定的名稱,如“報(bào)表

      1、報(bào)表2……”。

      打開(kāi)(修改)報(bào)表: MODIFY REPORT 文件名

      打印(預(yù)覽)報(bào)表: REPORT FORM 文件名 [PREVIEW] 相關(guān)SQL命令 數(shù)據(jù)查詢:SELECT 字段名 FROM 表名 WHERE 條件 ………………

      ★省略號(hào)處是其他選項(xiàng),選項(xiàng)如下:

      ⊙GROUP BY 字段名 HAVING 條件:按指定的字段分組,HAVING為分組的條件。

      ⊙ORDER BY 字段名 ASC/DESE:按指定的字段升序或降序排序。

      ⊙INTO ARRAY 數(shù)組名:將查詢結(jié)果存放到數(shù)組中。

      ⊙INTO CURSOR 表文件名:將查詢結(jié)果存放到臨時(shí)表文件中。

      ⊙INTO DBF/TABLE 表文件名:將查詢結(jié)果存放到永久表文件中。

      ⊙TO FILE 文本文件名 [ADDITIVE]:將查詢結(jié)果存放到文本文件中。

      ⊙TO PRINTER [PROMPT]:將查詢結(jié)果輸出到打印機(jī)中。

      ★相關(guān)的雜項(xiàng):⊙DISTINCT:去掉重復(fù)值 ⊙TOP:查詢最前面的記錄 插入數(shù)據(jù):INSERT INTO 表名 VALUES(……記錄……)更新數(shù)據(jù):UPDATE 表名 SET 字段名=表達(dá)式 [WHERE 條件] 刪除數(shù)據(jù):DELETE FROM 表名 WHERE 條件 表的定義:CREATE TABLE 表名(字段名1…,字段名2…,字段名3…,字段名n……)

      ★省略號(hào)處是其他選項(xiàng),選項(xiàng)有:⊙PRIMARY KEY:主索引 ⊙FOREIGN KEY:普通索引

      ⊙CHECK:規(guī)則 ⊙ERROR:信息 ⊙DEFAULT:默認(rèn)值 表的刪除:DROP TABLE 表名 表結(jié)構(gòu)的修改:ALTER TABLE 表名…………

      ★省略號(hào)處是其他選項(xiàng),選項(xiàng)如下:

      ⊙ADD 字段名(寬度)…:增加字段

      ⊙ALTER:只能修改字段的類型、寬度等,不能對(duì)字段名進(jìn)行修改。

      ⊙ALTER 字段名 SET DEFAULT…/CHECK…ERROR…:修改指定字段的默認(rèn)值和有效性規(guī)則。

      ⊙ALTER 字段名 DROP DEFAULT/CHECK:刪除指定字段的默認(rèn)值和有效性規(guī)則。

      ⊙RENAME COLUMN 原字段名 TO 新字段名:將原字段名修改為新字段名。

      ⊙DROP COLUMN 字段名:刪除字段。

      ⊙ADD PRIMARY KEY/UNIQUE/FOREIGN KEY 表達(dá)式 TAG 索引名:定義主索引、惟一索引和普通索引。

      ⊙DROP PRIMARY KEY:刪除主索引。⊙DROP UNIQUE/ FOREIGN KEY TAG 索引名:刪除惟一索引和普通索引。視圖的定義:CREATE VIEW 視圖名 AS 查詢語(yǔ)句 相關(guān)文件的擴(kuò)展名

      ⊙.pjx 項(xiàng)目 ⊙.dbc 數(shù)據(jù)庫(kù) ⊙.dbf 表 ⊙.cdx 復(fù)合索引 ⊙.FPT 表備注 ⊙.frx 報(bào)表 ⊙.mnx 保存的菜單文件 ⊙.mpr 生成的菜單程序 ⊙.prg 程序 ⊙.qpr 查詢 ⊙.scx 表單 ⊙.app 生的應(yīng)用程序Active Document ⊙.exe 可執(zhí)行程序

      第三篇:全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)證書(shū)

      簡(jiǎn)介 ***2432010年9月二級(jí)access

      證書(shū)樣本

      全國(guó)計(jì)算機(jī)等級(jí)考試和高考、全國(guó)英語(yǔ)四六級(jí)考試一樣,是國(guó)家教育部考試中心推出的三大權(quán)威考試,是在校大學(xué)生必須參加的考試和衡量計(jì)算機(jī)水平最權(quán)威、含金量和承認(rèn)度最高的認(rèn)證,并唯一得到國(guó)家和各用人單位的統(tǒng)一認(rèn)可。

      創(chuàng)想獨(dú)有優(yōu)勢(shì)

      通過(guò)率高:在全國(guó)平均通過(guò)率不到10%的情況下,創(chuàng)想分中心10級(jí)助產(chǎn)班參考7人,雙科通過(guò)6人;10級(jí)護(hù)理5班參考21人,雙科通過(guò)17人;創(chuàng)想分中心歷屆一次性通過(guò)率全省第一。

      創(chuàng)想學(xué)員畢業(yè)受歡迎:

      06級(jí)陳燕燕同學(xué)畢業(yè)后考取濟(jì)寧汶上縣醫(yī)院事業(yè)編;

      08級(jí)馬玉寶同學(xué),畢業(yè)后被濟(jì)南市第三人民醫(yī)院錄用;2010年9月份前二級(jí)access

      09級(jí)劉曉燕同學(xué)優(yōu)先被濟(jì)南市中心人民醫(yī)院選為實(shí)習(xí)生。證書(shū)全通通用,上網(wǎng)可查。查詢網(wǎng)址

      第四篇:全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之VF基礎(chǔ)(第一章)1.1 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 考點(diǎn)1 計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展

      1數(shù)據(jù)與數(shù)據(jù)處理

      數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理的中心問(wèn)題是數(shù)據(jù)管理。

      2計(jì)算機(jī)數(shù)據(jù)管理

      (l)人工管理。

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

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

      (4)分布式數(shù)據(jù)庫(kù)系統(tǒng)。

      (5)面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)。

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

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

      圖1-1 數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)與程序的關(guān)系 考點(diǎn)2 數(shù)據(jù)庫(kù)系統(tǒng)

      1有關(guān)數(shù)據(jù)庫(kù)的概念

      (1)數(shù)據(jù)庫(kù)(DataBase):存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上、結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合。

      (2)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS):是由系統(tǒng)開(kāi)發(fā)人員利用數(shù)據(jù)庫(kù)系統(tǒng)資源開(kāi)發(fā)出來(lái)的,面向某一類實(shí)際應(yīng)用的應(yīng)用軟件系統(tǒng)。

      (3)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):對(duì)數(shù)據(jù)實(shí)行專門管理,提供安全性和完整性等統(tǒng)一機(jī)制,可以對(duì)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)進(jìn)行管理。

      (4)數(shù)據(jù)庫(kù)系統(tǒng)(DBS):是指引進(jìn)數(shù)據(jù)庫(kù)技術(shù)后的計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。數(shù)據(jù)庫(kù)系統(tǒng)由硬件系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫(kù)管理員和用戶等部分組成。

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

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

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

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

      (4)具有統(tǒng)一的數(shù)據(jù)控制功能。考點(diǎn)3 數(shù)據(jù)模型

      1實(shí)體的描述

      (1)實(shí)體。

      (2)實(shí)體的屬性。

      (3)實(shí)體集和實(shí)體型。

      2實(shí)體間聯(lián)系及聯(lián)系的種類

      (1)一對(duì)一聯(lián)系。

      (2)一對(duì)多聯(lián)系。

      (3)多對(duì)多聯(lián)系。

      3數(shù)據(jù)模型簡(jiǎn)介

      為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫(kù)中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型來(lái)表示,通常有以下3種。

      (1)層次數(shù)據(jù)模型。

      (2)網(wǎng)狀數(shù)據(jù)模型。

      (3)關(guān)系數(shù)據(jù)模型。小提示:

      數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS和數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是DBS包括DB和DBMS。1.2 關(guān)系模型

      關(guān)系模型的用戶界面非常簡(jiǎn)單,一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。

      1關(guān)系術(shù)語(yǔ)

      (l)關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。在Visual FoxPro中一個(gè)關(guān)系存儲(chǔ)為一個(gè)文件,擴(kuò)展名為DBF,稱為“表”。

      對(duì)關(guān)系的描述稱為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu),格式為:

      關(guān)系名(屬性名1,屬性名2,?,屬性名n)

      (2)元組:在一個(gè)二維表中,水平方向的行稱為元組,每一行為一個(gè)元組。

      (3)屬性:將二維表中垂直方向的列稱為屬性,每一列都有一個(gè)屬性名。

      (4)域:屬性的取值范圍,即不同元組對(duì)同一個(gè)屬性的取值所限定的范圍。

      (5)關(guān)鍵字:屬性或?qū)傩缘慕M合,其值能夠唯一地標(biāo)識(shí)一個(gè)元組。在Visual FoxPro中,主關(guān)鍵字和候選關(guān)鍵字就起唯一標(biāo)志一個(gè)元組的作用。

      (6)外部關(guān)鍵字:如果表中一個(gè)字段不是本表的主關(guān)鍵字或候選關(guān)鍵字,而是另一個(gè)表的主關(guān)鍵字或候選關(guān)鍵字,那么這個(gè)字段(屬性)就稱為外部關(guān)鍵字。

      2關(guān)系的特點(diǎn)

      (1)關(guān)系必須規(guī)范化。

      (2)在同一個(gè)關(guān)系中不能出現(xiàn)同名屬性,Visual FoxPro中表示為字段名的不同。

      (3)關(guān)系中不允許有完全相同的元組,即冗余。

      (4)在一個(gè)關(guān)系中元組的次序無(wú)關(guān)緊要。

      (5)在一個(gè)關(guān)系中列的次序無(wú)關(guān)緊要??键c(diǎn)5 關(guān)系運(yùn)算

      對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí),需要找到用戶感興趣的數(shù)據(jù),這就需要對(duì)關(guān)系進(jìn)行一定的關(guān)系運(yùn)算,關(guān)系的基本運(yùn)算有兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算。

      1傳統(tǒng)的集合運(yùn)算

      (1)并:兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的全部元組組成的集合。

      (2)差:兩個(gè)相同結(jié)構(gòu)關(guān)系的差是由屬于前一個(gè)關(guān)系的元組而不屬于后一個(gè)關(guān)系的元組組成的集合。例如,關(guān)系R和S的差結(jié)果是由屬于R但不屬于S的元組組成的集合。

      (3)交:兩個(gè)相同結(jié)構(gòu)關(guān)系的交是由屬于這兩個(gè)關(guān)系所共有的元組組成的集合。

      2專門的關(guān)系運(yùn)算

      (1)選擇:從關(guān)系中找出滿足給定條件的元組的操作。

      (2)投影:從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系:

      (3)連接:關(guān)系的橫向結(jié)合,將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的關(guān)系模式。

      (4)自然連接:在連接運(yùn)算中,按照字段值對(duì)應(yīng)相等為條件進(jìn)行的連接操作稱為等值連接。自然連接是去掉重復(fù)屬性的等值連接。小提示:

      選擇和投影運(yùn)算的操作對(duì)象只是一個(gè)表,相當(dāng)于對(duì)一個(gè)二維表進(jìn)行切割。連接運(yùn)算則需要把兩個(gè)表作為操作對(duì)象。如果兩個(gè)表以上進(jìn)行連接,應(yīng)當(dāng)兩兩進(jìn)行連接。1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ) 考點(diǎn)6 數(shù)據(jù)庫(kù)設(shè)計(jì)步驟

      1設(shè)計(jì)原則

      (l)關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)遵從概念單一化“一事一地”的原則。

      (2)避免在表之間出現(xiàn)重復(fù)字段。

      (3)表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素。

      (4)用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系。

      2設(shè)計(jì)步驟

      利用Visual FoxPro來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可以按照以下步驟來(lái)設(shè)計(jì)。

      (1)需求分析。

      (2)確定需求表C

      (3)確定需求字段。

      (4)確定聯(lián)系。

      (5)設(shè)計(jì)精確

      1.4 Visual FoxPro系統(tǒng)概述 考點(diǎn)7 Visual FoxPro的特點(diǎn)

      (l)增強(qiáng)項(xiàng)目與數(shù)據(jù)庫(kù)管理。

      (2)提高應(yīng)用程序開(kāi)發(fā)的生產(chǎn)率。

      (3)互操作性與支持Internet。

      (4)充分利用已有數(shù)據(jù)。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之VF系統(tǒng)初步(第二章)2.1 Visual FoxPro的安裝和啟動(dòng) 考點(diǎn)1 Visual FoxPro的系統(tǒng)要求

      Visual FoxPro功能強(qiáng)大,但它對(duì)系統(tǒng)的要求并不高,個(gè)人計(jì)算機(jī)軟硬件基本要求如下。

      (1)處理器;486DX/66 MHz處理器,推薦使用Pentium或更高處理器的PC。

      (2)內(nèi)存:16MB以上的內(nèi)存,推薦使用24MB內(nèi)存。

      (3)硬盤空間:典型安裝需要85 MB硬盤空間,最大安裝需要90MB硬盤空間。

      (4)其他硬件:一個(gè)鼠標(biāo)、一個(gè)光盤驅(qū)動(dòng)器。推薦使用 VGA或更高分辨率的監(jiān)視器。

      (5)操作系統(tǒng):由于Visual FoxPro是32位產(chǎn)品,需要在Windows 95/98(中文版)、Windows NT 4.0(中文版)或更高版本的操作系統(tǒng)上運(yùn)行。小提示:

      退出Windows中的應(yīng)用程序或關(guān)閉窗口等操作,都可以利用快捷鍵Alt + F4來(lái)完成。2.2 Visual FoxPro的用戶界面 考點(diǎn)2 Visual FoxPro的主界面

      Visual FoxPro的主界面即其工作環(huán)境,啟動(dòng) Visual FoxPro后,打開(kāi)如圖2一l所示的界面。

      考點(diǎn)3 工具欄的使用

      設(shè)置工具欄是微軟公司流行軟件的共同特點(diǎn),利用各種工具欄比菜單要方便得多。其默認(rèn)界面僅包括“常用”工具欄和“表單設(shè)計(jì)器”工具欄。除此之外,Visual FoxPro還提供其他10個(gè)工具欄,如表2-1所示。

      小提示:

      Visual FoxPro中有兩種工作方式:交互操作方式和程序方式,命令方式和菜單方式都屬于交互操作方式。2.3 項(xiàng)目管理器 考點(diǎn)4 使用項(xiàng)目管理器

      (1)項(xiàng)目管理器窗口中共有6個(gè)選項(xiàng)長(zhǎng),其中“全部”選項(xiàng)卡用來(lái)集中顯示該項(xiàng)目中的所有文件,“數(shù)據(jù)”、“文檔”、“類”、“代碼”和“其他“5個(gè)選項(xiàng)卡用來(lái)分類顯示各種文件。

      (2)項(xiàng)目管理器一是提供了簡(jiǎn)便的、可視化的方法來(lái)組織和處理表、數(shù)據(jù)庫(kù)、表單、查詢和其他一切文件,通過(guò)單擊鼠標(biāo)就能實(shí)現(xiàn)對(duì)文件的創(chuàng)建、修改、刪除等操作;二是在項(xiàng)口管理器中可以將應(yīng)用系統(tǒng)編譯成一個(gè)擴(kuò)展名為APP的應(yīng)用文件或EXE的可執(zhí)行文件。

      (3)在Visual FoxPro中的不同文件類型及其擴(kuò)展名,如表2-2所示。

      表2-2 Visual FoxPro中的不同文件類型及其擴(kuò)展名

      考點(diǎn)5 定制項(xiàng)目管理器

      (l)移動(dòng)、縮放和折疊。

      (2)拆分項(xiàng)目管理器。

      (3)停放項(xiàng)目管理器 小提示:

      要拆分選項(xiàng)卡使之單獨(dú)使用,必須將選項(xiàng)卡折疊后才可以實(shí)現(xiàn)。2.4 Visual FoxPro向?qū)?、設(shè)計(jì)器、生成器 考點(diǎn)6 Visual FoxPro的向?qū)?/p>

      向?qū)且环N交互式程序用戶在一系列向?qū)聊簧匣卮饐?wèn)題或者選擇選項(xiàng)后,向?qū)?huì)根據(jù)回答生成文件或者執(zhí)行任務(wù),幫助用戶快速完成一般性的任務(wù)〔例如創(chuàng)建表單、編排報(bào)表的格式、建立查詢、制作圖表、生成數(shù)據(jù)透視表、生成交叉表報(bào)表及在Web上按HTML格式發(fā)布等??键c(diǎn)7 Visual FoxPro的設(shè)計(jì)器

      Visual FoxPro的設(shè)計(jì)器是創(chuàng)建和修改應(yīng)用系統(tǒng)各種組件的可視化工具:利用各種設(shè)計(jì)器使得創(chuàng)建表、表單、數(shù)據(jù)庫(kù)、查詢和報(bào)表及管理數(shù)據(jù)變得輕而易舉,為初學(xué)者提供了方便??键c(diǎn)8 Visual FoxPro的生成器

      生成器是帶有選項(xiàng)卡的對(duì)話框,用于簡(jiǎn)化對(duì)表單、復(fù)雜控件及參照完整性代碼的創(chuàng)建和修改過(guò)程。每個(gè)生成器顯示一系列選項(xiàng)卡,用于設(shè)置選中對(duì)象的屬性。可使用生成器在數(shù)據(jù)庫(kù)表之間生成控件、表單、設(shè)置控件格式和創(chuàng)建參照完整性。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之?dāng)?shù)據(jù)與數(shù)據(jù)運(yùn)算(第三章)3.1 常量與變量 考點(diǎn)1 常量

      常量用以表示一個(gè)具體的、不變的值。不同類型常量的書(shū)寫(xiě)格式不同。在Visual FoxPro中,常量主要包括以下幾種類型。

      1數(shù)值型常量

      數(shù)值型常量即常數(shù),用來(lái)表示一個(gè)數(shù)量的大小,由數(shù)字0~9小數(shù)點(diǎn)和正負(fù)號(hào)組成。

      2貨幣型常量

      貨幣型常量用來(lái)表示貨幣值,其書(shū)寫(xiě)格式與數(shù)值型常量類似,但要加上一個(gè)前置的符號(hào)($)。

      3字符型常量

      字符型常量也稱為字符串,其表示方法是用半角單引號(hào)、雙引號(hào)或方括號(hào)把字符串括起來(lái)。這里的單引號(hào)、雙引號(hào)或方括號(hào)稱為定界符許多常量都有定界符。定界符雖然不作為常量本身的內(nèi)容,但它規(guī)定了常量的類型及常量的起始和終止界限。

      4日期型常量

      日期型常量的定界符是一對(duì)花括號(hào)。花括號(hào)內(nèi)包括年、月、日3部分內(nèi)容,各部分內(nèi)容之間用分隔符分隔。

      5日期時(shí)間型常量

      日期時(shí)間型常量包括日期和時(shí)間兩部分內(nèi)容:{<日期>,<時(shí)間>}。<日期>部分與日期型常量相似,也有傳統(tǒng)的和嚴(yán)格的兩種格式。

      6邏輯型常量

      邏輯型數(shù)據(jù)只有邏輯真和邏輯假兩個(gè)值。前后兩個(gè)句點(diǎn)作為邏輯型常量的定界符是必不可少的,否則會(huì)被誤認(rèn)為變量名。邏輯型數(shù)據(jù)只占用1字節(jié)??键c(diǎn)2 變量

      Visual FoxPro中變量分為字段變量和內(nèi)存變量二其中字段變量就是表中的字段。內(nèi)存變量是內(nèi)存中的一塊存儲(chǔ)區(qū)域,變量值就是存放在這個(gè)存儲(chǔ)區(qū)域里的數(shù)據(jù),變量的類型取決于變量值的類型。內(nèi)存變量的數(shù)據(jù)類型包括:字符型(C)、數(shù)值型(N)、貨幣型(Y)、日期型(D)、日期時(shí)間型(T)和邏輯型(L)。

      1簡(jiǎn)單的內(nèi)存變量

      每一個(gè)變量都有一個(gè)名字,可以通過(guò)變量名訪問(wèn)變量。如果當(dāng)前表中存在一個(gè)同名的字段變量,則在訪問(wèn)內(nèi)存變量時(shí),必須在變量名前加上前綴M.(或M->),否則系統(tǒng)將訪問(wèn)同名的字段變量。

      2數(shù)組

      與簡(jiǎn)單內(nèi)存變量不同,數(shù)組在使用之前一般要用DIMENSION或DECLARE命令顯示創(chuàng)建,規(guī)定數(shù)組是一維數(shù)組還是二維數(shù)組,數(shù)組名和數(shù)組大小。數(shù)組大小由下標(biāo)值的上、下限決定,下限規(guī)定為1。在使用數(shù)組和數(shù)組元素時(shí),應(yīng)注意如下問(wèn)題。

      (1)在一切使用簡(jiǎn)單內(nèi)存變量的地方,均可以使用數(shù)組元素。

      (2)在賦值和輸入語(yǔ)句中使用數(shù)組名時(shí),表示將同一個(gè)值同時(shí)賦給該數(shù)組的全部數(shù)組元素。

      (3)在同一個(gè)運(yùn)行環(huán)境下,數(shù)組名不能與簡(jiǎn)單變量名重復(fù)。

      (4)在賦值語(yǔ)句中的表達(dá)式位置不能出現(xiàn)數(shù)組名。

      (5)可以用一維數(shù)組的形式訪問(wèn)二維數(shù)組。考點(diǎn)3 內(nèi)存變量常用命令

      1內(nèi)存變量的賦值

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

      格式2:STORE<表達(dá)式>TO<內(nèi)存變量名表>

      2表達(dá)式值的顯示

      格式1:?<表達(dá)式表>

      格式2:??<表達(dá)式表>

      3內(nèi)存變量的顯示

      格式1:LIST MEMORY[LIKE<通配符>][TO PRINTER!TO FILE<文件名>]

      格式2:DISPLAY MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>]

      4內(nèi)存變量的清除

      格式1:CLEAR MEMORY

      格式2:RELEASE<內(nèi)存變量名表>

      格式3:RELEASE ALL[EXTENDED]

      格式4:RELEASE ALL[LIKE<通配符>|EXCEPT<通配符>]

      5表中數(shù)據(jù)與數(shù)組數(shù)據(jù)之間的交換

      將表的當(dāng)前記錄復(fù)制到數(shù)組。

      格式1:SCATTER[FIELDS<字段名表>][MEMO]TO<數(shù)組名>[BLANK]

      格式2:SCATTER[FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>][MEMO]TO<數(shù)組名>[BLANK]

      將數(shù)組數(shù)據(jù)復(fù)制到表的當(dāng)前記錄。

      格式1:GATHER FROM<數(shù)組名>[FIELDS<字段名表>][MEMO]

      格式2:GATHER FROM<數(shù)組名>[FIELDS LIKE<通配符>|FIELDS EXCE<通配符>][MEMO] 小提示:

      如果當(dāng)前表中存在一個(gè)同名的字段變量,則在訪問(wèn)內(nèi)存變量時(shí),必須在內(nèi)存變量名前加上前綴M.(或M->),否則系統(tǒng)訪問(wèn)的將是同名的字段變量。3.2 表達(dá)式

      考點(diǎn)4 數(shù)值、字符與日期時(shí)間表達(dá)式

      1數(shù)值表達(dá)式

      (1)算術(shù)運(yùn)算優(yōu)先級(jí)。數(shù)值表達(dá)式中的算術(shù)運(yùn)算符有些與日常使用的運(yùn)算符稍有Lx=別,算術(shù)運(yùn)算符及其含義和優(yōu)先級(jí)如表3-1所示。

      表3-1 算術(shù)運(yùn)算符及其優(yōu)先級(jí)

      (2)求余運(yùn)算。求余運(yùn)算%和取余函數(shù)MOD()的作用相同。余數(shù)的正負(fù)號(hào)與除數(shù)一致當(dāng)表達(dá)式中出現(xiàn)*、/和%運(yùn)算時(shí),它們具有相同的優(yōu)先級(jí)。

      2字符表達(dá)式

      由字符串運(yùn)算符將字符型數(shù)據(jù)連接起來(lái)形成,其結(jié)果仍是字符型數(shù)據(jù)字符型數(shù)據(jù)只能進(jìn)行兩種運(yùn)算(+、-),它們的優(yōu)先級(jí)相同。

      “+”首尾連接前后兩個(gè)字符串形成一個(gè)新的字符串;“-”連接前后兩個(gè)字符串,并將前字符串的尾部空格移到合并后的新字符串尾部 3日期時(shí)間表達(dá)式

      日期時(shí)間表達(dá)式中可以使用的運(yùn)算符也有“+”和“-”兩個(gè),其格式也有一定的限制,不能任意組合,如不能用運(yùn)算符“+”將兩個(gè)<日期>連接起來(lái)??键c(diǎn)5 關(guān)系表達(dá)式

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

      關(guān)系表達(dá)式通常也稱為簡(jiǎn)單邏輯表達(dá)式,它是由關(guān)系運(yùn)算符將兩個(gè)運(yùn)算對(duì)象連接起來(lái)而形成的,即:<表達(dá)式><關(guān)系運(yùn)算符><表達(dá)式>。關(guān)系運(yùn)算符及其含義如表3-2所示,它們的優(yōu)先級(jí)相同。表3-2 關(guān)系運(yùn)算符

      2設(shè)置字符的排序次序

      當(dāng)比較兩個(gè)字符串時(shí),系統(tǒng)對(duì)兩個(gè)字符串的字符自左向右逐個(gè)進(jìn)行比較;一旦發(fā)現(xiàn)兩個(gè)對(duì)應(yīng)字符不同,就根據(jù)這兩個(gè)字符的排序序列決定兩個(gè)字符串的大小

      3字符串精確比較與EXACT設(shè)置

      在用雙等號(hào)運(yùn)算符==比較兩個(gè)字符串時(shí),只有當(dāng)兩個(gè)字符串完全相同(包括空格及各字符的位置)時(shí),運(yùn)算結(jié)果才會(huì)是邏輯真.T.,否則為邏輯假.F.??键c(diǎn)6 邏輯表達(dá)式

      1邏輯表達(dá)式

      邏輯運(yùn)算符的運(yùn)算規(guī)則如表3-3所示,其中各代表兩個(gè)邏輯型常量。

      表3-3 邏輯運(yùn)算規(guī)則

      2運(yùn)算符優(yōu)先級(jí)

      .NOT.或!(邏輯非)、.AND.(邏輯與)、.OR.(邏輯或)依次降低。小提示:

      表達(dá)式是指常量、變量、函數(shù)或由它們通過(guò)特定的運(yùn)算符連接起來(lái)的式子。3.3 常用函數(shù) 考點(diǎn)7 數(shù)值函數(shù)

      數(shù)值函數(shù)是指函數(shù)值為數(shù)值的一類函數(shù),它們的自變量和返回值往往都是數(shù)值型數(shù)據(jù)。

      1絕對(duì)值和符號(hào)函數(shù)

      格式:ABS<數(shù)值表達(dá)式>)

      SIGN(<數(shù)值表達(dá)式>)

      功能:ABS()返回指定的數(shù)值表達(dá)式的絕對(duì)值。SIGN()返回指定數(shù)值表達(dá)式的符號(hào)。

      2求平方根函數(shù)

      格式:SQRT(<數(shù)值表達(dá)式>)

      功能:返回指定表達(dá)式的平方根,表達(dá)式的值不能為負(fù)。

      3圓周率函數(shù)

      格式:PI()

      功能:返回圓周率二,該函數(shù)沒(méi)有自變量。

      4求整數(shù)函數(shù)

      格式:INT(<數(shù)值表達(dá)式>)CEILING(<數(shù)值表達(dá)式>)FLOOR(<數(shù)值表達(dá)式>)

      功能:INT()返回指定數(shù)值表達(dá)式的整數(shù)部分。CEILING()返回大于或等于指定數(shù)值表達(dá)式的最小整數(shù)。FLOOR()返回小于或等于指定數(shù)值表達(dá)式的最大整數(shù)。5四舍五入函數(shù)

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

      功能:返回<數(shù)值表達(dá)式I>在指定位置四舍五入后的結(jié)果,<數(shù)值表達(dá)式2>指明四舍五入的位置。若<數(shù)值表達(dá)式2>大于等于0,表示的是要保留的小數(shù)位,若小于。,則表示整數(shù)部分的舍入位數(shù)。

      6求余數(shù)函數(shù)

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

      功能:返回兩個(gè)數(shù)相除后的余數(shù)。余數(shù)的正、負(fù)號(hào)與除數(shù)相同。如果被除數(shù)與除數(shù)同號(hào),則函數(shù)值為兩數(shù)相除的余數(shù);如果異號(hào),則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。

      7求最大值和最小值函數(shù)

      格式:MAX(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>[,<數(shù)值表達(dá)式3>?])MIN(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>[,<數(shù)值表達(dá)式3>?])

      功能MAX()返回自變量中的最大值。MIN()返回自變量中的最小值??键c(diǎn)8 字符函數(shù)

      1求字符串長(zhǎng)度函數(shù)

      格式:LEN(<字符表達(dá)式>)

      功能:返回指定字符表達(dá)式值的長(zhǎng)度,即字符個(gè)數(shù)。

      2大小寫(xiě)轉(zhuǎn)換函數(shù)

      格式:LOWER(<字符表達(dá)式>)UPPER(<字符表達(dá)式>)

      功能:LOWER()將指定表達(dá)式中的大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母,其他字符保持不變;UPPER()將指定表達(dá)式中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,其他字符保持不變。

      3空格字符串生成函數(shù)

      格式:SAPCE(<數(shù)值表達(dá)式>)

      功能:返回由指定數(shù)目的空格組成的字符串。

      4側(cè)除前后空格函數(shù)

      格式:TRIM(<字符表達(dá)式>)LTRIM(<字符表達(dá)式>)ALLTRIM(<字符表達(dá)式>)

      功能:TRIM()刪除指定表達(dá)式尾部的空格。LTRIM()刪除指定表達(dá)式前端的空格。ALLTRIM()刪除指定字符串前端和尾部的空格。

      5取子串函數(shù)

      格式:LEFT(<字符表達(dá)式>,<長(zhǎng)度>)RIGHT(<字符表達(dá)式>,<長(zhǎng)度>)SUBSTR(<字符表達(dá)式>,<起始位置>[,<長(zhǎng)度>])

      功能:LEFT()從指定表達(dá)式左端截取一個(gè)指定長(zhǎng)度的子串作為函數(shù)值。RIGHT()從指定表達(dá)式右端載取一個(gè)指定長(zhǎng)度的子串作為函數(shù)值。SUBSTR()從指定表達(dá)式指定位置截取一個(gè)指定長(zhǎng)度的子串作為函數(shù)值,若默認(rèn)<長(zhǎng)度>,則截取的子串表示從指定位置開(kāi)始一直到字符串尾部。

      6計(jì)算子串出現(xiàn)次數(shù)函數(shù)

      格式:OCCURS(<字符表達(dá)式1>,<字符表達(dá)式2>)

      功能:返回第一個(gè)字符串在第二個(gè)字符串中出現(xiàn)的次數(shù)。

      7求子串位置函數(shù)

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

      功能:AT()返回第一個(gè)字符串的首字符在第_二個(gè)字符串中出現(xiàn)的位置。前提條件是第一個(gè)字符串必須是第二個(gè)字符串的子串,否則函數(shù)返回值為0。ATC()功能與AT()類似,但不區(qū)分字符串中字符的大小寫(xiě)。

      8子串替換函數(shù)

      格式:STUFF<字符表達(dá)式1>,<起始位置>,<長(zhǎng)度>,<字符表達(dá)式2>)

      功能:用<字符表達(dá)式2>的值替換<字符表達(dá)式I>中由<起始位置>和<長(zhǎng)度>指定的一個(gè)子串。

      9字符替換函數(shù)

      格式CHRTRAN(<字符表達(dá)式1>,<字符表達(dá)式2>,<字符表達(dá)式3>)

      功能:該函數(shù)的自變量是三個(gè)字符表達(dá)式。當(dāng)?shù)谝粋€(gè)字符串中的一個(gè)或多個(gè)字符與第二個(gè)字符串中的某個(gè)字符相匹配時(shí),應(yīng)用第三個(gè)字符串中的對(duì)應(yīng)字符(相同位置)替換這些字符如果第三個(gè)字符串包含的字符個(gè)數(shù)少于第二個(gè)字符串包含的字符個(gè)數(shù),因?yàn)闆](méi)有對(duì)應(yīng)字符,那么第一個(gè)字符串中相匹配的各字符將被刪除。如果第三個(gè)字符串包含的字符個(gè)數(shù)多于第二個(gè)字符串包含的字符個(gè)數(shù),多余字符將被忽略。

      10字符串匹配函數(shù)

      格式:LIKE(<字符表達(dá)式I>,<字符表達(dá)式2>)

      功能:比較兩個(gè)字符串對(duì)應(yīng)位置_L的字符。其中<字符表達(dá)式1>中可包含通配符*和?。*表示若干個(gè)任意字符,?表示任意一個(gè)字符??键c(diǎn)9 日期和時(shí)間函數(shù)

      1系統(tǒng)日期和時(shí)間函數(shù)

      格式:DATE()TIME()DATETIME()

      功能:DATE()返回當(dāng)前系統(tǒng)日期,函數(shù)值為日期TIME()以24小時(shí)制返回當(dāng)前系統(tǒng)時(shí)間,函數(shù)值為字符型;DATETIME()返回肖前系統(tǒng)日期時(shí)間,函數(shù)值為日期時(shí)間型。

      2求年份、月份和天數(shù)的函數(shù)

      格式:YEAR(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)MONTH(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)DAY(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)

      功能:YEAR()從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回年份。MONTH()從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回月份DAY()從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回月份的天數(shù)。這3個(gè)函數(shù)的返回值均為數(shù)值型數(shù)據(jù)

      3求時(shí)、分和秒的函數(shù)

      格式:HOUR(<日期時(shí)間表達(dá)式>)MINUTE(<日期時(shí)間表達(dá)式>)SEC(<日期時(shí)間表達(dá)式>)

      功能:HOUR()從指定的日期時(shí)間表達(dá)式中返回小時(shí)部分(24小時(shí)制)。MINUTE()從指定的日期時(shí)間表達(dá)式中返回分鐘部分。SEC()從指定的日期時(shí)間表達(dá)式中返回秒鐘部分。考點(diǎn)10 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

      數(shù)據(jù)類型轉(zhuǎn)換函數(shù)的功能是將某一種類型的數(shù)據(jù)轉(zhuǎn)換成另一種類型的數(shù)據(jù)。

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

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

      功能:將<數(shù)值表達(dá)式>的值轉(zhuǎn)換成字符串,轉(zhuǎn)換時(shí)根據(jù)需要自動(dòng)四舍五入。

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

      格式:V AL(<字符表達(dá)式>)

      功能:將由數(shù)字符號(hào)(包括符號(hào)、小數(shù)點(diǎn))組成的字符型數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的數(shù)值型數(shù)據(jù)。

      3字替串轉(zhuǎn)換成日期或日期時(shí)間函數(shù)

      格式:CTOD(<字符表達(dá)式>)CTOT<字符表達(dá)式>)

      功能:CTOD()將<字符表達(dá)式>轉(zhuǎn)換成日期型數(shù)據(jù)CTOT()將<字符表達(dá)式>轉(zhuǎn)換成日期時(shí)間型數(shù)據(jù)。

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

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

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

      5宏替換函數(shù)

      格式:&<字符型變量>[.]

      功能:替換出字符型變量的內(nèi)容,即&的值是變量中的字符串。如果該函數(shù)與其后面的字符無(wú)明顯分界,則要用“.”作為函數(shù)結(jié)束標(biāo)識(shí)宏替換可以嵌套使用??键c(diǎn)11 測(cè)試函數(shù)

      1值域測(cè)試函數(shù)

      格式:BETWEEN(<表達(dá)式1>,<表達(dá)式2>,<表達(dá)式3>)

      功能:判斷一個(gè)表達(dá)式的值是否介于其他兩個(gè)表達(dá)式的值之間。

      2空值(NULL)測(cè)試函數(shù)

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

      功能:判斷一個(gè)表達(dá)式的運(yùn)算結(jié)果是否為NULL值。

      3“空”值測(cè)試函數(shù)

      格式:EMPTY(<表達(dá)式>)

      功能:略。

      4數(shù)據(jù)類型測(cè)試函數(shù)

      格式:VARTYPE(<表達(dá)式>[,<邏輯表達(dá)式>])

      功能:測(cè)試表達(dá)式的類型,返回一個(gè)大寫(xiě)字母,函數(shù)值為字符型。字母含義如表3-4所示。

      表3-4 VARTYPE()測(cè)得的數(shù)據(jù)類型

      5表文件尾測(cè)試函數(shù)

      格式:EOF([<工作區(qū)號(hào)>|<表別名>])

      功能:測(cè)試當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中的記錄指針是否指向文件尾,若是,則返回邏輯真(.T.),否則為邏輯假(.F.)。若在指定工作區(qū)上沒(méi)有打開(kāi)表文件,則函數(shù)返回邏輯假(.F.),若表文件中不包含任何記錄,則函數(shù)返回邏輯真(.T.)。

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

      格式:BOF([<工作區(qū)號(hào)>|<表別名>])

      功能:測(cè)試當(dāng)前表義件(若默認(rèn)自變量)或指定表文件中的記錄指針是否指向文件首,若是,則返回邏輯真(.T.),否則為邏輯假(.F.)(若在指定工作區(qū)上沒(méi)有打開(kāi)表文件,則函數(shù)返回邏輯假(.F.),若表文件中不包含任何記錄,則函數(shù)返回邏輯真(.T.)。

      7記錄號(hào)測(cè)試函數(shù)

      格式:RECNO([<工作區(qū)號(hào)>|<表別名>])

      功能:返回當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中當(dāng)前記錄的記錄號(hào)。如果指定工作區(qū)上沒(méi)有打開(kāi)表文件,則函數(shù)值為0;如果記錄指針指向文件尾,則函數(shù)值為表文件中的記錄數(shù)加1;如果記錄指針指向文件首,則函數(shù)值為表文件中第一條記錄的記錄號(hào)。

      8記錄個(gè)數(shù)測(cè)試函數(shù)

      格式:RECCOUNT([<工作區(qū)號(hào)>|<表別名>])

      功能:返回當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中的記錄個(gè)數(shù)。如果指定工作區(qū)上沒(méi)有打開(kāi)表文件,則函數(shù)值為0,RECCOUNT)函數(shù)不受刪除標(biāo)記及SET DELETED設(shè)置的影響,同樣測(cè)試表中所有的記錄個(gè)數(shù)。

      9條件測(cè)試函數(shù)

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

      功能:測(cè)試<邏輯表達(dá)式>的值,若為邏輯真(.T.),則函數(shù)返回<表達(dá)式1>的值,否則返回<表達(dá)式2>的值<表達(dá)式1>和<表達(dá)式2>的類型可以不相同。

      10記錄刪除測(cè)試函數(shù)

      格式:DELETED([<工作區(qū)號(hào)>|<表別名>])

      功能:測(cè)試當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中,記錄指針?biāo)傅漠?dāng)前記錄是否有刪除標(biāo)記“*”。若有,則為真,否則為假。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之VF數(shù)據(jù)庫(kù)及其操作(第四章)4.1 Visual FoxPro數(shù)據(jù)庫(kù)及其建立 考點(diǎn)1 建立和使用數(shù)據(jù)庫(kù)

      1數(shù)據(jù)庫(kù)的建立

      (1)在項(xiàng)目管理器中建立數(shù)據(jù)庫(kù)。

      (2)通過(guò)“新建”對(duì)話框建立數(shù)據(jù)庫(kù)。

      (3)使用命令建立數(shù)據(jù)庫(kù),格式為:

      CREATE DATABASE[DatabaseName |?]

      2數(shù)據(jù)庫(kù)的打開(kāi)

      (1)在項(xiàng)目管理器中打開(kāi)。

      (2)通過(guò)“打開(kāi)”對(duì)話框打開(kāi)數(shù)據(jù)庫(kù)。

      (3)使用命令打開(kāi)數(shù)據(jù)庫(kù),格式為:

      OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考點(diǎn)2 修改和刪除數(shù)據(jù)庫(kù)

      Visual FoxPro在建立數(shù)據(jù)庫(kù)時(shí)建立了擴(kuò)展名分別為dbc、dct和dcx的3個(gè)文件,用戶不能直接修改這些文件。

      Visual FoxPro中修改數(shù)據(jù)庫(kù)實(shí)際是打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,完成數(shù)據(jù)庫(kù)中各種對(duì)象的建立、修改和刪除等操作。

      可以有3種方法打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。

      (1)從項(xiàng)目管理器中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。

      (2)從“打開(kāi)”對(duì)話框中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。

      (3)使用命令打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,格式為: MODIFY DATABASE[DatabaseName|?]

      在項(xiàng)目管理器中不管刪除還是移去數(shù)據(jù)庫(kù)文件,都不會(huì)刪除其所包含的各個(gè)對(duì)象做口數(shù)據(jù)表)。如果要在刪除數(shù)據(jù)庫(kù)的同時(shí)刪除其所包含的數(shù)據(jù)表,就必須使用命令,格式為: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:

      在Visual FoxPro中,Open DataBase和Modify DataBase命令的區(qū)別在于:Open DataBase打開(kāi)的只是數(shù)據(jù)庫(kù)的工作環(huán)境,并不會(huì)進(jìn)入數(shù)據(jù)庫(kù)設(shè)計(jì)器;Modify DataBase是打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。

      4.2 建立數(shù)據(jù)庫(kù)表 考點(diǎn)3 在數(shù)據(jù)庫(kù)中建立表

      在數(shù)據(jù)庫(kù)中建立數(shù)據(jù)表,最直接的方法就是在數(shù)據(jù)庫(kù)設(shè)計(jì)器中利用鼠標(biāo)右鍵單擊空白處,選擇“新建表”命令,在彈出的表設(shè)計(jì)器中設(shè)置數(shù)據(jù)表結(jié)構(gòu)。另外可以在命令窗口利用OPEN DATA命令先打開(kāi)數(shù)據(jù)庫(kù),然后利用CREATE命令打開(kāi)表設(shè)計(jì)器進(jìn)行數(shù)據(jù)表設(shè)計(jì),如圖4-l所示。

      圖4-1 表設(shè)計(jì)器

      1字段名

      (l)自由表字段名最長(zhǎng)為10個(gè)字符。

      (2)數(shù)據(jù)庫(kù)表字段名最長(zhǎng)為128個(gè)字符。

      (3)字段名必須以字母或漢字開(kāi)頭。

      (4)字段名可以由字母、漢字、數(shù)字和下劃線組成。

      (5)字段名中不能包含空格。

      2字段類型和寬度

      (1)字符型:可以是字母、數(shù)字等各種字符型文本,如用戶名稱。

      (2)貨幣型:貨幣單位,如貨物價(jià)格。

      (3)數(shù)值型:整數(shù)或小數(shù),如訂貨數(shù)量。

      (3)浮點(diǎn)型:功能類似于“數(shù)值型”,其長(zhǎng)度在表中最長(zhǎng)可達(dá)20位。

      (4)日期型:由年、月、日構(gòu)成的數(shù)據(jù)類型,如訂貨日期。

      (5)日期時(shí)間型:由年、月、日、時(shí)、分、秒構(gòu)成的數(shù)據(jù)類型,如員工上班的時(shí)間。

      (6)雙精度型:雙精度數(shù)慎類型,一般用于要求精度很高的數(shù)據(jù)。

      (7)整型:不帶小數(shù)點(diǎn)的數(shù)值類型,如訂單的行數(shù)。

      (8)邏輯型:值為“真”(.T.)或假(.F.),如表示訂單是否已執(zhí)行完。

      (9)備注型:不定長(zhǎng)的字符型文本。在表中占4個(gè)字節(jié),表備注型文件的擴(kuò)展名為FPT。

      (10)通用型:用于標(biāo)記電子表格、文檔、圖片等OLE對(duì)象,在表中占4個(gè)字節(jié)。

      (11)字符型(二進(jìn)制)。

      (12)備注型(二進(jìn)制)。

      3空值

      一個(gè)字段是否允許為空值與實(shí)際應(yīng)用有關(guān),比如作為關(guān)鍵字的字段是不允許為空值的,而那些在插入記錄時(shí)允許暫缺的字段值往往允許為空值。

      4字段有效性組框

      在字段有效性組框中可以定義字段的有效性規(guī)則、違反規(guī)則時(shí)的提示信息和字段的默認(rèn)值。

      5顯示組框

      在顯示組框下可以定義字段顯示的格式、輸入的掩碼和字段的標(biāo)題。輸入掩碼是字段的一種屬性,用限制或控制用戶輸入的格式。標(biāo)題用于字段顯示時(shí)的標(biāo)題,如果不指定標(biāo)題則顯示字段名。當(dāng)字段名是英文或縮寫(xiě)時(shí),則通過(guò)指定標(biāo)題可以使界面更友好。

      6字段注釋

      可以為每個(gè)字段添加注釋,便于日后或其他人對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)??键c(diǎn)4 修改表結(jié)構(gòu)

      在Visual FoxPro中可以對(duì)表結(jié)構(gòu)任意修改,修改表結(jié)構(gòu)和建立表結(jié)構(gòu)時(shí),表設(shè)計(jì)器界面完全一樣。修改數(shù)據(jù)表結(jié)構(gòu)時(shí),首先應(yīng)該用USE命令打開(kāi)要修改的數(shù)據(jù)表,然后利用MODIFY STRUCTURE打開(kāi)表設(shè)計(jì)器進(jìn)行修改,具體操作有以下幾種。

      (1)修改已有字段。

      (2)添加新字段。

      (3)刪除不用的字段。4.3 表的基本操作 考點(diǎn)5 使用瀏覽器操作表

      在交互式工作方式下,最簡(jiǎn)單、方便的方法就是使用BROWSE瀏覽器瀏覽表,打開(kāi)瀏覽器的方法有多種。在項(xiàng)目管理器中將數(shù)據(jù)庫(kù)展開(kāi)至表,然后單擊“瀏覽”按鈕,或直接在窗口中輸入BROWSE命令(首先應(yīng)該打開(kāi)表文件)。

      1瀏覽器操作

      (1)下一記錄(下箭頭鍵)。

      (2)前一記錄(上箭頭鍵)。

      (3)下一頁(yè)(PageDown鍵)。

      (4)上一頁(yè)(PageUp鍵)。

      (5)下一字段(Tab鍵)。

      (6)前一字段(Shift+Tab鍵)。

      2修改記錄

      只需將光標(biāo)定位到要修改的記錄和字段上,就可以進(jìn)行修改了。

      3刪除記錄

      Visual FoxPro中刪除記錄有邏輯刪除和物理刪除兩種,邏輯刪除只在記錄旁做刪除標(biāo)記(如圖4-2所示),必要時(shí)可以進(jìn)行恢復(fù)物理刪除是在邏輯刪除的基礎(chǔ)上真正地將記錄從表中刪除。要在瀏覽器中刪除有刪除標(biāo)記的記錄,可選擇“表/徹底刪除”菜單命令。

      圖4-2 增加和刪除記錄

      考點(diǎn)6 增加、刪除、修改和顯示記錄的命令

      1增加記錄

      APPEND命令是在表的尾部增加記錄,格式有如下兩種。

      格式1:APPEND

      格式2:APPEND BLANK

      2插入記錄

      格式:INSERT [BEFORE][BLANK]

      3刪除記錄

      刪除記錄有物理刪除和邏輯刪除兩種,Visual FoxPro用來(lái)刪除記錄的命令如下。

      (1)設(shè)置刪除標(biāo)記的命令

      格式:DELETE [FOR lExpressionl]

      說(shuō)明:如果不使用FOR短語(yǔ)指定邏輯條件,則只刪除當(dāng)前記錄,否則邏輯刪除滿足條件的所有記錄。

      (2)恢復(fù)記錄的命令。

      格式:RECALL [FOR lExpressionl]

      說(shuō)明:使用該命令恢復(fù)表中邏輯刪除的記錄,短語(yǔ)FOR的功能同上。

      (3)物理刪除有刪除標(biāo)記的記錄

      格式:PACK

      說(shuō)明:此命令用來(lái)物理刪除當(dāng)前表中所有帶刪除標(biāo)記的記錄。

      (4)物理刪除表中的全部記錄

      格式:ZAP

      說(shuō)明:不管表中記錄是否帶有刪除標(biāo)記,此命令可以一次性將當(dāng)前表中的記錄全部物理刪除,但表結(jié)構(gòu)仍保留使用此命令相當(dāng)于DELETE ALL與 PACK的連用。

      4修改記錄

      在Visual FoxPro中可以交互修改記錄,也可以用指定值直接修改記錄。

      (1)用EDIT或CHANGE命令交互式修改。

      (2)用REPLACE命令直接修改。

      5顯示記錄

      格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考點(diǎn)7 查詢定位的命令

      (1)用GOTO命令直接定位

      (2)SKIP命令

      (3)用LOCATE命令定位。

      LOCATE命令是按條件定位記錄位置,格式為: LOCATE FOR IExpressionl LOCATE命令常用結(jié)構(gòu)如下。LOCATE FOR IExpression1 DO WHILE FOUND()****處理數(shù)據(jù)*** CONTINUE ENDDO 小提示:

      連續(xù)使用DELETE ALL和PACK命令,其操作結(jié)果與ZAP命令一樣,都可以將表中的所有記錄一次性物理刪除。4.4 索引與排序 考點(diǎn)8 索引的基本概念

      索引是對(duì)表中的記錄按照某種邏輯順序重新排列。

      (l)主索引:在指定的字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引,且一個(gè)表只能創(chuàng)建一個(gè)主索引。

      (2)候選索引:具有與主索引相同的性質(zhì)和功能,但一個(gè)表中可以創(chuàng)建多個(gè)候選索引,其指定的字段或表達(dá)式中也不允許出現(xiàn)重復(fù)值。

      (3)唯一索引:它的“唯一性”是指索引項(xiàng)的唯一,而不是字段值的唯一。但在使用該索引時(shí),重復(fù)的索引段值只有唯一一個(gè)值出現(xiàn)在索引項(xiàng)中。

      (4)普通索引:不僅允許字段中出現(xiàn)重復(fù)值,并且索引項(xiàng)中也允許出現(xiàn)重復(fù)值。考點(diǎn)9 索引的建立

      1單項(xiàng)索引

      在表設(shè)計(jì)器界面中有“字段”、“索引”和“表”3個(gè)選項(xiàng)卡,在“字段”選項(xiàng)卡中定義字段時(shí)就可以直接指定某些字段是否為索引項(xiàng),用鼠標(biāo)單擊定義索引的下拉列表框可以看到3個(gè)選項(xiàng):無(wú)、升序和降序(默認(rèn)是無(wú))。如果選定升序或降序,則在對(duì)應(yīng)的字段上建立一個(gè)普通索引,索引名與字段名同名,索引表達(dá)式就是對(duì)應(yīng)的字段。

      2復(fù)合字段索引

      (1)在“索引”選項(xiàng)卡中的索引名欄目中輸入索引名。

      (2)在索引類型的下拉框中選擇索引類型。

      (3)單擊表達(dá)式欄右側(cè)的按鈕,打開(kāi)表達(dá)式生成器。

      (4)在“表達(dá)式”文本框中輸入索引表達(dá)式(如圖4-3所示),最后單擊“確定”按鈕。

      圖4-3 表達(dá)式生成器界面

      3使用命令建立索引

      格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]

      從索引的組織方式來(lái)講,索引共有3種類型。

      (1)單獨(dú)的IDX索引,是一種非結(jié)構(gòu)索引。

      (2)采用非默認(rèn)名的CDX索引,也是一種非結(jié)構(gòu)復(fù)合索引。

      (3)與表同名的CDX索引,是結(jié)構(gòu)復(fù)合索引。

      結(jié)構(gòu)復(fù)合索引文件可隨表的打開(kāi)而打開(kāi),在同一個(gè)索引文件中能包含多個(gè)索引方案或索引關(guān)鍵字,在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)索引??键c(diǎn)10 索引的使用

      (l)打開(kāi)索引文件,格式為: SET INDEX TO Indexfilelist

      (2)設(shè)置當(dāng)前索引,格式為:

      SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING]

      (3)使用索引快速定位,格式為:

      SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING]

      (4)刪除索引,格式為:

      DELETE TAG TagNamel &&TagName1為索引名

      要?jiǎng)h除全部索引,可使用命令:DELETE TAG ALL 考點(diǎn)11 排序

      索引可以使用戶按照某種順序?yàn)g覽或查找表中的記錄,這種順序是邏輯的,如要對(duì)表中的記錄按物理順序重新排列,可使用SORT命令,格式為:

      SORT TO TableName ON FieldNainel[/A}/D][/C][,F(xiàn)ieldName2[/A|/D][/C]?][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:

      在數(shù)據(jù)庫(kù)表中只能有一個(gè)主索引,且只能在表設(shè)計(jì)器中建立。其他3種索引可以建立多個(gè),既能在表設(shè)計(jì)器中建立,也能以命令方式建立,但在自由表中不能為其創(chuàng)建主索引,只能創(chuàng)建后3種索引,同樣也可以建立多個(gè)。4.5 數(shù)據(jù)完整性

      考點(diǎn)12 實(shí)體完整性與主關(guān)鍵字

      (1)實(shí)體完整性是保證表中記錄唯一的特性,即在同一個(gè)表中不允許有重復(fù)的記錄出現(xiàn)。在Visual Pro中通過(guò)主索引和候選索引來(lái)保證數(shù)據(jù)的實(shí)體完整性。

      (2)如果一個(gè)字段的值或幾個(gè)字段的值能夠唯一標(biāo)志表中的一條記錄,則稱這個(gè)字段為候選關(guān)鍵字。在Visual FoxPro中將主關(guān)鍵字稱做主索引,將候選關(guān)鍵字稱為候選索引??键c(diǎn)13 參照完整性與表之間的關(guān)聯(lián)

      1建立表之間的聯(lián)系

      參照完整性與表之間的聯(lián)系有關(guān),其含義大致是:當(dāng)插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過(guò)參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),檢查對(duì)表的數(shù)據(jù)操作是否正確。

      在數(shù)據(jù)庫(kù)設(shè)計(jì)器中設(shè)計(jì)表之間的聯(lián)系時(shí),要在父表中建立主索引,在子表中建立普通索引,然后通過(guò)父表主索引和子表的普通索引建立起兩個(gè)表之間的聯(lián)系。

      2設(shè)置參照完整性約束

      建立參照完整性之前,首先必須清理數(shù)據(jù)庫(kù),即物理刪除表中被邏輯刪除的記錄,然后選擇兩個(gè)關(guān)聯(lián)表之間的連線并選擇“數(shù)據(jù)庫(kù)”、“編輯參照完整性”菜單命令,打開(kāi)如圖4-4所示的“參照完整性生成器”對(duì)話框。

      圖4-4 “參照完整性生成器”對(duì)話框 小提示:

      欲建立兩表之間的聯(lián)系,首先用鼠標(biāo)選中一個(gè)表的主索引,按住鼠標(biāo)左鍵不放,并拖動(dòng)鼠標(biāo)到另一個(gè)表的索引上,這時(shí)鼠標(biāo)箭頭變成小矩形狀,最后釋放鼠標(biāo)。4.6 自由表

      考點(diǎn)14 數(shù)據(jù)庫(kù)表與自由表

      自由表是不屬于任何數(shù)據(jù)庫(kù)的表。在沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)時(shí),所建立的表就是自由表。數(shù)據(jù)庫(kù)表與自由表之間可以相互轉(zhuǎn)化。

      1建立自由表的方法

      (1)在項(xiàng)目的“數(shù)據(jù)”選項(xiàng)卡中選擇“自由表”,單擊“新建”按鈕。

      (2)在沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)的情況下,通過(guò)“新建”對(duì)話框,選擇“表”并單擊“新建文件”按鈕。

      (3)在沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)的情況下,在命令窗口輸入CREATE命令,新建自由表。

      2數(shù)據(jù)庫(kù)表相對(duì)于自由表的特點(diǎn)

      (l)數(shù)據(jù)庫(kù)表可以使用長(zhǎng)表名,在表中可以使用長(zhǎng)字段名。

      (2)可以為數(shù)據(jù)庫(kù)表中的字段指定標(biāo)題和添加注釋。

      (3)可以為數(shù)據(jù)庫(kù)表中的字段指定默認(rèn)值和輸入掩碼。

      (4)數(shù)據(jù)庫(kù)表的字段有默認(rèn)的控件類。

      (5)可以為數(shù)據(jù)庫(kù)表規(guī)定字段級(jí)規(guī)則和記錄級(jí)規(guī)則。

      (6)數(shù)據(jù)庫(kù)表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系。

      (7)支持INSERT,UPDATE和DELETE事件的觸發(fā)器。考點(diǎn)15 將自由表添加到數(shù)據(jù)庫(kù)中

      (1)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中可利用“數(shù)據(jù)庫(kù)”→“添加表”菜單命令,在“打開(kāi)”對(duì)話框中選擇自由表文件,將其添加到數(shù)據(jù)庫(kù)中。

      (2)直接用命令方式將自由表添加到當(dāng)前數(shù)據(jù)庫(kù)中,格式為: ADD TABLE TableName|?[NAME LongTableName] 考點(diǎn)16 從數(shù)據(jù)庫(kù)中移出表

      (1)直接利用命令移出數(shù)據(jù)庫(kù)表,格式為:

      REMOVE TABLE TableName |?[DELETE][RECYCLE]

      (2)從項(xiàng)目管理器中移出數(shù)據(jù)庫(kù)。

      (3)從數(shù)據(jù)庫(kù)設(shè)計(jì)器中移出數(shù)據(jù)庫(kù)。4.7 多個(gè)表的同時(shí)使用

      在Visual FoxPro中,一次可以打開(kāi)多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)都可以打開(kāi)多個(gè)數(shù)據(jù)表??键c(diǎn)17 多工作區(qū)的概念

      指定工作區(qū)的命令格式為SELECT nWorkArea | cTableAlias,每個(gè)表打開(kāi)后都有兩個(gè)默認(rèn)別名,一個(gè)是表的自身名,另一個(gè)是工作區(qū)所對(duì)應(yīng)的別名。在前10個(gè)工作區(qū)中指定的默認(rèn)別名是工作區(qū)字母A~J,其后面的工作區(qū)所對(duì)應(yīng)的別名為W11~W32767。

      另外還可以在USE命令中通過(guò)ALIAS短語(yǔ)指定表別名。

      例如:USE學(xué)生表IN 1 ALIAS student,為學(xué)生表指定了別名student??键c(diǎn)18 使用不同工作區(qū)的表

      除了使用SELECT命令切換不同的工作區(qū)之外,也可以在一個(gè)工作區(qū)使用其他工作區(qū)的數(shù)據(jù)表。即通過(guò)短語(yǔ):IN nWorkArea|cTableAlias。在表別名后加上“.”或“->”操作符,可在一個(gè)工作區(qū)中直接調(diào)用其他工作區(qū)中數(shù)據(jù)表的記錄。例如當(dāng)前工作區(qū)號(hào)為2,要調(diào)用1區(qū)上學(xué)生表中的班級(jí)號(hào)的相關(guān)字段,可使用命令:

      學(xué)生表.班級(jí)號(hào) 或?qū)W生表->班級(jí)號(hào)或A.班級(jí)號(hào)或A->班級(jí)號(hào) 考點(diǎn)19 表之間的關(guān)聯(lián)

      使用SET RELATION命令建立表間記錄指針的臨時(shí)聯(lián)系(關(guān)聯(lián))。

      格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。

      說(shuō)明:eExpressionl是指建立臨時(shí)聯(lián)系的索引關(guān)鍵字,一般是父表的主索引,子表的普通索引。用工作區(qū)號(hào) nWorkAreal或表的別名cTableAlias I說(shuō)明臨時(shí)聯(lián)系是由當(dāng)前工作區(qū)的表到哪個(gè)表。

      利用SET RELATION TO命令將取消當(dāng)前表到所有表的臨時(shí)聯(lián)系。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL 5.1 SQL概述 考點(diǎn)1 概述

      1概念

      SQL是結(jié)構(gòu)化查詢語(yǔ)言Structured Query Language的縮寫(xiě)。它包括數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制4部分。Visual FoxPro在SQL方面支持?jǐn)?shù)據(jù)定義、數(shù)據(jù)查詢和數(shù)據(jù)操縱功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它沒(méi)有提供數(shù)據(jù)控制功能。

      SQL語(yǔ)言的特點(diǎn)

      (1)一種一體化的語(yǔ)言。

      (2)一種高度非過(guò)程化的語(yǔ)言。

      (3)語(yǔ)言非常簡(jiǎn)潔。

      (4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查詢功能

      SQL的核心是查詢,基本形式由SELECT-FROM-WHERE查詢塊組成,多個(gè)查詢塊可嵌套執(zhí)行,如表5-1所示。

      表5-1 SQL命令動(dòng)詞

      考點(diǎn)2 簡(jiǎn)單查詢

      1簡(jiǎn)單查詢

      簡(jiǎn)單查詢是由SELECT和FROM短語(yǔ)構(gòu)成的無(wú)條件查詢,或由SELECT,F(xiàn)ROM和WHERE短語(yǔ)構(gòu)成的條件查詢。

      2簡(jiǎn)單的連接查詢

      連接是關(guān)系的基本操作之一,連接查詢是一種基于多個(gè)關(guān)系的查詢。

      3嵌套查詢

      嵌套查詢所要求的結(jié)果出自一個(gè)關(guān)系,但關(guān)系的條件卻涉及多個(gè)關(guān)系。其內(nèi)層基本上也是一個(gè)SELECT-FROM-WHERE查詢語(yǔ)句。這種簡(jiǎn)單嵌套查詢,可使用謂詞IN或NOT IN來(lái)判斷在外層的查詢條件中是否包含內(nèi)層查詢的結(jié)果??键c(diǎn)3 特殊運(yùn)算符號(hào)

      BETWEEN?AND?

      含義:該查詢的條件是在??范圍之內(nèi),相當(dāng)于用AND連接的一個(gè)邏輯表達(dá)式。

      LIKE

      含義:它是一個(gè)字符串匹配運(yùn)算符,與之搭配使用的通配符包括“*”和“?”??键c(diǎn)4 排序

      使用SQL SELECT可以將查詢結(jié)果進(jìn)行排序,排序的短語(yǔ)是ORDER BY。

      格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]?]

      說(shuō)明:可以按升序(ASC)或降序(DESC)排序,允許按一列或多列排序??键c(diǎn)5 計(jì)算查詢

      1簡(jiǎn)單的計(jì)算查詢

      SQL不僅具有一般的檢索能力,而且還有計(jì)算方式的檢索,用于計(jì)算檢索的函數(shù)有:COUNT(計(jì)數(shù))、SUM(求和)、AVG(計(jì)算平均值)、MAX(求最大值)及MIN(求最小值)。

      2分組與計(jì)算查詢

      在SQL SELECT中可以利用GROUP BY子句進(jìn)行分組計(jì)算查詢。

      格式:GROUP BY GroupColumn[,GroupColumn?][HAVING FilterCondition]

      說(shuō)明:可以按一列或多列分組,還可以用HAVING子句進(jìn)一步限定分組的條件。它必須跟在GROUP BY子句之后,不可單獨(dú)使用,與WHERE子句并不矛盾??键c(diǎn)6 別名和自連接查詢

      (1)SQL語(yǔ)句允許在二OM短語(yǔ)中為關(guān)系定義別名,格式為:一 <關(guān)系名><別名>

      (2)SQL不僅可以對(duì)多個(gè)關(guān)系進(jìn)行連接操作,也可以將同一關(guān)系與其自身進(jìn)行連接,這種連接就稱為自連接。在關(guān)系的自連接操作中,別名是必不可少的??键c(diǎn)7 使用量詞和謂詞的查詢

      與嵌套查詢或子查詢有關(guān)的運(yùn)算符,除了IN和NOT IN運(yùn)算符外,還有兩類與子查詢有關(guān)的運(yùn)算符,它們有以下兩種格式。

      (1)<表達(dá)式><比較運(yùn)算符>[ANY I ALL | SOME](子查詢)

      (2)[NOT]EXISTS(子查詢)

      EXISTS是謂詞,EXISTS或NOT EXISTS是用來(lái)檢查在子查詢中是否有結(jié)果返回,即存在元組或不存在元組。其本身并沒(méi)有進(jìn)行任何運(yùn)算或比較,只用來(lái)返回子查詢結(jié)果??键c(diǎn)8 超鏈接查詢

      (1)在新的SQL標(biāo)準(zhǔn)中支持兩個(gè)新的關(guān)系連接運(yùn)算符,這兩個(gè)新的連接運(yùn)算是左連接(*=)和右連接=*):首先保證一個(gè)表中滿足條件的元組都在結(jié)果表中,然后將滿足連接條件的元組與另一個(gè)表的元組進(jìn)行連接,不滿足連接條件的則應(yīng)將來(lái)自另一個(gè)表的屬性值置為空值。在一般SQL中超鏈接運(yùn)算符是“*=”(左連接)和“=*”(右連接)。

      (2)在Visual FoxPro中不支持超鏈接運(yùn)算符“*=”和“=*”,Visual FoxPro有專門的連接運(yùn)算。下面拼出SQL中超鏈接的部分語(yǔ)句格式:

      SELECT? FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE?

      考點(diǎn)9 Visual FoxPro中SQL SELECT的幾個(gè)特殊選項(xiàng)

      (l)顯示部分結(jié)果,格式為: TOP nExpr[PERCENT]

      (2)將查詢結(jié)果存放到數(shù)組中,格式為: INTO ARRAY ArrayName

      (3)將查詢結(jié)果存放到臨時(shí)文件中,格式為: INTO CURSOR CursorName

      (4)將查詢結(jié)果存放到永久表中,格式為: INTO DBF|TABLE TableName

      (5)將查詢結(jié)果存放到文本文件中,格式為: TO FILE FileName[ADDITIVE]

      (6)將查詢結(jié)果直接輸出到打印機(jī),格式為: TO PRINTER[PROMPT] 5.3 操作功能 考點(diǎn)10 插入

      Visual FoxPro支持兩種SQL插入命令的格式,一種是標(biāo)準(zhǔn)格式,另一種是特殊格式。

      1標(biāo)準(zhǔn)格式

      INSERT INTO dbf name[(frame 1[,fname2,?])] VALUES(eExpressionl[,eExpression2,?])

      2特殊格式

      INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考點(diǎn)11 更新

      SQL的數(shù)據(jù)更新命令格式如下: UPDATE TableName

      SET Column_Namel=eEpressionl[,Column_Name2=eExpression2?] WHERE Condition

      說(shuō)明:利用WHERE字句指定條件,以更新滿足條件的一些記錄的字段值,并巨一次可更新多個(gè)字段;如果不使用WHERE子句,則更新全部記錄。考點(diǎn)12 刪除

      SQL從表中刪除數(shù)據(jù)的命令格式如下: DELETE FROM TableName[WHERE Condition]

      說(shuō)明:FROM指定從哪個(gè)表中刪除記錄,WHERE指定被刪除的記錄所滿足的條件,如果不使用WHERE子句,則刪除該表中的全部記錄。小提示:

      當(dāng)一個(gè)表定義一個(gè)主索引或候選索引后,由于相應(yīng)的字段具有關(guān)鍵字的特性,即不能為空,所以只能用此命令插入記錄、)APPEND和INSERT都是插入一條空白記錄再輸入各字段的值,故不能用它們來(lái)插入記錄。5.4 定義功能 考點(diǎn)13 表的定義

      利用SQL命令建立的數(shù)據(jù)表同樣可以完成在表設(shè)計(jì)器中設(shè)計(jì)表的所有功能。

      格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,F(xiàn)ieldName2?]

      [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,F(xiàn)OREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne

      說(shuō)明:此命令除了建立表的基本功能外,還包括滿足實(shí)體完整性的主關(guān)鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯(cuò)提示信息ERROR、定義默認(rèn)值DEFAULT等,另外還有描述表之間聯(lián)系的FOREIGN KEY和REFERENCES等。考點(diǎn)14 表的刪除

      利用SQL命令刪除表,可直接使用語(yǔ)句,格式為: DROP TABLE Table_name

      說(shuō)明:如果刪除的是自由表,則應(yīng)該將當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)先關(guān)閉,才能進(jìn)行刪除。如果刪除數(shù)據(jù)庫(kù)表,則要先打開(kāi)數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中進(jìn)行操作二否則,即使刪除了數(shù)據(jù)庫(kù)表,但記錄在數(shù)據(jù)庫(kù)中的信息并沒(méi)有被刪除,此后會(huì)出現(xiàn)錯(cuò)誤提示。考點(diǎn)15 表結(jié)構(gòu)的修改

      修改表結(jié)構(gòu)的命令是ALTER TABLE,該命令有3種格式。

      (1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕]

      (2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK]

      (3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕

      [ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考點(diǎn)16 視圖的定義

      1視圖的概念及其定義

      (l)視圖的概念。

      Visual FoxPro中視圖是一個(gè)虛擬的表,可以是本地的、遠(yuǎn)程的或帶參數(shù)的。

      (2)視圖的定義,格式為:

      CREATE VIEW view name[(column_name[,column_name]?)] AS select_statement

      2從單個(gè)表派生出來(lái)的視圖

      視圖一經(jīng)定義,就可以和基本表一樣進(jìn)行各種查詢,也可以進(jìn)行一些修改操作。對(duì)于最終用戶來(lái)說(shuō),有時(shí)并不需要知道操作的是基本表還是視圖。

      3從多個(gè)表派生出來(lái)的視圖

      視圖一方面可以限定對(duì)數(shù)據(jù)的訪問(wèn),另一方面又可以簡(jiǎn)化對(duì)數(shù)據(jù)的訪問(wèn)。

      4視圖的刪除

      視圖由于是從表派生出來(lái)的,所以不存在修改結(jié)構(gòu)的問(wèn)題,但是視圖可以刪除。

      格式:DROP VIEW<視圖名>

      5關(guān)于視圖的說(shuō)明

      在關(guān)系數(shù)據(jù)庫(kù)中,視圖始終不真正含有數(shù)據(jù),它總是原有表的一個(gè)窗口。所以,雖然視圖可以像表一樣進(jìn)行各種查詢,但是插入、更新和刪除操作在視圖上卻有一定限制。在一般情況下,當(dāng)一個(gè)視圖是由單個(gè)表導(dǎo)出時(shí)可以進(jìn)行插入和更新操作,但不能進(jìn)行刪除操作;當(dāng)視圖是從多個(gè)表導(dǎo)出時(shí),插入、更新和刪除操作都不允許進(jìn)行。這種限制是很有必要的,它可以避免一些潛在問(wèn)題的發(fā)生。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之查詢與視圖(第六章)

      6.1 查詢 考點(diǎn)1 查詢?cè)O(shè)計(jì)器

      1查詢的概念

      查詢是從指定的表或視圖中提取滿足條件的記錄,然后按照想得到的輸出類型定向輸出查詢結(jié)果。查詢以擴(kuò)展名為QPR的文件保存在磁盤上的,這是一個(gè)文本文件,它的主體是SQL SELECT語(yǔ)句。

      2查詢的建立

      建立查詢可以使用“查詢?cè)O(shè)計(jì)器”,但它的基礎(chǔ)是SQL SELECT語(yǔ)句。建立查詢的方法有以下幾個(gè)方面。

      (l)可以利用CREATE QUERY命令打開(kāi)查詢?cè)O(shè)計(jì)器建立查詢。

      (2)可以利用“新建”對(duì)話框打開(kāi)查詢?cè)O(shè)計(jì)器建立查詢。

      (3)可以在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開(kāi)查詢?cè)O(shè)計(jì)器建立查詢。

      (4)可直接編輯QPR文件建立查詢。

      建立查詢時(shí),首先進(jìn)入如圖6-1所示的界面選擇用于建立查詢的表或視圖,選擇表或視圖后,單擊“添加”按鈕。最后單擊“關(guān)閉”按鈕,進(jìn)入如圖6-2所示的查詢?cè)O(shè)計(jì)器界面。

      圖6-1 為查詢選擇表或視圖

      查詢?cè)O(shè)計(jì)器中的各選項(xiàng)卡和SQL SELECT語(yǔ)句的各短語(yǔ)是相對(duì)應(yīng)的,對(duì)應(yīng)關(guān)系如下。

      “字段”――SELECT短語(yǔ),用于指定要查詢的數(shù)據(jù)

      “連接”――JOIN ON短語(yǔ),用于編輯連接條件。

      “篩選”――WHERE短語(yǔ),用于指定查詢條件。

      “排序依據(jù)”――ORDER BY短語(yǔ),用于指定排序字段和排序方式。

      “分組依據(jù)”――GROUP BY短語(yǔ)和HAVING短語(yǔ),用于分組。

      圖6-2 查詢?cè)O(shè)計(jì)器

      3查詢的運(yùn)行

      運(yùn)行查詢有下列兩種方法。

      (1)可以在項(xiàng)口管理器的“數(shù)據(jù)”選項(xiàng)卡中,展開(kāi)“查詢”選項(xiàng),然后選擇要運(yùn)行的查詢文件,單擊“運(yùn)行”按鈕,可查看查詢結(jié)果。

      (2)在命令窗門執(zhí)行命令DO QueryFile。

      注意:此處的查詢文件名是全名,包括擴(kuò)展名QPR。

      4查詢?nèi)ハ?/p>

      設(shè)計(jì)查詢的目的不只是完成一種查詢功能,在查詢?cè)O(shè)計(jì)器中可以根據(jù)需要為查詢輸出定位查詢?nèi)ハ?。通過(guò)“查詢”菜單卜的“查詢?nèi)ハ颉?,或在“查詢?cè)O(shè)計(jì)器”工具欄中單擊“查詢?nèi)ハ颉卑粹o?!安樵?nèi)ハ颉睂?duì)話框如圖6-3所示

      圖6-3 “查詢?nèi)ハ颉睂?duì)話框

      各去向的含義如下。

      (1)瀏覽:在“瀏覽"(BROWSE)窗口中顯示查詢結(jié)果,這是默認(rèn)的輸出去向。

      (2)臨時(shí)表:將查詢結(jié)果存儲(chǔ)于一個(gè)命名的臨時(shí)只讀表中。

      (3)表:將結(jié)果保存在一個(gè)命名的數(shù)據(jù)表文件中。

      (4)圖形:查詢結(jié)果可以用于Microsoft Graph。

      (5)屏幕:在Visual FoxPro主窗口或當(dāng)前活動(dòng)輸出窗口中顯示查詢結(jié)果。

      (6)報(bào)表:將結(jié)果輸出到一個(gè)報(bào)表文件。

      (7)標(biāo)簽:將結(jié)果輸出到一個(gè)標(biāo)簽文件。小提示:

      在7種輸出去向中,只有“瀏覽”和“屏幕”兩種輸出去向才能直接看到查詢結(jié)果。6.2 視圖

      考點(diǎn)2 視圖的概念與建立

      1視圖的概念

      視圖是操作表的一種手段,通過(guò)視圖可以查詢表,也可以更新表。視圖是根據(jù)表定義的,因此視圖基于表,而視圖可以使應(yīng)用更靈活,因此它又超越表。視圖是數(shù)據(jù)庫(kù)中的一個(gè)特有功能,只有在包含視圖的數(shù)據(jù)庫(kù)打開(kāi)時(shí)才能使用。

      視圖兼有“表”和“查詢”的特點(diǎn),與查詢相類似的地方是可以用來(lái)從一個(gè)或多個(gè)相關(guān)聯(lián)的表中提取有用信息;與表類似的地方是可以用來(lái)更新其中的信息,并將結(jié)果永久性保存在磁盤上。

      2視圖的建立

      (l)用CREATE VIEW命令打開(kāi)視圖設(shè)計(jì)器建立視圖。

      (2)利用“新建”對(duì)話框打開(kāi)視圖設(shè)計(jì)器建立視圖。

      (3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開(kāi)視圖設(shè)計(jì)器建立視圖。

      (4)利用SQL命令CREATE VIEW...AS...建立視圖。

      3視圖設(shè)計(jì)象

      視圖設(shè)計(jì)器(如圖6一所示)與查詢?cè)O(shè)計(jì)器基本上一樣,主要有以下幾點(diǎn)不同。

      (1)視圖的結(jié)果保存在數(shù)據(jù)庫(kù)中,在磁盤上找不到類似的文件。

      (2)視圖可以用來(lái)更新數(shù)據(jù),因此在設(shè)計(jì)器中多了一個(gè)“更新條件”選項(xiàng)卡。

      (3)在視圖中沒(méi)有“查詢?nèi)ハ颉钡膯?wèn)題。

      圖6-4 視圖設(shè)計(jì)器 考點(diǎn)3 遠(yuǎn)程視圖與連接

      為了建立遠(yuǎn)程視圖,必須首先建立連接遠(yuǎn)程數(shù)據(jù)庫(kù)的“連接”,“連接”是Visual FoxPro數(shù)據(jù)庫(kù)中的一種對(duì)象。

      1定義數(shù)據(jù)源和連接

      數(shù)據(jù)源一般是ODBC數(shù)據(jù)源,開(kāi)放數(shù)據(jù)庫(kù)互連ODBC是一種連接數(shù)據(jù)庫(kù)的通用標(biāo)準(zhǔn)。為了定義ODBC數(shù)據(jù)源,必須首先安裝ODBC驅(qū)動(dòng)程序。

      2建立連接

      建立連接的方法有以下幾種。

      (1)用CREATE CONNECTION命令打開(kāi)“連接設(shè)計(jì)器”,或完全用命令方式建立連接。

      (2)通過(guò)“新建”對(duì)話框建立連接。

      (3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中建立連接。

      3設(shè)計(jì)遠(yuǎn)程視圖

      利用數(shù)據(jù)源或連接建立的遠(yuǎn)程視圖的SQL語(yǔ)法要符合遠(yuǎn)程數(shù)據(jù)庫(kù)的語(yǔ)法,例如,SQL Server的語(yǔ)法和Visual FoxPro的語(yǔ)法就有所區(qū)別??键c(diǎn)4 視圖與數(shù)據(jù)更新

      視圖是根據(jù)基本表派生出來(lái)的,所以把它叫做虛擬表為了通過(guò)視圖能夠更新基本表中的數(shù)據(jù),需要在視圖設(shè)計(jì)器的“更新條件”選項(xiàng)卡中的左下角選中“發(fā)送SQL更新”復(fù)選框。

      1指定可更新的表

      如果視圖是基于多個(gè)表的,默認(rèn)可以更新“全部表”的相關(guān)字段,如果要指定只能更新某個(gè)表的數(shù)據(jù),則可以通過(guò)“表”下拉列表框選擇表

      2指定可更新的字段

      在“字段名”列表框中列出了與更新有關(guān)的字段,在字段名左側(cè)有兩列標(biāo)志,“鑰匙”表示關(guān)鍵字,“鉛筆”表示更新通過(guò)單擊相應(yīng)列可以改變相關(guān)的狀態(tài),默認(rèn)可以更新所有非關(guān)鍵字字段,并且通過(guò)基本表的關(guān)鍵字完成更新,即Visual FoxPro用這些關(guān)鍵字字段來(lái)唯一標(biāo)識(shí)那些已在視圖中修改過(guò)的基本表中的記錄建議不要改變關(guān)鍵字的狀態(tài),不要試圖通過(guò)視圖來(lái)更新基本表中的關(guān)鍵字字段值,如有必要,可以指定更新非關(guān)鍵字字段值

      3檢查更新的合法性

      如圖6-1所示,“SQL WHERE子句包括”框中的選項(xiàng)決定哪些字段包含在UPDATE或DELETE語(yǔ)句的WHERE子句中,Visual FoxPro正是利用這些語(yǔ)句將在視圖中修改或刪除的記錄發(fā)送到遠(yuǎn)程數(shù)據(jù)源或基本表中,WHERE子句就是用來(lái)檢查自從提取記錄用于視圖中后,服務(wù)器上的數(shù)據(jù)是否已經(jīng)改變。

      “SQL WHERE子句包括”框中各選項(xiàng)的含義如下。

      (l)關(guān)鍵字段:當(dāng)基本表中的關(guān)鍵字字段被改變時(shí),更新失敗。

      (2)關(guān)鍵字和可更新字段:當(dāng)基本表中任何標(biāo)記為可更新的字段被改變時(shí),更新失敗。

      (3)關(guān)鍵字和已修改字段:當(dāng)在視圖中改變的任一字段的值在基本表中已被改變時(shí),更新失敗。

      (4)關(guān)鍵字和時(shí)間戳:當(dāng)遠(yuǎn)程表上記錄的時(shí)間戳在首次檢索之后被改變時(shí),更新失敗。

      4使用更新方式

      “使用更新”框的選項(xiàng)決定當(dāng)向基本表發(fā)送SQL更新時(shí)的更新方式。

      (1)SQL DELETE然后INSERT:先用SQL DELETE命令刪除基本表中被更新的舊記錄,再用SQL INSERT命令向基本表中插入更新后的記錄。

      (2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考點(diǎn)5 使用視圖

      視圖建立后,不但可以用它來(lái)顯示和更新數(shù)據(jù),而且可以通過(guò)調(diào)整它的屬性來(lái)提高性能,它的使用類似于表。

      1視圖操作

      (1)在數(shù)據(jù)庫(kù)中使用USE命令打開(kāi)或關(guān)閉視圖。

      (2)在“瀏覽器”窗口中顯示或修改視圖中的記錄。

      (3)使用SQL語(yǔ)句操作視圖。

      (4)在文本框、表格控件、表單或報(bào)表中使用視圖作為數(shù)據(jù)源。

      2使用視圖

      視圖一經(jīng)建立就基本可以像基本表一樣使用,適用于基本表的命令基本都可以用于視圖。比如在視圖上也可以建立索引,此索引當(dāng)然是臨時(shí)的,視圖一關(guān)閉,索引自動(dòng)刪除,多工作區(qū)時(shí)也可以建立聯(lián)系等。但視圖不可以用MODIFY STRUCTURE命令修改結(jié)構(gòu)。因?yàn)橐晥D畢竟不是獨(dú)立存在的基本表,它是由基本表派生出來(lái)的,只能修改視圖的定義。

      小提示:

      查詢與視圖的區(qū)別是:查詢可以定義輸出去向,可以將查詢的結(jié)果靈活地應(yīng)用于表單、報(bào)表、圖形等各種場(chǎng)合,但是利用查詢不可以修改數(shù)據(jù);而利用視圖可以修改數(shù)據(jù),可以利用SQL將對(duì)視圖的修改發(fā)送到基本表,特別是對(duì)于遠(yuǎn)程表的操作,利用視圖是非常有效的。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之程序設(shè)計(jì)基礎(chǔ)(第七章)7.l 程序與程序文件

      考點(diǎn)1 程序的概念、建立與執(zhí)行

      1程序的概念

      程序是能夠完成一定任務(wù)的命令集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當(dāng)運(yùn)行程序時(shí),系統(tǒng)會(huì)按照一定的次序自動(dòng)執(zhí)行包含在程序文件中的命令。

      2程序文件的建立與修改

      程序文件的建立與修改一般是通過(guò)調(diào)用系統(tǒng)內(nèi)置的文本編輯器來(lái)進(jìn)行的。其建立步驟如下。

      (l)打開(kāi)文本編輯窗口。

      (2)在文本編輯窗口中輸入程序內(nèi)容,此處所輸入的程序命令不會(huì)馬上被執(zhí)行。

      (3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。

      3打開(kāi)或修改程序文件的方法

      (1)從“文件”菜單中選擇“打開(kāi)”命令,彈出“打開(kāi)”對(duì)話框。

      (2)在“文件類型”列表框中選擇“程序”。

      (3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。

      (4)編輯修改后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件,若要放棄修改,可直接按Esc鍵,或從“文件”菜單中選擇“還原”命令。

      4程序文件的執(zhí)行

      程序文件建立后,可使用多種方式、多次執(zhí)行它,常用的以下有兩種方式。

      (l)菜單方式。

      (2)命令方式??键c(diǎn)2 簡(jiǎn)單的輸入輸出命令

      程序一般都包含數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。

      INPUT命令

      格式:INPUT[<字符表達(dá)式>]TO<內(nèi)存變量>

      功能:該命令等待用戶從鍵盤輸入數(shù)據(jù),當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。

      注釋:輸入的數(shù)據(jù)可以是常量、變量,也可以是更為一般的表達(dá)式。但不能不輸入任何內(nèi)容直接按回車鍵輸入字符串時(shí)必須加定界符,輸入邏輯型常量時(shí)要用圓點(diǎn)定界(如.T.,.F.),則輸入日期時(shí)間型常量時(shí)要用大括號(hào)(如{^2001-03-01})。

      ACCEPT命令

      格式:ACCEPT[<字符表達(dá)式>]TO<內(nèi)存變量>

      功能:該命令等待用戶從鍵盤輸入字符串,當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。

      注釋:該命令只能接收字符串。用戶在輸入字符串時(shí)不需要加定界符;否則,系統(tǒng)會(huì)把定界符作為字符串本身的一部分。如果不輸入任何內(nèi)容而直接按回車鍵,系統(tǒng)會(huì)把空串賦給指定的內(nèi)存變量。

      WAIT命令

      格式:WAIT[<字符表達(dá)式>][TO<內(nèi)存變量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<數(shù)值表達(dá)式>]

      功能:該命令顯示字符表達(dá)式的值作為提示信息,暫停程序的執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)程序運(yùn)行。

      注釋:<內(nèi)存變量>用來(lái)保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標(biāo),那么<內(nèi)存變量>中保存的將是空串若不選TO <內(nèi)存變量>短語(yǔ),則輸入的單字符不保留。小提示:

      如果用DO命令執(zhí)行查詢文件、菜單文件,在文件名中必須要包括擴(kuò)展名(QPR、MPR)。7.2 程序的基本結(jié)構(gòu)

      程序結(jié)構(gòu)是指程序中命令或語(yǔ)句執(zhí)行的流程結(jié)構(gòu),包括3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)??键c(diǎn)3 順序結(jié)構(gòu)

      順序結(jié)構(gòu)是最簡(jiǎn)單的程序結(jié)構(gòu),它是按命令在程序中出現(xiàn)的先后次序依次執(zhí)行。考點(diǎn)4 選擇結(jié)構(gòu)

      支持選擇結(jié)構(gòu)的語(yǔ)句包括條件語(yǔ)句和分支語(yǔ)句。

      1條件語(yǔ)句

      格式: IF<條件> <語(yǔ)句序列1> [ELSE> <語(yǔ)句序列2>] ENDIF

      功能:該語(yǔ)句根據(jù)<條件>是否成立從兩組代碼中選擇一組執(zhí)行。

      語(yǔ)句的執(zhí)行流程圖如圖7-1和圖7-2所示。

      圖7-1有ELSE的選擇語(yǔ)句

      圖7-2無(wú)ELSE的選擇語(yǔ)句

      2分支語(yǔ)句

      格式:DO CASE CASE<條件1> <語(yǔ)句序列1> CASE<條件2> <語(yǔ)句序列2> ??

      CASE<條件n> <語(yǔ)句序列n> [OTHERWISE <語(yǔ)句序列>] ENDCASE

      功能:語(yǔ)句執(zhí)行時(shí),依次判斷CASE后面的條件是否成立。分支語(yǔ)句實(shí)現(xiàn)的是一種擴(kuò)展的選擇結(jié)構(gòu),可以根據(jù)條件從多組代碼中選擇一組執(zhí)行。分支語(yǔ)句的流程如圖7-3所示。

      圖7-3 多分支語(yǔ)句 考點(diǎn)5 循環(huán)結(jié)構(gòu)

      循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過(guò)程中,其中的某段代碼被重復(fù)執(zhí)行若一干珠。被重復(fù)執(zhí)行的代碼段,通常稱為循環(huán)體。Visual FoxPro支持循環(huán)結(jié)構(gòu)的語(yǔ)句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。

      DO WHILEENDFOR語(yǔ)句 格式:

      FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長(zhǎng)>] <循環(huán)體> ENDFOR

      功能:首先將初值賦給循環(huán)變量,然后判斷循環(huán)條件是否成立(若步長(zhǎng)為正值,則循環(huán)條件為<循環(huán)變量><=<終值>;若步長(zhǎng)為負(fù)值,則循環(huán)條件為<循環(huán)變量>>=<終值>)。如果成立,則執(zhí)行循環(huán)體,然后循環(huán)變量增加一個(gè)步長(zhǎng)值,并再次判斷循環(huán)條件,一直到條件為假時(shí),退出循環(huán)體。該語(yǔ)句通常用于實(shí)現(xiàn)循環(huán)次數(shù)已知情況下的循環(huán)結(jié)構(gòu)〕

      SCAN-ENDSCAN語(yǔ)句

      格式:

      SCAN[<范圍>][FOR<條件1>][WHERE<條件2>] <循環(huán)體> ENDSCAN

      功能:該循環(huán)語(yǔ)句一般用于處理表中記錄,語(yǔ)句可指明需要處理的記錄范圍及應(yīng)滿足的條件。執(zhí)行該語(yǔ)句時(shí),記錄指針自動(dòng)、依次地在當(dāng)前表的指定范圍內(nèi)滿足條件的記錄上移動(dòng),對(duì)每一條記錄執(zhí)行循環(huán)體內(nèi)的命令。

      7.3 多模塊程序

      模塊是一個(gè)相對(duì)獨(dú)立的程序段,它可以被其他模塊調(diào)用,也可以調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱為子程序,把調(diào)用其他模塊而沒(méi)有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊??键c(diǎn)6 模塊的定義和調(diào)用

      1模塊的定義

      在Visual FoxPro中,模塊可以是命令文件,也可以是過(guò)程。過(guò)程定義的語(yǔ)句格式為: PROCEDURE|FUNCTION<過(guò)程名> <命令序列> [RETURN[<表達(dá)式>]] [ENDPROCIENDFUNC]

      功能說(shuō)明如下。

      (1)PROCEDURE|FUNCTION命令表示一個(gè)過(guò)程的開(kāi)始,并命名過(guò)程。過(guò)程名必須以字母或下劃線開(kāi)頭,可以包含數(shù)字、字母和下劃線。

      (2)當(dāng)程序執(zhí)行到RETURN命令時(shí),控制將轉(zhuǎn)回到調(diào)用處(或命令窗口),并返回表達(dá)式的值。若默認(rèn)RETURN命令,系統(tǒng)將在過(guò)程結(jié)束處自動(dòng)調(diào)用一條隱含的RETURN命令。

      (3)ENDPROC|ENDFUNC命令表示一個(gè)過(guò)程的結(jié)束。如果默認(rèn)此語(yǔ)句,那么過(guò)程結(jié)束于下一條PROCEDURE|FUNCTION命令或文件尾。

      2模塊的調(diào)用

      模塊調(diào)用的格式有兩種。

      (1)使用DO命令,格式如下。DO<文件名>|<過(guò)程名>

      (2)在名字后加一對(duì)小括號(hào),格式如下。<文件名>|<過(guò)程名>()

      3打開(kāi)過(guò)程文件

      命令格式如下。

      SET PROCEDURE TO[<過(guò)程文件1>[,<過(guò)程文件2>,?][ADDITIVE]

      4關(guān)閉過(guò)程文件

      命令格式如下。

      RELEASE PROCEDURE<過(guò)程文件1>[,<過(guò)程文件2>,?] 考點(diǎn)7 參數(shù)傳遞

      模塊程序可以接收調(diào)用程序傳遞過(guò)來(lái)的參數(shù)。

      (1)PARAMETERS<形參變量1>[,<形參變量2>,?]。

      (2)LPARAMETERS<形參變量1>[,<形參變量2>,?]。

      說(shuō)明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無(wú)其他區(qū)別。

      不管是PARAMETERS或LPARAMETERS,都應(yīng)該是模塊程序的第一條可執(zhí)行命令。

      (1)調(diào)用參數(shù)調(diào)用模塊程序參數(shù)的格式如下。

      DO<文件名>|<過(guò)程名>WITH<實(shí)參1>[,<實(shí)參2>,?] <文件名>|<過(guò)程名>(<實(shí)參1>[,<實(shí)參2>,?])

      說(shuō)明:實(shí)參可以是常量、變量或一般表達(dá)式,調(diào)用模塊程序時(shí),形參的數(shù)目不能少于實(shí)參的數(shù)目,當(dāng)形參數(shù)目多于實(shí)參數(shù)目時(shí),多余的形參取初值邏輯假.F.。

      (2)參數(shù)的傳遞。模塊中參數(shù)的傳遞分為兩種:按值傳遞(實(shí)參一般為常量和表達(dá)式)和引用傳遞(實(shí)參一般為變量)。參數(shù)的傳遞方式可以重新設(shè)置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考點(diǎn)8 變量的作用域

      變量的一個(gè)重要屬性是作用域。變量的作用域指的是變量在什么范圍內(nèi)是有效或能夠被訪問(wèn)的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。

      1.公共變量

      在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。PUBLIC<內(nèi)存變量表>

      說(shuō)明:該命令是建立公共的內(nèi)存變量,并賦以初值邏輯假.F.。建立好的公共變量一直有效,即使程序結(jié)束返回命令窗口也不會(huì)消失,只有執(zhí)行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。

      2私有變量

      在程序中直接使用(沒(méi)有預(yù)先聲明),而由系統(tǒng)自動(dòng)隱含建立的變量都是私有變量。

      私有變量的作用域是建立它的模塊及其下屬的各層模塊。

      3局部變量

      局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結(jié)束時(shí),自動(dòng)釋放局部變量。格式如下 LOCAL<內(nèi)存變量表>

      說(shuō)明:該變量同樣給建立的內(nèi)存變量賦以初值邏輯假.F.,也必須先定義后使用。當(dāng)子程序中定義的變量名與主程序中同名時(shí),為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時(shí)無(wú)效。格式如下。

      (1)PRIVATE<內(nèi)存變量表>。

      (2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。

      說(shuō)明:該命令并不建立內(nèi)存變量,它只是隱藏指定的在上層模塊中可能已經(jīng)存在的內(nèi)存變量,但是當(dāng)模塊程序返回到上層模塊時(shí),被隱藏的變量就自動(dòng)恢復(fù)有效性,保持原值。7.4 程序調(diào)試 考點(diǎn)9 調(diào)試器環(huán)境

      程序調(diào)試是指在發(fā)現(xiàn)程序有錯(cuò)誤的情況下,確定出錯(cuò)位置并糾正錯(cuò)誤。計(jì)算機(jī)一般能夠發(fā)現(xiàn)程序的出錯(cuò)位置,但對(duì)于計(jì)算機(jī)不能發(fā)現(xiàn)的錯(cuò)誤,只能由用戶自己來(lái)查錯(cuò)。Visual FoxPro提供的功能強(qiáng)大的調(diào)試工具—調(diào)試器,可幫助我們進(jìn)行這項(xiàng)工作。

      調(diào)用調(diào)試器的方法一般有兩種。

      (l)選擇“工具”菜單中的“調(diào)試器”命令。

      (2)在命令窗口中輸入DEBUG命令??键c(diǎn)10 設(shè)置斷點(diǎn)

      可以設(shè)置以下4種類型的斷點(diǎn)。

      (1)在定位處中斷:可指定一行代碼,當(dāng)程序調(diào)試執(zhí)行到該行時(shí),中斷程序運(yùn)行。

      (2)如果表達(dá)式值為真,則在定位處中斷:指定一行代碼及一個(gè)表達(dá)式,當(dāng)程序調(diào)試執(zhí)行到該行代碼時(shí),如果表達(dá)式值為真,就中斷程序運(yùn)行。

      (3)當(dāng)表達(dá)式值為真時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過(guò)程中,當(dāng)該表達(dá)式值為邏輯真.T.時(shí),中斷程序運(yùn)行。

      (4)當(dāng)表達(dá)式值改變時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過(guò)程中,當(dāng)該表達(dá)式值改變時(shí),中斷程序運(yùn)行??键c(diǎn)11 “調(diào)試”菜單

      “調(diào)試”菜單包含執(zhí)行程序、選擇執(zhí)行方式、終止程序執(zhí)行、修改程序,以及調(diào)整程序執(zhí)行速度等命令。各命令具體功能如下。

      (1)運(yùn)行:執(zhí)行在跟蹤窗口中打開(kāi)的程序:

      (2)繼續(xù)執(zhí)行:當(dāng)程序被中斷時(shí),該命令可使程序在中斷處繼續(xù)往下執(zhí)行。

      (3)取消:終止程序的調(diào)試執(zhí)行,并關(guān)閉程序。

      (4)定位修改:終止程序的調(diào)試執(zhí)行,然后在文本編輯窗口中打開(kāi)調(diào)試程序。

      (5)跳出:以連續(xù)方式而非單步方式繼續(xù)執(zhí)行被調(diào)用模塊程序中的代碼,然后在調(diào)用程序的調(diào)用語(yǔ)句的下一行處中斷。

      (6)單步:?jiǎn)尾綀?zhí)行下一行代碼。如果下一行代碼調(diào)用了過(guò)程或者方法程序,那么該過(guò)程或者方法程序在后臺(tái)執(zhí)行。

      (7)單步跟蹤:?jiǎn)尾綀?zhí)行下一行代碼。

      (8)運(yùn)行到光標(biāo)處:從當(dāng)前位置執(zhí)行代碼直至光標(biāo)處中斷。

      (9)調(diào)速:打開(kāi)“調(diào)整運(yùn)行速度”對(duì)話框,設(shè)置兩代碼行執(zhí)行之間的延遲秒數(shù)。

      (10)設(shè)置下一條語(yǔ)句:程序中斷時(shí)選擇該命令,可使光標(biāo)所在行成為恢復(fù)執(zhí)行后要執(zhí)行的語(yǔ)句。

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之表單設(shè)計(jì)與應(yīng)用(第八章)8.1 面向?qū)ο蟮母拍?考點(diǎn)1 對(duì)象與類

      1對(duì)象(Object)

      客觀世界里的任何實(shí)體都可以被視為對(duì)象。對(duì)象可以是具體事物,也可以指某些概念二

      (1)屬性:用來(lái)表示對(duì)象的狀態(tài)。

      (2)方法:用來(lái)描述對(duì)象的行為。

      2類(Class)

      類是對(duì)一類相似對(duì)象性質(zhì)的描述。同類對(duì)象具有相同的性質(zhì):相同的屬性及方法??键c(diǎn)2 子類與繼承

      第五篇:2009年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VFP筆試卷

      2009年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VFP筆試卷+答案

      (考試時(shí)間90分鐘,滿分100分)

      選擇題

      (1)下列敘述中正確的是

      A)棧是“先進(jìn)先出”的線性表 B)隊(duì)列是“先進(jìn)先出”的線性表

      C)循環(huán)隊(duì)列是非線性結(jié)構(gòu)D)有序性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

      (2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是

      A)棧B)樹(shù)C)隊(duì)列D)二叉樹(shù)

      (3)某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)是

      A)10B)8C)6D)4

      (4)下列排序方法中,最壞情況下比較次數(shù)最少的是

      A)冒泡排序B)簡(jiǎn)單選擇排序C)直接插入排序D)堆排序

      (5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是

      A)編譯軟件B)操作系統(tǒng)C)教務(wù)管理系統(tǒng)D)匯編程序

      (6)下面敘述中錯(cuò)誤的是

      A)軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤

      B)對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟

      C)程序調(diào)試通常也稱為Debug D)軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性

      (7)耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是

      A)提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性

      B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性

      C)耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度

      D)內(nèi)聚性是指模塊間互相連接的緊密程度

      (8)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是

      A)數(shù)據(jù)庫(kù)設(shè)計(jì)B)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)C)數(shù)據(jù)庫(kù)維護(hù)D)數(shù)據(jù)庫(kù)管理員培訓(xùn)

      (9)有兩個(gè)關(guān)系R,S如下:

      RS

      A B CA B

      a 3 2a 3

      b 0 1b 0

      c 2 1c 2

      由關(guān)系R通過(guò)運(yùn)算得到關(guān)系S,則所使用的運(yùn)算為

      A)選擇B)投影C)插入D)連接

      (10)將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為

      A)屬性B)鍵C)關(guān)系D)域

      (11)數(shù)據(jù)庫(kù)(DB)、數(shù)據(jù)庫(kù)系統(tǒng)(DBS)和數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)三者之間的關(guān)系是

      A)DBS包括DB和DBMSB)DBMS包括DB和DBS

      C)DB包括DBS和DBMSD)DBS就是DB,也就是DBMS

      (12)SQL語(yǔ)言的查詢語(yǔ)句是

      A)INSERTB)UPDATEC)DELETED)SELECT

      (13)下列與修改表結(jié)構(gòu)相關(guān)的命令是

      A)INSERTB)ALTERC)UPDATED)CREATE

      (14)對(duì)表SC(學(xué)號(hào) C(8),課程號(hào) C(2),成績(jī) N(3),備注 C(20)),可以插入的記錄是

      A)('20080101', 'c1', '90',NULL)B)('20080101', 'c1', 90, '成績(jī)優(yōu)秀')

      C)('20080101', 'c1', '90', '成績(jī)優(yōu)秀')D)('20080101', 'c1', '79', '成績(jī)優(yōu)秀')

      (15)在表單中為表格控件指定數(shù)據(jù)源的屬性是

      A)DataSourceB)DateFromC)RecordSourceD)RecordFrom

      (16)在Visual FoxPro中,下列關(guān)于SQL表定義語(yǔ)句(CREATE TABLE)的說(shuō)法中錯(cuò)誤的是

      A)可以定義一個(gè)新的基本表結(jié)構(gòu)B)可以定義表中的主關(guān)鍵字

      C)可以定義表的域完整性、有效性規(guī)則等信息的設(shè)置

      D)對(duì)自由表,同樣可以實(shí)現(xiàn)其完整性、有效性規(guī)則等信息的設(shè)置

      (17)在Visual FoxPro中,若所建立索引的字段值不允許重復(fù),并且一個(gè)表中只能創(chuàng)建一個(gè),這種索引應(yīng)該是

      A)主索引B)唯一索引C)候選索引D)普通索引

      (18)在Visual FoxPro中,用于建立或修改程序文件的命令是

      A)MODIFY<文件名>B)MODIFY COMMAND <文件名>

      C)MODIFY PROCEDURE <文件名>D)上面B和C都對(duì)

      (19)在Visual FoxPro中,程序中不需要用PUBLIC等命令明確申明和建立,可直接使用的內(nèi)存變量是

      A)局部變量B)私有變量C)公告變量D)全局變量

      (20)以下關(guān)于空值(NULL值)敘述正確的是

      A)空值等于空字符串B)空值等同于數(shù)值0

      C)空值表示字段或變量還沒(méi)有確定的值D)Visual FoxPro不支持空值

      (21)執(zhí)行USE sc IN 0命令的結(jié)果是

      A)選擇0號(hào)工作區(qū)打開(kāi)sc表 B)選擇空閑的最小號(hào)的工作區(qū)打開(kāi)sc表

      C)選擇第1號(hào)工作區(qū)打開(kāi)scD)顯示出錯(cuò)信息

      (22)在Visual FoxPro中,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)所管理的關(guān)系是

      A)一個(gè)DBF文件B)若干個(gè)二維表C)一個(gè)DBC文件D)若干個(gè)DBC文件

      (23)在Visual FoxPro中,下面描述正確的是

      A)數(shù)據(jù)庫(kù)表允許對(duì)字段設(shè)置默認(rèn)值B)自由表允許對(duì)字段設(shè)置默認(rèn)值

      C)自由表或數(shù)據(jù)庫(kù)表都允許對(duì)字段設(shè)置默認(rèn)值

      D)自由表或數(shù)據(jù)庫(kù)表都不允許對(duì)字段設(shè)置默認(rèn)值

      (24)SQL的SELECT語(yǔ)句中,“HAVING<條件表達(dá)式>”用來(lái)篩選滿足條件的A)列B)行C)關(guān)系D)分組

      (25)在Visual FoxPro中,假設(shè)表單上有一個(gè)選項(xiàng)組:O男 O女,初始時(shí)該選項(xiàng)組的value屬性值為1。若選項(xiàng)按鈕“女”被選中,該選項(xiàng)組的value屬性值是

      A)1B)2C)“女”D)“男”

      (26)在Visual FoxPro中,假設(shè)教師表T(教師號(hào),姓名,性別,職稱,研究生導(dǎo)師)中,性別是C型字段,研究生導(dǎo)師是L型字段。若要查詢“是研究生導(dǎo)師的女老師”信息,那么SQL語(yǔ)句“SELECT * FROM T WHERE <邏輯表達(dá)式>”中的<邏輯表達(dá)式>應(yīng)是

      A)研究生導(dǎo)師 AND 性別= “女”B)研究生導(dǎo)師 OR 性別= “女”

      C)性別= “女” AND 研究生導(dǎo)師=.F.D)研究生導(dǎo)師=.T.OR 性別=女

      (27)在Visual FoxPro中,有如下程序,函數(shù)IIF()返回值是

      PRIVATE X,Y

      STORE “男” TO X

      Y=LEN(X)+2

      ?IIF(Y<4, “男”, “女”)

      RETURN

      A)“女”B)“男”C).T.D).F.(28)在Visual FoxPro 中,每一個(gè)工作區(qū)中最多能打開(kāi)數(shù)據(jù)庫(kù)表的數(shù)量是

      A)1個(gè)B)2個(gè)C)任意個(gè),根據(jù)內(nèi)存資源而確定D)35535個(gè)

      (29)在Visual FoxPro 中,有關(guān)參照完整性的刪除規(guī)則正確的描述是

      A)如果刪除規(guī)則選擇的是“限制”,則當(dāng)用戶刪除父表中的記錄時(shí),系統(tǒng)將自動(dòng)刪除子表中的所有相關(guān)記錄

      B)如果刪除規(guī)則選擇的是“級(jí)聯(lián)”,則當(dāng)用戶刪除父表中的記錄時(shí),系統(tǒng)將禁止刪除與子表相關(guān)的父表中的記錄

      C)如果刪除規(guī)則選擇的是“忽略”,則當(dāng)用戶刪除父表中的記錄時(shí),系統(tǒng)不負(fù)責(zé)檢查子表中是否有相關(guān)記錄D)上面三種說(shuō)法都不對(duì)

      (30)在Visual FoxPro中,報(bào)表的數(shù)據(jù)源不包括

      A)視圖B)自由表C)查詢D)文本文件

      第(31)到第(35)題基于學(xué)生表S和學(xué)生選課表SC兩個(gè)數(shù)據(jù)庫(kù)表,它們的結(jié)構(gòu)如下: S(學(xué)號(hào),姓名,性別,年齡)其中學(xué)號(hào)、姓名和性別為 C型字段,年齡為N型字段。

      SC(學(xué)號(hào),課程號(hào),成績(jī)),其中學(xué)號(hào)和課程號(hào)為C型字段,成績(jī)?yōu)镹型字段(初始為空值)。

      (31)查詢學(xué)生選修課程成績(jī)小于60分的學(xué)號(hào),正確的SQL語(yǔ)句是

      A)SELECT DISTINCT 學(xué)號(hào) FROM SC WHERE “成績(jī)” <60

      B)SELECT DISTINCT 學(xué)號(hào) FROM SC WHERE 成績(jī) < “60”

      C)SELECT DISTINCT 學(xué)號(hào) FROM SC WHERE 成績(jī) <60

      D)SELECT DISTINCT “學(xué)號(hào)” FROM SC WHERE “成績(jī)” <60

      (32)查詢學(xué)生表S的全部記錄并存儲(chǔ)于臨時(shí)表文件one中的SQL命令是

      A)SELECT * FROM 學(xué)生表 INTO CURSOR one

      B)SELECT * FROM 學(xué)生表TO CURSOR one

      C)SELECT * FROM 學(xué)生表 INTO CURSORDBF one

      D)SELECT * FROM 學(xué)生表TO CURSOR DBF one

      (33)查詢成績(jī)?cè)?0分至85分之間學(xué)生的學(xué)號(hào)、課程號(hào)和成績(jī),正確的SQL語(yǔ)句是

      A)SELECT 學(xué)號(hào),課程號(hào),成績(jī) FROM sc WHERE 成績(jī) BETWEEN 70 AND 85

      B)SELECT 學(xué)號(hào),課程號(hào),成績(jī) FROM scWHERE 成績(jī) >=70 OR 成績(jī) <=85

      C)SELECT 學(xué)號(hào),課程號(hào),成績(jī) FROM scWHERE 成績(jī) >=70 OR <=85

      D)SELECT 學(xué)號(hào),課程號(hào),成績(jī) FROM scWHERE 成績(jī) >=70 AND <=85

      (34)查詢有選課記錄,但沒(méi)有考試成績(jī)的學(xué)生的學(xué)號(hào)和課程號(hào),正確的SQL語(yǔ)句是

      A)SELECT 學(xué)號(hào),課程號(hào) FROM sc WHERE 成績(jī) = “"

      B)SELECT 學(xué)號(hào),課程號(hào) FROM sc WHERE 成績(jī) = NULL

      C)SELECT 學(xué)號(hào),課程號(hào) FROM sc WHERE 成績(jī) IS NULL

      D)SELECT 學(xué)號(hào),課程號(hào) FROM sc WHERE 成績(jī)

      (35)查詢選修C2課程號(hào)的學(xué)生姓名,下列SQL語(yǔ)句中錯(cuò)誤的是

      A)SELECT 姓名 FROM S WHERE EXISTS;

      (SELECT * FROM SC WHERE 學(xué)號(hào)=S.學(xué)號(hào) AND 課程號(hào)= 'C2')

      B)SELECT 姓名 FROM S WHERE 學(xué)號(hào) IN;

      (SELECT * FROM SC WHERE課程號(hào)= 'C2')

      C)SELECT 姓名 FROM S JOIN ON S.學(xué)號(hào)=SC.學(xué)號(hào) WHERE 課程號(hào)= 'C2'

      D)SELECT 姓名 FROM S WHERE 學(xué)號(hào)=;

      (SELECT * FROM SC WHERE課程號(hào)= 'C2')

      二、填空題(每空2分,共30分)

      將每一個(gè)空的正確答案寫(xiě)在答題紙上【1】-【15】序號(hào)的橫線上,答在試卷上,在試卷上不得分,(1)假設(shè)一個(gè)長(zhǎng)度為50的數(shù)組(數(shù)組元素的下標(biāo)從0到49)作為棧的存儲(chǔ)空間,棧底指針bottom指向棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有 【1】 個(gè)元素。20

      (2)軟件測(cè)試可分為白盒測(cè)試和黑盒測(cè)試?;韭窂綔y(cè)試屬于【2】 測(cè)試。白盒

      (3)符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3】。順序結(jié)構(gòu)

      (4)數(shù)據(jù)庫(kù)系統(tǒng)的核心是【4】數(shù)據(jù)庫(kù)管理系統(tǒng)

      (5)在E-R圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實(shí)體聯(lián)系的是【5 】框。菱形

      (6)所謂自由表就是那些不屬于若任何【6】的表。數(shù)據(jù)庫(kù)

      (7)常量{^2009-10-01,15:30:00}的數(shù)據(jù)類型是【7】日期時(shí)間型。

      (8)利用SQL語(yǔ)句的定義功能建立一個(gè)課程表,并且為課程號(hào)建立主索引,語(yǔ)句格式為:CREATE TABLE 課程表(課程號(hào) C(5)【8】,課程名 C(30))primary key

      (9)在Visual FoxPro中,程序文件的擴(kuò)展名是【9】。.prg

      (10)在Visual FoxPro中,SEELCT 語(yǔ)句能夠?qū)崿F(xiàn)投影、選擇和【10】三種專門的關(guān)系運(yùn)算。聯(lián)接

      (11)在Visual FoxPro中,LOCATE ALL命令按條件對(duì)某個(gè)表中的記錄進(jìn)行查找,若查找不到滿足條件的記錄,函數(shù)EOF()的返回值應(yīng)是【11】。.T.(12)在Visual FoxPro中,設(shè)有一個(gè)學(xué)生表STUDENT,有學(xué)號(hào)、姓名、年齡、性別等字段,用戶可以用命令”【12】 年齡 WITH 年齡+1”將表中所有學(xué)生的年齡增加一歲。Replace all

      (13)在Visual FoxPro中,有如下程序:

      *程序名:TEST.PRG

      SET TALK OFF

      PRIVATE X,Y

      X= ”數(shù)據(jù)庫(kù)“

      Y= ”管理系統(tǒng)“

      DO sub1

      ?X+Y

      RETURN

      *子程序:sub1

      LOCAL X

      X= ”應(yīng)用“

      Y= ”系統(tǒng)"

      X= X+Y

      RETURN

      執(zhí)行命令DO TEST后,屏幕顯示的結(jié)果應(yīng)是【13】。數(shù)據(jù)庫(kù)系統(tǒng)

      (14)使用SQL語(yǔ)言的SELECT語(yǔ)句進(jìn)行分組查詢時(shí),如果希望去掉不滿足條件的分組,應(yīng)當(dāng)在GROUP BY 中使用【14】子句。Having

      (15)設(shè)有SC(學(xué)號(hào),課程號(hào),成績(jī))表,下面 SQL的SELECT語(yǔ)句檢索成績(jī)高于或等于平均成績(jī)的學(xué)生的學(xué)號(hào)。

      SELECT 學(xué)號(hào) FROM sc;

      WHERE 成績(jī)>=(SELECT 【15】 FROM sc)avg(成績(jī))

      下載全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)vfp考點(diǎn)word格式文檔
      下載全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)vfp考點(diǎn).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VFP筆試試卷[合集五篇]

        2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試題(含答案) 一、選擇題(每小題2 分,共70 分) 下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě) 在答題卡相應(yīng)位置上,答......

        計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析

        計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析:VF基礎(chǔ)知識(shí) 1.1 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 考點(diǎn)1 計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展 1數(shù)據(jù)與數(shù)據(jù)處理 數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理的中......

        全國(guó)計(jì)算機(jī)二級(jí)VFP模擬試題[

        VFP模擬試題 1。VFP是一種 ________ 模型的數(shù)據(jù)庫(kù)管理系統(tǒng)。 選擇:A. 層次_ B. 網(wǎng)絡(luò)_C. 對(duì)象_ D. 關(guān)系 答案: D 2。對(duì)于二維表的關(guān)鍵字來(lái)講,不一定存在的是 ________ 。選擇:A.......

        計(jì)算機(jī)等級(jí)考試考點(diǎn)

        全國(guó)計(jì)算機(jī)等級(jí)考試考點(diǎn)一級(jí)MS Offic 計(jì)算機(jī)基礎(chǔ)知識(shí)1 重 要 考 點(diǎn)  1計(jì)算機(jī)發(fā)展簡(jiǎn)史  2二進(jìn)制整數(shù)與十進(jìn)制整數(shù)之間的轉(zhuǎn)換  3常用的字符編碼及漢字編碼  4關(guān)于計(jì)算......

        全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VB考點(diǎn)分析之過(guò)程

        全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VB考點(diǎn)分析之過(guò)程 6.1 Sub過(guò)程 考點(diǎn)1 建立Sub過(guò)程 通用Sub過(guò)程的結(jié)構(gòu)與前面多次見(jiàn)過(guò)的事件過(guò)程的結(jié)構(gòu)類似。一般格式如下:[Static][Private][Public]......

        全國(guó)計(jì)算機(jī)等級(jí)考試考點(diǎn)申請(qǐng)書(shū)(五篇)

        全國(guó)計(jì)算機(jī)等級(jí)考試考點(diǎn)申請(qǐng)書(shū)合肥財(cái)經(jīng)職業(yè)學(xué)院尊敬的領(lǐng)導(dǎo): 為了迎接一年一度的全國(guó)計(jì)算機(jī)等級(jí)考試,我校進(jìn)一步完善考點(diǎn)設(shè)施的準(zhǔn)備工作。根據(jù)省教育局考辦《全國(guó)計(jì)算機(jī)等級(jí)考......

        上海全國(guó)計(jì)算機(jī)等級(jí)考試考點(diǎn)及聯(lián)系方式

        考點(diǎn)代碼 考點(diǎn)名稱 310001 上海青年管理干部學(xué)院 310002 華東師范大學(xué)繼續(xù)教育學(xué)院 310005 上海行健職業(yè)學(xué)院 310006 楊浦財(cái)貿(mào)中專 310009 上海應(yīng)用技術(shù)學(xué)院繼續(xù)教育學(xué)院 31......

        2012年全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)考點(diǎn)

        2012年全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)考點(diǎn) 1.3 計(jì)算機(jī)中字符的編碼 考點(diǎn)7 西文字符的編碼 計(jì)算機(jī)中常用的字符編碼有EBCDIC碼和ASCII碼。IBM系列大型機(jī)采用EBCDIC碼,微型機(jī)采用ASCI......