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

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

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

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

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

      計(jì)算機(jī)二級(jí)VF據(jù)庫操作命令(5篇)

      時(shí)間:2019-05-15 08:59:51下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《計(jì)算機(jī)二級(jí)VF據(jù)庫操作命令》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《計(jì)算機(jī)二級(jí)VF據(jù)庫操作命令》。

      第一篇:計(jì)算機(jī)二級(jí)VF據(jù)庫操作命令

      二級(jí)VF前三章命令匯總、數(shù)據(jù)庫操作命令 1.新建數(shù)據(jù)庫

      CREATEDATABASE XO &&XO數(shù)據(jù)庫名 2.打開數(shù)據(jù)庫

      OPEN DATABASEXO&&XO數(shù)據(jù)庫名 3.設(shè)置當(dāng)前數(shù)據(jù)庫

      SETDATABASE TO XO &&把XO設(shè)為當(dāng)前數(shù)據(jù)庫 4.打開當(dāng)前數(shù)據(jù)庫設(shè)計(jì)器

      MODIFYDATABASE &&不需要加數(shù)據(jù)庫名 5.關(guān)閉當(dāng)前數(shù)據(jù)庫

      CLOSEDATABASE&&不需要加數(shù)據(jù)庫名 6.刪除數(shù)據(jù)庫

      DELETEDATABASEXORECYCLEDELETETABLES

      *刪除數(shù)據(jù)庫XO,RECYCLE指放入WINDOWS回收站,*DELETETABLES指把數(shù)據(jù)庫中的表一起刪除 7.關(guān)閉所有文件

      CLOSEALL&&關(guān)閉所有文件

      二、表的操作命令 1.新建表

      CREATE 成績 &&成績?yōu)楸砻?2.打開表

      USE 成績 &&成績?yōu)楸砻?3.打開表設(shè)計(jì)器

      MODIFYSTRUCTURE &&不能跟表名,打開當(dāng)前表的設(shè)計(jì)器 4.表的記錄作命令 1)增加記錄

      APPEND BLANK &&在表的尾部追加一條空白記錄 APPEND &&采用交互方式在表的尾部追加多條記錄 INSERT BEFORE &&在當(dāng)前表的當(dāng)前記錄之前追加一條記錄

      INSERT BLANK &&在當(dāng)前表的當(dāng)前記錄之后追加

      一條空記錄 COPYTOXS

      &&XS指新表名,將當(dāng)前表復(fù)制到新表XS中 APPENDFROMXC

      &&將XC表中的所有記錄追加到當(dāng)前表中, *注:XC與當(dāng)前表的結(jié)構(gòu)要完全相同才能使用 2)記錄刪除

      DELETE &&表中刪除當(dāng)前記錄(邏輯)DELETEALL &&刪除表中所有記錄(邏輯)DELETEFOR 性別=“男” &&刪除滿足條件的記錄 3)記錄的恢復(fù)

      RECALL &&恢復(fù)當(dāng)前錄

      RECALLALL&&恢復(fù)所有打上刪除標(biāo)記記錄 RECALLFOR 條件 &&恢復(fù)滿足條件的記錄 4)記錄修改

      EDIT / CHANGE&&交互式方式修改記錄 REPLACE 字段名 WITH 值 &&修改當(dāng)前記錄 REPLACE ALL 字段名 WITH 值 &&修改表中所有記錄

      REPLACE 字段名 WITH 值 FOR條件 &&修滿足條件的記錄 5)記錄顯示

      LIST &&顯示當(dāng)前表中所有記錄 DISPLAY&&顯示表中當(dāng)前記錄

      LIST 姓名,性別 或 LISTFIELDS 姓名,性別&&顯示表中指字段

      LISTFOR 條件 &&顯示滿足條件的記錄 6)記錄定位 A)相對(duì)定位:

      GO TOP=GOTO TOP&&指到表頭 GO BOTTOM&&指到表尾 SKIP&&下一條記錄

      相對(duì)定位:對(duì)表進(jìn)行排序與不排序指到記錄可能不能B)絕對(duì)定位

      二級(jí)VF前三章命令匯總

      GO 1= GOTO 1指到第一條記錄

      絕對(duì)定位:不管有沒有對(duì)表進(jìn)行排序指到都是相同記錄 7)記錄查找

      LOCATEFOR 條件 &&讓記錄指針指到滿足條件的記錄。

      CONTINUE &&查找下一個(gè)滿足條件的記錄 5.表索引的命令 1)建立單索引(.IDX)

      INDEXON 索引表達(dá)式 TO 索引名2)結(jié)構(gòu)復(fù)合索引(.CDX)

      INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) &&索引類型為普通索引

      INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) CANDIDATDESC &&侯選索引的降序

      INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) UNIQUE &&唯一索引 3)非構(gòu)復(fù)合索引(.CDX)

      INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) OF XM &&普能索引 INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) OF XM UNIQUE &&唯一索引 4)打開索文件

      SETINDEX TO索引文件名 5)設(shè)置當(dāng)前索引 SET ORDER TO 索引名

      USE 學(xué)生 ORDER 學(xué)號(hào) &&打?qū)W生表并讓學(xué)號(hào)索引生效 6)索引定位 SEEK 值

      SKIP &&找下一條滿足條件的記錄 7)刪除結(jié)構(gòu)復(fù)合索引

      DELETE TAGALL &&刪除所有索引 DELETE TAGXS&&刪除指定索引XS 6.自由表與數(shù)據(jù)表的轉(zhuǎn)換 ADD TABLE 表名

      &&將自由表添加到數(shù)據(jù)庫中

      REMOVE TABLE 表名 &&將數(shù)據(jù)庫表移去變成自由表

      7.表之間的臨時(shí)聯(lián)系

      SET RELATION TO 索引名 TO 表名或工作區(qū) 8.物理排序

      SORT ON 排序字段 TO 新表名 SORT TO 新表名 ON 排序字段

      第二篇:VF統(tǒng)計(jì)命令教案

      VF——統(tǒng)計(jì)命令

      教學(xué)目標(biāo):

      1、知識(shí)目標(biāo):理解掌握統(tǒng)計(jì)命令的格式及應(yīng)用

      2、能力目標(biāo):培養(yǎng)學(xué)生分析判斷能力

      3、情感目標(biāo):培養(yǎng)學(xué)生科學(xué)探索精神 教學(xué)重點(diǎn):命令格式的應(yīng)用

      教學(xué)難點(diǎn):書寫正確的命令及命令的靈活運(yùn)用 課時(shí)安排:1課時(shí)

      教學(xué)方法:講授法、啟發(fā)法、比較分析法、講練結(jié)合法 教學(xué)過程:

      (一)復(fù)習(xí)提問:(寫出相應(yīng)命令)

      1、顯示前3條記錄

      2、邏輯刪除數(shù)學(xué)大于60的記錄

      3、將所有記錄的總分加5分

      (二)導(dǎo)入新課:

      對(duì)記錄的操作除了顯示、刪除和成批修改,還可以對(duì)記錄進(jìn)行計(jì)數(shù)求和求平均值等操作。

      (三)講授新課

      一、計(jì)數(shù)命令(講練結(jié)合法,啟發(fā)教學(xué))

      格式:COUNT [<范圍>][FOR<條件>][TO<變量>]

      功能:統(tǒng)計(jì)表中指定范圍內(nèi)滿足條件的記錄個(gè)數(shù).注意

      1)缺省[<范圍>]表示全部

      2)TO<變量>表示將結(jié)果保存到變量中

      二、求和命令(講練結(jié)合法、啟發(fā)教學(xué))

      格式:SUM [<范圍>][<數(shù)值型字段表>][FOR<條件>][TO<變量表>]

      功能:對(duì)表中指定范圍內(nèi)滿足條件的數(shù)值型字段分別求和

      注意

      1)缺省[<數(shù)值型字段表>]表示對(duì)表中所有數(shù)值型字段分別求和

      2)TO<變量表>表示將結(jié)果依次保存到變量中;求和的字段個(gè)數(shù)必須與變量

      個(gè)數(shù)一致

      思考:運(yùn)用以上兩條命令是否可以得到語文的平均值

      三、求平均值(講練結(jié)合法、比較分析法)

      格式:AVERAGE [<范圍>][<數(shù)值型字段表>][FOR<條件>][TO<變量表>]

      功能:對(duì)表中指定范圍內(nèi)滿足條件的數(shù)值型字段分別求平均值

      (四)課堂小結(jié)

      (五)作業(yè)

      1、統(tǒng)計(jì)學(xué)籍表中計(jì)算機(jī)專業(yè)的漢族人數(shù)

      2、對(duì)成績表中的數(shù)學(xué)和VF分別求和并保存

      3、對(duì)成績表中的數(shù)學(xué)求平均值并保存

      第三篇:計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析

      計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析:VF基礎(chǔ)知識(shí)

      1.1 數(shù)據(jù)庫基礎(chǔ)知識(shí)

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

      1數(shù)據(jù)與數(shù)據(jù)處理

      數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。

      2計(jì)算機(jī)數(shù)據(jù)管理

      (l)人工管理。

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

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

      (4)分布式數(shù)據(jù)庫系統(tǒng)。

      (5)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)。

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

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

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

      1有關(guān)數(shù)據(jù)庫的概念

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

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

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

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

      2數(shù)據(jù)庫系統(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ù)模型簡介

      為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型來表示,通常有以下3種。

      (1)層次數(shù)據(jù)模型。

      (2)網(wǎng)狀數(shù)據(jù)模型。

      (3)關(guān)系數(shù)據(jù)模型。小提示:

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

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

      1關(guān)系術(shù)語

      (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)系中元組的次序無關(guān)緊要。

      (5)在一個(gè)關(guān)系中列的次序無關(guān)緊要??键c(diǎn)5 關(guān)系運(yùn)算

      對(duì)關(guān)系數(shù)據(jù)庫進(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ù)庫設(shè)計(jì)基礎(chǔ) 考點(diǎn)6 數(shù)據(jù)庫設(shè)計(jì)步驟

      1設(shè)計(jì)原則

      (l)關(guān)系數(shù)據(jù)庫的設(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來開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),可以按照以下步驟來設(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ù)庫管理。

      (2)提高應(yīng)用程序開發(fā)的生產(chǎn)率。

      (3)互操作性與支持Internet。

      (4)充分利用已有數(shù)據(jù)。

      第四篇:計(jì)算機(jī)二級(jí)VF考試試題之2002.9

      2002年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)筆試試題

      Visual FoxPro 數(shù)據(jù)庫程序設(shè)計(jì)

      一、選擇題(每題2分,共70分)

      下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。

      (1)在下列四個(gè)選項(xiàng)中,不屬于基本關(guān)系運(yùn)算的是

      A)連接 B)投影 C)選擇 D)排序

      

      (2)如果一個(gè)班只能有一個(gè)班長,而且一班長不能同時(shí)擔(dān)任其它班的班長,班級(jí)和班長兩個(gè)實(shí)體之間的關(guān)系屬于

      A)一對(duì)一聯(lián)系 B)一對(duì)二聯(lián)系 C)多對(duì)多聯(lián)系 D)一對(duì)多聯(lián)系

      

      (3)Visual FoxPro支持的數(shù)據(jù)模型是

      A)層次數(shù)據(jù)模型 B)關(guān)系數(shù)據(jù)模型 C)網(wǎng)狀數(shù)據(jù)模型 D)樹狀數(shù)據(jù)模型

      

      (4)在Visual FoxPro的命令窗口中鍵入CREATE DATA命令以后,屏幕會(huì)出現(xiàn)一個(gè)創(chuàng)建對(duì)話框,要想完成同樣的工作,還可以采取如下步驟

      A)單擊“文件”菜單中的“新建”按鈕,然后在新建對(duì)話框中選定“數(shù)據(jù)庫”單選鈕,再單擊“新建文件”命令按鈕

      B)單擊“文件”菜單中的“新建”按鈕,然后在新建對(duì)話框中選定“數(shù)據(jù)庫”單選鈕,再單擊“向?qū)А泵畎粹o

      C)單擊“文件”菜單中的“新建”按鈕,然后在新建對(duì)話框中選定“表”單選鈕,再單擊“新建文件”命令按鈕

      D)單擊“文件”菜單中的“新建”按鈕,然后在新建對(duì)話框中選定“表”單選鈕,再單擊“向?qū)А泵畎粹o

      

      (5)將內(nèi)存變量定義為全局變量的Visual FoxPro命令是

      A)LOCAL B)PRIVATE C)PUBLIC D)GLOBAL

      

      (6)擴(kuò)展名為DBC的文件是

      A)表單文件 B)數(shù)據(jù)庫表文件 C)數(shù)據(jù)庫文件 D)項(xiàng)目文件

      

      (7)假設(shè)已經(jīng)生成了名為mymenu的菜單文件,執(zhí)行該菜單文件的命令是

      A)DO mymenu B)DO mymenu.mpr C)DO mymenu.pjx D)DO mymenu.mnx

      

      (8)下面有關(guān)索引的描述正確的是

      A)建立索引以后,原來的數(shù)據(jù)庫表文件中記錄的物理順序?qū)⒈桓淖傿)索引與數(shù)據(jù)庫表的數(shù)據(jù)存儲(chǔ)在一個(gè)文件中

      C)創(chuàng)建索引是創(chuàng)建一個(gè)指向數(shù)據(jù)庫表文件記錄的指針構(gòu)成的文件D)使用索引并不能加快對(duì)表的查詢操作

      

      (9)若所建立索引的字段值不允許重復(fù),并且一個(gè)表中只能創(chuàng)建一個(gè),它應(yīng)該是

      A)主索引 B)惟一索引 C)候選索引 D)普通索引

      

      (10)參照完整性的規(guī)則不包括

      A)更新規(guī)則 B)刪除規(guī)則 C)插入規(guī)則 D)檢索規(guī)則

      

      (11)一個(gè)數(shù)據(jù)庫名為student,要想打開該數(shù)據(jù)庫,應(yīng)使用命令

      A)OPEN student B)OPEN DATA student C)USE DATA student D)USE student 

      (12)下列函數(shù)中函數(shù)值為字符型的是

      A)DATE()B)TIME()C)YEAR()D)DATETIME()

      

      (13)在下面的數(shù)據(jù)類型中默認(rèn)值為.F.的是

      A)數(shù)值型 B)字符型 C)邏輯型 D)日期型

      

      (14)下面有關(guān)HAVING子句描述錯(cuò)誤的是

      A)HAVING子句必須與GROUP BY子句同時(shí)使用,不能單獨(dú)使用B)使用HAVING子句的同時(shí)不能使用WHERE子句

      C)使用HAVING子句的同時(shí)可以使用WHERE子句D)使用HAVING子句的作用是限定分組的條件

      

      (15)~(27)使用的數(shù)據(jù)如下:

      當(dāng)前盤當(dāng)前目錄下有數(shù)據(jù)庫db_stock,其中有數(shù)據(jù)庫表stock.dbf,該數(shù)據(jù)庫表的內(nèi)容是: 股票代碼 股票名稱 單價(jià) 交易所

      600600 青島啤酒 7.48 上海

      600601 方正科技 15.20 上海

      600602 廣電電子 10.40 上海

      600603 興業(yè)房產(chǎn) 12.76 上海

      600604 二紡機(jī) 9.96 上海

      600605 輕工機(jī)械 14.59 上海

      000001 深發(fā)展 7.48 深圳

      000002 深萬科 12.50 深圳

      

      (15)執(zhí)行如下SQL語句后

      SELECT*FROM stock INTO DBF stock ORDER BY 單價(jià)

      A)系統(tǒng)會(huì)提示出錯(cuò)信息B)會(huì)生成一個(gè)按“單價(jià)”升序排序的表文件,將原來的stock.dbf文件覆蓋

      C)會(huì)生成一個(gè)按“單價(jià)”降序排序的表文件,將原來的stock.dbf文件覆蓋

      D)不會(huì)生成排序文件,只在屏幕上顯示一個(gè)按“單價(jià)”升序排序的結(jié)果

      

      (16)執(zhí)行下列程序段以后,內(nèi)存變量a的內(nèi)容是

      CLOSE DATABASE

      a=0

      USE stock

      GO TOP

      DO WHILE.NOT.FOF()

      IF 單價(jià)>10

      a=a+1

      ENDIF

      SKIP

      ENDDO

      A)1 B)3 C)5 D)7

      

      (17)有如下SQL SELECT語句

      SELECT*FROM stock WHERE單價(jià)BETWEEN 12.76 AND 15.20

       與該語句等價(jià)的是

      A)SELECT*FROM stock WHERE 單價(jià)<=15.20.AND.單價(jià)>=12.76

      B)SELECT*FROM stock WHERE 單價(jià)<15.20.AND.單價(jià)>12.76

      C)SELECT*FROM stock WHERE 單價(jià)>=15.20.AND.單價(jià)<=12.76

      D)SELECT*FROM stock WHERE 單價(jià)>15.20.AND.單價(jià)<12.76

      

      (18)如果在建立數(shù)據(jù)庫表stock.dbf時(shí),將單價(jià)字段的字段有效性規(guī)則設(shè)為“單價(jià)>0”,通過該設(shè)置,能保證數(shù)據(jù)的A)實(shí)體完整性 B)域完整性 C)參照完整性 D)表完整性

      

      (19)在當(dāng)前盤當(dāng)前目錄下刪除表stock的命令是

      A)DROP stock B)DELETE TABLE stock C)DROP TABLE stock D)DELETE stock 

      (20)有如下SQL語句

      SELECT max(單價(jià))INTO ARRAY a FROM stock

      執(zhí)行該語句后

      A)a[1]的內(nèi)容為15.20 B)a[1]的內(nèi)容為6 C)a[0]的內(nèi)容為15.20 D)a[0]的內(nèi)容為6 

      (21)有如下SQL語句

      SELECT 股票代碼,avg(單價(jià))as 均價(jià) FROM stock;

      GROUP BY 交易所 INTO DBF temp

      執(zhí)行該語句后temp表中第二條記錄的“均價(jià)”字段的內(nèi)容是

      A)7.48 B)9.99 C)11.73 D)15.20

      

      (22)將stock表的股票名稱字段的寬度由8改為10,應(yīng)使用SQL語句

      A)ALTER TABLE stock股票名稱 WITH c(10)B)ALTER TABLE stock股票名稱 c(10)C)ALTER TABLE stock ALTER股票名稱 c(10)D)ALTER stock ALTER 股票名稱 c(10)

      (23)有如下SQL語句

      CREATE VIEW stock_view AS SELECT*FROM stock WHERE 交易所=“深圳”

      執(zhí)行該語句后產(chǎn)生的視圖包含的記錄個(gè)數(shù)是

      A)1 B)2 C)3 D)4

      

      (24)有如下SQL語句

      CREATE VIEW view_stock AS SELECT 股票名稱AS名稱,單價(jià)FROM stock

      執(zhí)行該語句后產(chǎn)生的視圖含有的字段名是

      A)股票名稱、單價(jià) B)名稱、單價(jià)

      C)名稱、單價(jià)、交易所 D)股票名稱、單價(jià)、交易所

      

      (25)下面有關(guān)對(duì)視圖的描述正確的是

      A)可以使用MODIFY STRUCTURE命令修改視圖的結(jié)構(gòu)B)視圖不能刪除,否則影響原來的數(shù)據(jù)文件

      C)視圖是對(duì)表的復(fù)制產(chǎn)生的D)使用SQL對(duì)視圖進(jìn)行查詢時(shí)必須事先打開該視圖所在的數(shù)據(jù)庫

      

      (26)執(zhí)行如下SQL語句后

      SELECT DISTINCT 單價(jià) FROM stock;

      WHERE 單價(jià)=(SELECT min(單價(jià))FROM stock)INTO DBF stock_x

      表stock_x中的記錄個(gè)數(shù)是

      A)1 B)2 C)3 D)4

      

      (27)求每個(gè)交易所的平均單價(jià)的SQL語句是

      A)SELECT 交易所,avg(單價(jià))FROM stock GROUP BY 單價(jià)B)SELECT 交易所,avg(單價(jià))FROM stock ORDER BY 單價(jià)

      C)SELECT 交易所,avg(單價(jià))FROM stock ORDER BY 交易所D)SELECT 交易所,avg(單價(jià))FROM stock GROUP BY 交易所

      

      (28)視圖設(shè)計(jì)器中含有的、但查詢?cè)O(shè)計(jì)器中卻沒有的選項(xiàng)卡是

      A)篩選 B)排序依據(jù) C)分組依據(jù) D)更新條件

      

      (29)下面關(guān)于查詢描述正確的是

      A)可以使用CREATE VIEW打開查詢?cè)O(shè)計(jì)器B)使用查詢?cè)O(shè)計(jì)器可以生成所有的SQL查詢語句

      C)使用查詢?cè)O(shè)計(jì)器生產(chǎn)的SQL語句存盤后將存放在擴(kuò)展名為QPR的文件中D)使用DO語句執(zhí)行查詢時(shí),可以不帶擴(kuò)展名

      

      (30)使用報(bào)表向?qū)Фx報(bào)表時(shí),定義報(bào)表布局的選項(xiàng)是

      A)列數(shù)、方向、字段布局 B)列數(shù)、行數(shù)、字段布局

      C)行數(shù)、方向、字段布局 D)列數(shù)、行數(shù)、方向

      

      (31)能夠?qū)⒈韱蔚腣isible屬性設(shè)置為.T.,并使表單成為活動(dòng)對(duì)象的方法是

      A)Hide B)Show C)Release D)SetFocus

      

      (32)下面對(duì)編輯框(EditBox)控制屬性的描述正確的是

      A)SelLength屬性的設(shè)置可以小于0B)當(dāng)ScrollBars的屬性值為0時(shí),編輯框內(nèi)包含水平滾動(dòng)條

      C)SelText屬性在做界面設(shè)計(jì)時(shí)不可用,在運(yùn)行時(shí)可讀寫D)Readonly屬性值為.T.時(shí),用戶不能使用編輯框上的滾動(dòng)條

      

      (33)下面對(duì)控件的描述正確的是

      A)用戶可以在組合框中進(jìn)行多重選擇 B)用戶可以在列表框中進(jìn)行多重選擇

      C)用戶可以在一個(gè)選項(xiàng)組中選中多個(gè)選項(xiàng)按鈕D)用戶對(duì)一個(gè)表單內(nèi)的一組復(fù)選框只能選中其中一個(gè)

      

      (34)確定列表框內(nèi)的某個(gè)條目是否被選定應(yīng)使用的屬性是

      A)Value B)ColumnCount C)ListCount D)Selected

      

      (35)設(shè)有關(guān)系R1和R2,經(jīng)過關(guān)系運(yùn)算得到結(jié)果S,則S是

      A)一個(gè)關(guān)系 B)一個(gè)表單 C)一個(gè)數(shù)據(jù)庫 D)一個(gè)數(shù)組

      

      二、填空題(每空2分,共30分)

      請(qǐng)將答案分別寫在答題卡中【1】至【15】的橫線上,答在試卷上不得分。

      

      (1)Visual FoxPro 6.0是一個(gè) [1] 位的數(shù)據(jù)庫管理系統(tǒng)。

      

      (2)在連接運(yùn)算中,[2] 連接是去掉重復(fù)屬性的等值連接。

      

      (3)項(xiàng)目管理器的 [3] 選項(xiàng)卡用于顯示和管理數(shù)據(jù)庫、自由表和查詢等。

      

      (4)自由表的擴(kuò)展名是 [4]。

      

      (5)LEFT(“123456789”,LEN(“數(shù)據(jù)庫”))的計(jì)算結(jié)果是 [5]。

      

      (6)同一個(gè)表的多個(gè)索引可以創(chuàng)建在一個(gè)索引文件中,索引文件名與相關(guān)的表同名,索引文件的擴(kuò)展名是 [6],這種索引稱為 [7]。

      

      (7)用來確定筆選框是否被選中的屬性是 [8],用來指定顯示在復(fù)選框旁的文字的屬性是

      [9]。

       下面各題使用如下的“教師”表和“學(xué)院”表

      “教師”表

      職工號(hào)姓名職稱年齡工資系號(hào)

      11020001 肖天海 副教授35 2000.00 01

      11020002 王巖鹽 教授40 3000.00 02

      11020003 劉星魂 講師25 1500.00 01

      11020004 張?jiān)滦?講師30 1500.00 03

      11020005 李明玉 教授34 2000.00 01

      11020006 孫民山 教授47 2100.00 02

      11020007 錢無名 教授49 2200.00 03

      “學(xué)院”表

       系號(hào) 系名

      01 英語

      02 會(huì)計(jì)

      03 工商管理

      

      (8)使用SQL語句將一條新的記錄插入學(xué)院表INSERT [10] 學(xué)院(系號(hào),系名)[11](“04”,“計(jì)算機(jī)”)

      

      (9)使用SQL語句求“工商管理”系的所有職工的工資總和。

      SELECT [12](工資)FROM 教師;

       WHERE系號(hào)IN 9(SELECT 系號(hào)FROM [13] WHERE 系名=“工商管理”)

      

      (10)使用SQL語句完成如下操作(將所有教授的工資提高5%)[14] 教師 SET 工資=工資*1.05

      [15] 職稱=“教授”

      第五篇:全國計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析

      全國計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之VF基礎(chǔ)(第一章)1.1 數(shù)據(jù)庫基礎(chǔ)知識(shí) 考點(diǎn)1 計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展

      1數(shù)據(jù)與數(shù)據(jù)處理

      數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。

      2計(jì)算機(jī)數(shù)據(jù)管理

      (l)人工管理。

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

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

      (4)分布式數(shù)據(jù)庫系統(tǒng)。

      (5)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)。

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

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

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

      1有關(guān)數(shù)據(jù)庫的概念

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

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

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

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

      2數(shù)據(jù)庫系統(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ù)模型簡介

      為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型來表示,通常有以下3種。

      (1)層次數(shù)據(jù)模型。

      (2)網(wǎng)狀數(shù)據(jù)模型。

      (3)關(guān)系數(shù)據(jù)模型。小提示:

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

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

      1關(guān)系術(shù)語

      (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)系中元組的次序無關(guān)緊要。

      (5)在一個(gè)關(guān)系中列的次序無關(guān)緊要。考點(diǎn)5 關(guān)系運(yùn)算

      對(duì)關(guān)系數(shù)據(jù)庫進(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ù)庫設(shè)計(jì)基礎(chǔ) 考點(diǎn)6 數(shù)據(jù)庫設(shè)計(jì)步驟

      1設(shè)計(jì)原則

      (l)關(guān)系數(shù)據(jù)庫的設(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來開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),可以按照以下步驟來設(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ù)庫管理。

      (2)提高應(yīng)用程序開發(fā)的生產(chǎn)率。

      (3)互操作性與支持Internet。

      (4)充分利用已有數(shù)據(jù)。

      全國計(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來完成。2.2 Visual FoxPro的用戶界面 考點(diǎn)2 Visual FoxPro的主界面

      Visual FoxPro的主界面即其工作環(huán)境,啟動(dòng) Visual FoxPro后,打開如圖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)長,其中“全部”選項(xiàng)卡用來集中顯示該項(xiàng)目中的所有文件,“數(shù)據(jù)”、“文檔”、“類”、“代碼”和“其他“5個(gè)選項(xiàng)卡用來分類顯示各種文件。

      (2)項(xiàng)目管理器一是提供了簡便的、可視化的方法來組織和處理表、數(shù)據(jù)庫、表單、查詢和其他一切文件,通過單擊鼠標(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ū)聊簧匣卮饐栴}或者選擇選項(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ù)庫、查詢和報(bào)表及管理數(shù)據(jù)變得輕而易舉,為初學(xué)者提供了方便??键c(diǎn)8 Visual FoxPro的生成器

      生成器是帶有選項(xiàng)卡的對(duì)話框,用于簡化對(duì)表單、復(fù)雜控件及參照完整性代碼的創(chuàng)建和修改過程。每個(gè)生成器顯示一系列選項(xiàng)卡,用于設(shè)置選中對(duì)象的屬性??墒褂蒙善髟跀?shù)據(jù)庫表之間生成控件、表單、設(shè)置控件格式和創(chuàng)建參照完整性。

      全國計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之?dāng)?shù)據(jù)與數(shù)據(jù)運(yùn)算(第三章)3.1 常量與變量 考點(diǎn)1 常量

      常量用以表示一個(gè)具體的、不變的值。不同類型常量的書寫格式不同。在Visual FoxPro中,常量主要包括以下幾種類型。

      1數(shù)值型常量

      數(shù)值型常量即常數(shù),用來表示一個(gè)數(shù)量的大小,由數(shù)字0~9小數(shù)點(diǎn)和正負(fù)號(hào)組成。

      2貨幣型常量

      貨幣型常量用來表示貨幣值,其書寫格式與數(shù)值型常量類似,但要加上一個(gè)前置的符號(hào)($)。

      3字符型常量

      字符型常量也稱為字符串,其表示方法是用半角單引號(hào)、雙引號(hào)或方括號(hào)把字符串括起來。這里的單引號(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簡單的內(nèi)存變量

      每一個(gè)變量都有一個(gè)名字,可以通過變量名訪問變量。如果當(dāng)前表中存在一個(gè)同名的字段變量,則在訪問內(nèi)存變量時(shí),必須在變量名前加上前綴M.(或M->),否則系統(tǒng)將訪問同名的字段變量。

      2數(shù)組

      與簡單內(nèi)存變量不同,數(shù)組在使用之前一般要用DIMENSION或DECLARE命令顯示創(chuàng)建,規(guī)定數(shù)組是一維數(shù)組還是二維數(shù)組,數(shù)組名和數(shù)組大小。數(shù)組大小由下標(biāo)值的上、下限決定,下限規(guī)定為1。在使用數(shù)組和數(shù)組元素時(shí),應(yīng)注意如下問題。

      (1)在一切使用簡單內(nèi)存變量的地方,均可以使用數(shù)組元素。

      (2)在賦值和輸入語句中使用數(shù)組名時(shí),表示將同一個(gè)值同時(shí)賦給該數(shù)組的全部數(shù)組元素。

      (3)在同一個(gè)運(yùn)行環(huán)境下,數(shù)組名不能與簡單變量名重復(fù)。

      (4)在賦值語句中的表達(dá)式位置不能出現(xiàn)數(shù)組名。

      (5)可以用一維數(shù)組的形式訪問二維數(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è)同名的字段變量,則在訪問內(nèi)存變量時(shí),必須在內(nèi)存變量名前加上前綴M.(或M->),否則系統(tǒng)訪問的將是同名的字段變量。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ù)連接起來形成,其結(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è)<日期>連接起來??键c(diǎn)5 關(guān)系表達(dá)式

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

      關(guān)系表達(dá)式通常也稱為簡單邏輯表達(dá)式,它是由關(guān)系運(yùn)算符將兩個(gè)運(yùn)算對(duì)象連接起來而形成的,即:<表達(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.。考點(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ù)或由它們通過特定的運(yùn)算符連接起來的式子。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ù)沒有自變量。

      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求字符串長度函數(shù)

      格式:LEN(<字符表達(dá)式>)

      功能:返回指定字符表達(dá)式值的長度,即字符個(gè)數(shù)。

      2大小寫轉(zhuǎn)換函數(shù)

      格式:LOWER(<字符表達(dá)式>)UPPER(<字符表達(dá)式>)

      功能:LOWER()將指定表達(dá)式中的大寫字母轉(zhuǎn)換成小寫字母,其他字符保持不變;UPPER()將指定表達(dá)式中的小寫字母轉(zhuǎn)換成大寫字母,其他字符保持不變。

      3空格字符串生成函數(shù)

      格式:SAPCE(<數(shù)值表達(dá)式>)

      功能:返回由指定數(shù)目的空格組成的字符串。

      4側(cè)除前后空格函數(shù)

      格式:TRIM(<字符表達(dá)式>)LTRIM(<字符表達(dá)式>)ALLTRIM(<字符表達(dá)式>)

      功能:TRIM()刪除指定表達(dá)式尾部的空格。LTRIM()刪除指定表達(dá)式前端的空格。ALLTRIM()刪除指定字符串前端和尾部的空格。

      5取子串函數(shù)

      格式:LEFT(<字符表達(dá)式>,<長度>)RIGHT(<字符表達(dá)式>,<長度>)SUBSTR(<字符表達(dá)式>,<起始位置>[,<長度>])

      功能:LEFT()從指定表達(dá)式左端截取一個(gè)指定長度的子串作為函數(shù)值。RIGHT()從指定表達(dá)式右端載取一個(gè)指定長度的子串作為函數(shù)值。SUBSTR()從指定表達(dá)式指定位置截取一個(gè)指定長度的子串作為函數(shù)值,若默認(rèn)<長度>,則截取的子串表示從指定位置開始一直到字符串尾部。

      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ū)分字符串中字符的大小寫。

      8子串替換函數(shù)

      格式:STUFF<字符表達(dá)式1>,<起始位置>,<長度>,<字符表達(dá)式2>)

      功能:用<字符表達(dá)式2>的值替換<字符表達(dá)式I>中由<起始位置>和<長度>指定的一個(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)闆]有對(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è)字符。考點(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á)式中返回秒鐘部分??键c(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á)式>[,<長度>[,<小數(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ù)與其后面的字符無明顯分界,則要用“.”作為函數(shù)結(jié)束標(biāo)識(shí)宏替換可以嵌套使用??键c(diǎn)11 測試函數(shù)

      1值域測試函數(shù)

      格式:BETWEEN(<表達(dá)式1>,<表達(dá)式2>,<表達(dá)式3>)

      功能:判斷一個(gè)表達(dá)式的值是否介于其他兩個(gè)表達(dá)式的值之間。

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

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

      功能:判斷一個(gè)表達(dá)式的運(yùn)算結(jié)果是否為NULL值。

      3“空”值測試函數(shù)

      格式:EMPTY(<表達(dá)式>)

      功能:略。

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

      格式:VARTYPE(<表達(dá)式>[,<邏輯表達(dá)式>])

      功能:測試表達(dá)式的類型,返回一個(gè)大寫字母,函數(shù)值為字符型。字母含義如表3-4所示。

      表3-4 VARTYPE()測得的數(shù)據(jù)類型

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

      格式:EOF([<工作區(qū)號(hào)>|<表別名>])

      功能:測試當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中的記錄指針是否指向文件尾,若是,則返回邏輯真(.T.),否則為邏輯假(.F.)。若在指定工作區(qū)上沒有打開表文件,則函數(shù)返回邏輯假(.F.),若表文件中不包含任何記錄,則函數(shù)返回邏輯真(.T.)。

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

      格式:BOF([<工作區(qū)號(hào)>|<表別名>])

      功能:測試當(dāng)前表義件(若默認(rèn)自變量)或指定表文件中的記錄指針是否指向文件首,若是,則返回邏輯真(.T.),否則為邏輯假(.F.)(若在指定工作區(qū)上沒有打開表文件,則函數(shù)返回邏輯假(.F.),若表文件中不包含任何記錄,則函數(shù)返回邏輯真(.T.)。

      7記錄號(hào)測試函數(shù)

      格式:RECNO([<工作區(qū)號(hào)>|<表別名>])

      功能:返回當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中當(dāng)前記錄的記錄號(hào)。如果指定工作區(qū)上沒有打開表文件,則函數(shù)值為0;如果記錄指針指向文件尾,則函數(shù)值為表文件中的記錄數(shù)加1;如果記錄指針指向文件首,則函數(shù)值為表文件中第一條記錄的記錄號(hào)。

      8記錄個(gè)數(shù)測試函數(shù)

      格式:RECCOUNT([<工作區(qū)號(hào)>|<表別名>])

      功能:返回當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中的記錄個(gè)數(shù)。如果指定工作區(qū)上沒有打開表文件,則函數(shù)值為0,RECCOUNT)函數(shù)不受刪除標(biāo)記及SET DELETED設(shè)置的影響,同樣測試表中所有的記錄個(gè)數(shù)。

      9條件測試函數(shù)

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

      功能:測試<邏輯表達(dá)式>的值,若為邏輯真(.T.),則函數(shù)返回<表達(dá)式1>的值,否則返回<表達(dá)式2>的值<表達(dá)式1>和<表達(dá)式2>的類型可以不相同。

      10記錄刪除測試函數(shù)

      格式:DELETED([<工作區(qū)號(hào)>|<表別名>])

      功能:測試當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中,記錄指針?biāo)傅漠?dāng)前記錄是否有刪除標(biāo)記“*”。若有,則為真,否則為假。

      全國計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之VF數(shù)據(jù)庫及其操作(第四章)4.1 Visual FoxPro數(shù)據(jù)庫及其建立 考點(diǎn)1 建立和使用數(shù)據(jù)庫

      1數(shù)據(jù)庫的建立

      (1)在項(xiàng)目管理器中建立數(shù)據(jù)庫。

      (2)通過“新建”對(duì)話框建立數(shù)據(jù)庫。

      (3)使用命令建立數(shù)據(jù)庫,格式為:

      CREATE DATABASE[DatabaseName |?]

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

      (1)在項(xiàng)目管理器中打開。

      (2)通過“打開”對(duì)話框打開數(shù)據(jù)庫。

      (3)使用命令打開數(shù)據(jù)庫,格式為:

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

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

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

      可以有3種方法打開數(shù)據(jù)庫設(shè)計(jì)器。

      (1)從項(xiàng)目管理器中打開數(shù)據(jù)庫設(shè)計(jì)器。

      (2)從“打開”對(duì)話框中打開數(shù)據(jù)庫設(shè)計(jì)器。

      (3)使用命令打開數(shù)據(jù)庫設(shè)計(jì)器,格式為: MODIFY DATABASE[DatabaseName|?]

      在項(xiàng)目管理器中不管刪除還是移去數(shù)據(jù)庫文件,都不會(huì)刪除其所包含的各個(gè)對(duì)象做口數(shù)據(jù)表)。如果要在刪除數(shù)據(jù)庫的同時(shí)刪除其所包含的數(shù)據(jù)表,就必須使用命令,格式為: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:

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

      4.2 建立數(shù)據(jù)庫表 考點(diǎn)3 在數(shù)據(jù)庫中建立表

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

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

      1字段名

      (l)自由表字段名最長為10個(gè)字符。

      (2)數(shù)據(jù)庫表字段名最長為128個(gè)字符。

      (3)字段名必須以字母或漢字開頭。

      (4)字段名可以由字母、漢字、數(shù)字和下劃線組成。

      (5)字段名中不能包含空格。

      2字段類型和寬度

      (1)字符型:可以是字母、數(shù)字等各種字符型文本,如用戶名稱。

      (2)貨幣型:貨幣單位,如貨物價(jià)格。

      (3)數(shù)值型:整數(shù)或小數(shù),如訂貨數(shù)量。

      (3)浮點(diǎn)型:功能類似于“數(shù)值型”,其長度在表中最長可達(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)備注型:不定長的字符型文本。在表中占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)字段名是英文或縮寫時(shí),則通過指定標(biāo)題可以使界面更友好。

      6字段注釋

      可以為每個(gè)字段添加注釋,便于日后或其他人對(duì)數(shù)據(jù)庫進(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命令打開要修改的數(shù)據(jù)表,然后利用MODIFY STRUCTURE打開表設(shè)計(jì)器進(jìn)行修改,具體操作有以下幾種。

      (1)修改已有字段。

      (2)添加新字段。

      (3)刪除不用的字段。4.3 表的基本操作 考點(diǎn)5 使用瀏覽器操作表

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

      1瀏覽器操作

      (1)下一記錄(下箭頭鍵)。

      (2)前一記錄(上箭頭鍵)。

      (3)下一頁(PageDown鍵)。

      (4)上一頁(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用來刪除記錄的命令如下。

      (1)設(shè)置刪除標(biāo)記的命令

      格式:DELETE [FOR lExpressionl]

      說明:如果不使用FOR短語指定邏輯條件,則只刪除當(dāng)前記錄,否則邏輯刪除滿足條件的所有記錄。

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

      格式:RECALL [FOR lExpressionl]

      說明:使用該命令恢復(fù)表中邏輯刪除的記錄,短語FOR的功能同上。

      (3)物理刪除有刪除標(biāo)記的記錄

      格式:PACK

      說明:此命令用來物理刪除當(dāng)前表中所有帶刪除標(biāo)記的記錄。

      (4)物理刪除表中的全部記錄

      格式:ZAP

      說明:不管表中記錄是否帶有刪除標(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):無、升序和降序(默認(rèn)是無)。如果選定升序或降序,則在對(duì)應(yīng)的字段上建立一個(gè)普通索引,索引名與字段名同名,索引表達(dá)式就是對(duì)應(yīng)的字段。

      2復(fù)合字段索引

      (1)在“索引”選項(xiàng)卡中的索引名欄目中輸入索引名。

      (2)在索引類型的下拉框中選擇索引類型。

      (3)單擊表達(dá)式欄右側(cè)的按鈕,打開表達(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]

      從索引的組織方式來講,索引共有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ù)合索引文件可隨表的打開而打開,在同一個(gè)索引文件中能包含多個(gè)索引方案或索引關(guān)鍵字,在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)索引??键c(diǎn)10 索引的使用

      (l)打開索引文件,格式為: 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ù)庫表中只能有一個(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中通過主索引和候選索引來保證數(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ān)聯(lián)的另一個(gè)表中的數(shù)據(jù),檢查對(duì)表的數(shù)據(jù)操作是否正確。

      在數(shù)據(jù)庫設(shè)計(jì)器中設(shè)計(jì)表之間的聯(lián)系時(shí),要在父表中建立主索引,在子表中建立普通索引,然后通過父表主索引和子表的普通索引建立起兩個(gè)表之間的聯(lián)系。

      2設(shè)置參照完整性約束

      建立參照完整性之前,首先必須清理數(shù)據(jù)庫,即物理刪除表中被邏輯刪除的記錄,然后選擇兩個(gè)關(guān)聯(lián)表之間的連線并選擇“數(shù)據(jù)庫”、“編輯參照完整性”菜單命令,打開如圖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ù)庫表與自由表

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

      1建立自由表的方法

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

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

      (3)在沒有打開數(shù)據(jù)庫的情況下,在命令窗口輸入CREATE命令,新建自由表。

      2數(shù)據(jù)庫表相對(duì)于自由表的特點(diǎn)

      (l)數(shù)據(jù)庫表可以使用長表名,在表中可以使用長字段名。

      (2)可以為數(shù)據(jù)庫表中的字段指定標(biāo)題和添加注釋。

      (3)可以為數(shù)據(jù)庫表中的字段指定默認(rèn)值和輸入掩碼。

      (4)數(shù)據(jù)庫表的字段有默認(rèn)的控件類。

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

      (6)數(shù)據(jù)庫表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系。

      (7)支持INSERT,UPDATE和DELETE事件的觸發(fā)器??键c(diǎn)15 將自由表添加到數(shù)據(jù)庫中

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

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

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

      REMOVE TABLE TableName |?[DELETE][RECYCLE]

      (2)從項(xiàng)目管理器中移出數(shù)據(jù)庫。

      (3)從數(shù)據(jù)庫設(shè)計(jì)器中移出數(shù)據(jù)庫。4.7 多個(gè)表的同時(shí)使用

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

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

      另外還可以在USE命令中通過ALIAS短語指定表別名。

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

      除了使用SELECT命令切換不同的工作區(qū)之外,也可以在一個(gè)工作區(qū)使用其他工作區(qū)的數(shù)據(jù)表。即通過短語: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。

      說明:eExpressionl是指建立臨時(shí)聯(lián)系的索引關(guān)鍵字,一般是父表的主索引,子表的普通索引。用工作區(qū)號(hào) nWorkAreal或表的別名cTableAlias I說明臨時(shí)聯(lián)系是由當(dāng)前工作區(qū)的表到哪個(gè)表。

      利用SET RELATION TO命令將取消當(dāng)前表到所有表的臨時(shí)聯(lián)系。

      全國計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL 5.1 SQL概述 考點(diǎn)1 概述

      1概念

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

      SQL語言的特點(diǎn)

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

      (2)一種高度非過程化的語言。

      (3)語言非常簡潔。

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

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

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

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

      1簡單查詢

      簡單查詢是由SELECT和FROM短語構(gòu)成的無條件查詢,或由SELECT,F(xiàn)ROM和WHERE短語構(gòu)成的條件查詢。

      2簡單的連接查詢

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

      3嵌套查詢

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

      BETWEEN?AND?

      含義:該查詢的條件是在??范圍之內(nèi),相當(dāng)于用AND連接的一個(gè)邏輯表達(dá)式。

      LIKE

      含義:它是一個(gè)字符串匹配運(yùn)算符,與之搭配使用的通配符包括“*”和“?”。考點(diǎn)4 排序

      使用SQL SELECT可以將查詢結(jié)果進(jìn)行排序,排序的短語是ORDER BY。

      格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]?]

      說明:可以按升序(ASC)或降序(DESC)排序,允許按一列或多列排序??键c(diǎn)5 計(jì)算查詢

      1簡單的計(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]

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

      (1)SQL語句允許在二OM短語中為關(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是用來檢查在子查詢中是否有結(jié)果返回,即存在元組或不存在元組。其本身并沒有進(jìn)行任何運(yùn)算或比較,只用來返回子查詢結(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)將來自另一個(gè)表的屬性值置為空值。在一般SQL中超鏈接運(yùn)算符是“*=”(左連接)和“=*”(右連接)。

      (2)在Visual FoxPro中不支持超鏈接運(yùn)算符“*=”和“=*”,Visual FoxPro有專門的連接運(yùn)算。下面拼出SQL中超鏈接的部分語句格式:

      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

      說明:利用WHERE字句指定條件,以更新滿足條件的一些記錄的字段值,并巨一次可更新多個(gè)字段;如果不使用WHERE子句,則更新全部記錄??键c(diǎn)12 刪除

      SQL從表中刪除數(shù)據(jù)的命令格式如下: DELETE FROM TableName[WHERE Condition]

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

      當(dāng)一個(gè)表定義一個(gè)主索引或候選索引后,由于相應(yīng)的字段具有關(guān)鍵字的特性,即不能為空,所以只能用此命令插入記錄、)APPEND和INSERT都是插入一條空白記錄再輸入各字段的值,故不能用它們來插入記錄。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

      說明:此命令除了建立表的基本功能外,還包括滿足實(shí)體完整性的主關(guān)鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯(cuò)提示信息ERROR、定義默認(rèn)值DEFAULT等,另外還有描述表之間聯(lián)系的FOREIGN KEY和REFERENCES等。考點(diǎn)14 表的刪除

      利用SQL命令刪除表,可直接使用語句,格式為: DROP TABLE Table_name

      說明:如果刪除的是自由表,則應(yīng)該將當(dāng)前打開的數(shù)據(jù)庫先關(guān)閉,才能進(jìn)行刪除。如果刪除數(shù)據(jù)庫表,則要先打開數(shù)據(jù)庫,在數(shù)據(jù)庫中進(jìn)行操作二否則,即使刪除了數(shù)據(jù)庫表,但記錄在數(shù)據(jù)庫中的信息并沒有被刪除,此后會(huì)出現(xiàn)錯(cuò)誤提示??键c(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è)表派生出來的視圖

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

      3從多個(gè)表派生出來的視圖

      視圖一方面可以限定對(duì)數(shù)據(jù)的訪問,另一方面又可以簡化對(duì)數(shù)據(jù)的訪問。

      4視圖的刪除

      視圖由于是從表派生出來的,所以不存在修改結(jié)構(gòu)的問題,但是視圖可以刪除。

      格式:DROP VIEW<視圖名>

      5關(guān)于視圖的說明

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

      全國計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之查詢與視圖(第六章)

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

      1查詢的概念

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

      2查詢的建立

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

      (l)可以利用CREATE QUERY命令打開查詢?cè)O(shè)計(jì)器建立查詢。

      (2)可以利用“新建”對(duì)話框打開查詢?cè)O(shè)計(jì)器建立查詢。

      (3)可以在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開查詢?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語句的各短語是相對(duì)應(yīng)的,對(duì)應(yīng)關(guān)系如下。

      “字段”――SELECT短語,用于指定要查詢的數(shù)據(jù)

      “連接”――JOIN ON短語,用于編輯連接條件。

      “篩選”――WHERE短語,用于指定查詢條件。

      “排序依據(jù)”――ORDER BY短語,用于指定排序字段和排序方式。

      “分組依據(jù)”――GROUP BY短語和HAVING短語,用于分組。

      圖6-2 查詢?cè)O(shè)計(jì)器

      3查詢的運(yùn)行

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

      (1)可以在項(xiàng)口管理器的“數(shù)據(jù)”選項(xiàng)卡中,展開“查詢”選項(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)ハ?。通過“查詢”菜單卜的“查詢?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視圖的概念

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

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

      2視圖的建立

      (l)用CREATE VIEW命令打開視圖設(shè)計(jì)器建立視圖。

      (2)利用“新建”對(duì)話框打開視圖設(shè)計(jì)器建立視圖。

      (3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開視圖設(shè)計(jì)器建立視圖。

      (4)利用SQL命令CREATE VIEW...AS...建立視圖。

      3視圖設(shè)計(jì)象

      視圖設(shè)計(jì)器(如圖6一所示)與查詢?cè)O(shè)計(jì)器基本上一樣,主要有以下幾點(diǎn)不同。

      (1)視圖的結(jié)果保存在數(shù)據(jù)庫中,在磁盤上找不到類似的文件。

      (2)視圖可以用來更新數(shù)據(jù),因此在設(shè)計(jì)器中多了一個(gè)“更新條件”選項(xiàng)卡。

      (3)在視圖中沒有“查詢?nèi)ハ颉钡膯栴}。

      圖6-4 視圖設(shè)計(jì)器 考點(diǎn)3 遠(yuǎn)程視圖與連接

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

      1定義數(shù)據(jù)源和連接

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

      2建立連接

      建立連接的方法有以下幾種。

      (1)用CREATE CONNECTION命令打開“連接設(shè)計(jì)器”,或完全用命令方式建立連接。

      (2)通過“新建”對(duì)話框建立連接。

      (3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中建立連接。

      3設(shè)計(jì)遠(yuǎn)程視圖

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

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

      1指定可更新的表

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

      2指定可更新的字段

      在“字段名”列表框中列出了與更新有關(guān)的字段,在字段名左側(cè)有兩列標(biāo)志,“鑰匙”表示關(guān)鍵字,“鉛筆”表示更新通過單擊相應(yīng)列可以改變相關(guān)的狀態(tài),默認(rèn)可以更新所有非關(guān)鍵字字段,并且通過基本表的關(guān)鍵字完成更新,即Visual FoxPro用這些關(guān)鍵字字段來唯一標(biāo)識(shí)那些已在視圖中修改過的基本表中的記錄建議不要改變關(guān)鍵字的狀態(tài),不要試圖通過視圖來更新基本表中的關(guān)鍵字字段值,如有必要,可以指定更新非關(guān)鍵字字段值

      3檢查更新的合法性

      如圖6-1所示,“SQL WHERE子句包括”框中的選項(xiàng)決定哪些字段包含在UPDATE或DELETE語句的WHERE子句中,Visual FoxPro正是利用這些語句將在視圖中修改或刪除的記錄發(fā)送到遠(yuǎn)程數(shù)據(jù)源或基本表中,WHERE子句就是用來檢查自從提取記錄用于視圖中后,服務(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命令更新基本表??键c(diǎn)5 使用視圖

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

      1視圖操作

      (1)在數(shù)據(jù)庫中使用USE命令打開或關(guān)閉視圖。

      (2)在“瀏覽器”窗口中顯示或修改視圖中的記錄。

      (3)使用SQL語句操作視圖。

      (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ú)立存在的基本表,它是由基本表派生出來的,只能修改視圖的定義。

      小提示:

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

      全國計(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程序文件的建立與修改

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

      (l)打開文本編輯窗口。

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

      (3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。

      3打開或修改程序文件的方法

      (1)從“文件”菜單中選擇“打開”命令,彈出“打開”對(duì)話框。

      (2)在“文件類型”列表框中選擇“程序”。

      (3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。

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

      4程序文件的執(zhí)行

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

      (l)菜單方式。

      (2)命令方式??键c(diǎn)2 簡單的輸入輸出命令

      程序一般都包含數(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)存變量>用來保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標(biāo),那么<內(nèi)存變量>中保存的將是空串若不選TO <內(nèi)存變量>短語,則輸入的單字符不保留。小提示:

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

      程序結(jié)構(gòu)是指程序中命令或語句執(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é)構(gòu),它是按命令在程序中出現(xiàn)的先后次序依次執(zhí)行??键c(diǎn)4 選擇結(jié)構(gòu)

      支持選擇結(jié)構(gòu)的語句包括條件語句和分支語句。

      1條件語句

      格式: IF<條件> <語句序列1> [ELSE> <語句序列2>] ENDIF

      功能:該語句根據(jù)<條件>是否成立從兩組代碼中選擇一組執(zhí)行。

      語句的執(zhí)行流程圖如圖7-1和圖7-2所示。

      圖7-1有ELSE的選擇語句

      圖7-2無ELSE的選擇語句

      2分支語句

      格式:DO CASE CASE<條件1> <語句序列1> CASE<條件2> <語句序列2> ??

      CASE<條件n> <語句序列n> [OTHERWISE <語句序列>] ENDCASE

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

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

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

      DO WHILEENDFOR語句 格式:

      FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長>] <循環(huán)體> ENDFOR

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

      SCAN-ENDSCAN語句

      格式:

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

      功能:該循環(huán)語句一般用于處理表中記錄,語句可指明需要處理的記錄范圍及應(yīng)滿足的條件。執(zhí)行該語句時(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)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊??键c(diǎn)6 模塊的定義和調(diào)用

      1模塊的定義

      在Visual FoxPro中,模塊可以是命令文件,也可以是過程。過程定義的語句格式為: PROCEDURE|FUNCTION<過程名> <命令序列> [RETURN[<表達(dá)式>]] [ENDPROCIENDFUNC]

      功能說明如下。

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

      (2)當(dāng)程序執(zhí)行到RETURN命令時(shí),控制將轉(zhuǎn)回到調(diào)用處(或命令窗口),并返回表達(dá)式的值。若默認(rèn)RETURN命令,系統(tǒng)將在過程結(jié)束處自動(dòng)調(diào)用一條隱含的RETURN命令。

      (3)ENDPROC|ENDFUNC命令表示一個(gè)過程的結(jié)束。如果默認(rèn)此語句,那么過程結(jié)束于下一條PROCEDURE|FUNCTION命令或文件尾。

      2模塊的調(diào)用

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

      (1)使用DO命令,格式如下。DO<文件名>|<過程名>

      (2)在名字后加一對(duì)小括號(hào),格式如下。<文件名>|<過程名>()

      3打開過程文件

      命令格式如下。

      SET PROCEDURE TO[<過程文件1>[,<過程文件2>,?][ADDITIVE]

      4關(guān)閉過程文件

      命令格式如下。

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

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

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

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

      說明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無其他區(qū)別。

      不管是PARAMETERS或LPARAMETERS,都應(yīng)該是模塊程序的第一條可執(zhí)行命令。

      (1)調(diào)用參數(shù)調(diào)用模塊程序參數(shù)的格式如下。

      DO<文件名>|<過程名>WITH<實(shí)參1>[,<實(shí)參2>,?] <文件名>|<過程名>(<實(shí)參1>[,<實(shí)參2>,?])

      說明:實(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)是有效或能夠被訪問的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。

      1.公共變量

      在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。PUBLIC<內(nèi)存變量表>

      說明:該命令是建立公共的內(nèi)存變量,并賦以初值邏輯假.F.。建立好的公共變量一直有效,即使程序結(jié)束返回命令窗口也不會(huì)消失,只有執(zhí)行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。

      2私有變量

      在程序中直接使用(沒有預(yù)先聲明),而由系統(tǒng)自動(dòng)隱含建立的變量都是私有變量。

      私有變量的作用域是建立它的模塊及其下屬的各層模塊。

      3局部變量

      局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結(jié)束時(shí),自動(dòng)釋放局部變量。格式如下 LOCAL<內(nèi)存變量表>

      說明:該變量同樣給建立的內(nèi)存變量賦以初值邏輯假.F.,也必須先定義后使用。當(dāng)子程序中定義的變量名與主程序中同名時(shí),為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時(shí)無效。格式如下。

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

      (2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。

      說明:該命令并不建立內(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ò)誤,只能由用戶自己來查錯(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í)行過程中,當(dāng)該表達(dá)式值為邏輯真.T.時(shí),中斷程序運(yùn)行。

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

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

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

      (2)繼續(xù)執(zhí)行:當(dāng)程序被中斷時(shí),該命令可使程序在中斷處繼續(xù)往下執(zhí)行。

      (3)取消:終止程序的調(diào)試執(zhí)行,并關(guān)閉程序。

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

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

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

      (7)單步跟蹤:單步執(zhí)行下一行代碼。

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

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

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

      全國計(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)屬性:用來表示對(duì)象的狀態(tài)。

      (2)方法:用來描述對(duì)象的行為。

      2類(Class)

      類是對(duì)一類相似對(duì)象性質(zhì)的描述。同類對(duì)象具有相同的性質(zhì):相同的屬性及方法??键c(diǎn)2 子類與繼承

      下載計(jì)算機(jī)二級(jí)VF據(jù)庫操作命令(5篇)word格式文檔
      下載計(jì)算機(jī)二級(jí)VF據(jù)庫操作命令(5篇).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)范文推薦

        計(jì)算機(jī)二級(jí)VF SQL語句??伎偨Y(jié)。

        數(shù)據(jù)庫相關(guān)操作命令: 1、 新建數(shù)據(jù)庫AA :create database AA2、打開數(shù)據(jù)庫AA :open databaseAA 3、 選擇AA為當(dāng)前數(shù)據(jù)庫:set database to AA4、修改數(shù)據(jù)庫AA:Modify database AA......

        計(jì)算機(jī)基礎(chǔ)vf例題!!

        一,已知一個(gè)數(shù),取出其中各個(gè)數(shù)位上的書 1, 若一個(gè)四位正整數(shù)是另一個(gè)正整數(shù)的平方,且各位數(shù)字的和是一個(gè)平方數(shù),則稱該四位正整數(shù)是“四位雙平方數(shù)”。例如:由于7396=86^2,且7+3+9......

        計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)數(shù)據(jù)常量.(共5則)

        計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn):數(shù)據(jù)常量 關(guān)于數(shù)據(jù)(常量) ★ 數(shù)據(jù)(常量)的類型有:⊙數(shù)值型(N):占8個(gè)字節(jié)。 ⊙貨幣型(Y):占8個(gè)字節(jié)。 ⊙字符型(C) ⊙日期型(D):占8個(gè)字節(jié)。 ⊙日......

        2007年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)VF筆試試題

        第二部分 物業(yè)管理基礎(chǔ)(51~150題,共100道題) 一、單項(xiàng)選擇題(51~110題,每題1分,共60分。每小題只有一個(gè)最恰當(dāng)?shù)拇鸢福?qǐng)?jiān)诖痤}卡上將所選答的相應(yīng)字母涂黑) 51、以下關(guān)于各項(xiàng)物......

        vf計(jì)算機(jī)教學(xué)工作總結(jié)2010

        2010-2011學(xué)年春季學(xué)期計(jì)算機(jī)教學(xué)工作總結(jié) 本學(xué)期我任教10級(jí)體育系一、二班的大學(xué)計(jì)算機(jī)技術(shù)基礎(chǔ)教學(xué)在各位領(lǐng)導(dǎo)和老師的熱心支持和幫助下,我認(rèn)真做好教學(xué)工作,積極 完成學(xué)校......

        二級(jí)庫管理制度

        二級(jí)庫管理制度 本著全面貫徹醫(yī)院醫(yī)用耗材精細(xì)化管理工作的精神,根據(jù)《泰山醫(yī)學(xué)院醫(yī)用耗材管理制度》等相關(guān)管理的規(guī)定,針對(duì)高值耗材、植入類產(chǎn)品管理中凸顯問題,現(xiàn)制定醫(yī)學(xué)裝......

        二級(jí)庫管理制度

        二級(jí)庫管理制度 生效日期:2011年3月17日 修訂日期: 本著全面貫徹醫(yī)院醫(yī)用耗材精細(xì)化管理工作的精神,根據(jù)《山東大學(xué)第二醫(yī)院醫(yī)用耗材管理制度》《山東大學(xué)第二醫(yī)院倉庫工作制度......

        二級(jí)庫管理

        二級(jí)庫管理制度 部門的二級(jí)庫管理是成本、費(fèi)用、核算管理中重要的控制點(diǎn),其工作水平的好壞直接關(guān)系到所在部門的各類財(cái)產(chǎn)是否被充分利用,不被擱置;購入的原材料、物品是否保管......