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

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

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

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

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

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

      時(shí)間:2019-05-14 09:23:07下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP考點(diǎn)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP考點(diǎ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)開發(fā)人員開發(fā)的。數(shù)據(jù)庫(kù)管理員(DBA):DBA的職責(zé)不包括開發(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)螕簟伴_始”→“程序” →“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)目名] 打開:(1)鼠標(biāo)操作:“文件”→“打開”。

      (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)打開項(xiàng)目

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

      (1)打開項(xiàng)目

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

      (1)打開項(xiàng)目

      (2)在項(xiàng)目管理器“數(shù)據(jù)”選項(xiàng)卡中將“數(shù)據(jù)庫(kù)”展開,選中某個(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)打開數(shù)據(jù)庫(kù)設(shè)計(jì)器 ★而命令操作僅僅是創(chuàng)建數(shù)據(jù)庫(kù),不直接出現(xiàn)該設(shè)計(jì)器。打開:(1)鼠標(biāo)操作:“文件”→“打開” →在文件類型中選“數(shù)據(jù)庫(kù)”。

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

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

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

      ⊙NOUPDATE:以只讀方式打開。

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

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

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

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

      (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:在程序中使用,打開數(shù)據(jù)庫(kù)設(shè)計(jì)器后不暫停,主要為了程序連貫,實(shí)現(xiàn)無(wú)人職守。

      ⊙NOEDIT:只打開數(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)打開多個(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)操作:打開項(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ù)處于打開狀態(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)操作:打開數(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ì)器的打開與修改:①鼠標(biāo)操作:打開數(shù)據(jù)庫(kù)設(shè)計(jì)器,在里面找到進(jìn)行結(jié)構(gòu)修改的表,在那張表上右擊選擇“修改”。

      ②命令操作:use [表名]

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

      內(nèi)容部分

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

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

      表瀏覽器的打開:①鼠標(biāo)操作:打開數(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ǔ)句(見第四章)。

      Ⅱ 刪除記錄:(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)前記錄沒有刪除標(biāo)記,則該命令什么事也不做);否則恢復(fù)滿足條件的記錄。

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

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

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

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

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

      (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)操作:打開表瀏覽器,用鼠標(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)建自由表:在沒有任何數(shù)據(jù)庫(kù)打開的狀態(tài)下,新建的表就是自由表。

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

      ②命令操作:create [表名]

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

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

      ②命令操作:use [表名]

      Modify structure

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

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

      ②命令操作:use [表名]

      Browse 三 自由表和數(shù)據(jù)庫(kù)表之間的轉(zhuǎn)換 自由表→數(shù)據(jù)庫(kù)表:打開數(shù)據(jù)庫(kù)設(shè)計(jì)器→在里面空白處右擊→選擇“添加表”。數(shù)據(jù)庫(kù)表→自由表:打開數(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)操作:①打開此表的表設(shè)計(jì)器,選擇要建立索引的字段,在其同行的?索引?那一列中,按照題目要求選?升序?或?降序?(題目若無(wú)要求,則選“升序”)。

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

      進(jìn)行填寫。

      Ⅱ 命令操作建立索引:

      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 [索引文件名] 打開索引文件

      ② 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í)打開32767個(gè)表,因?yàn)橥瑫r(shí)只能打開32767個(gè)工作區(qū),就是說(shuō)一個(gè)工作區(qū)只能同時(shí)打開一個(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”

      連接查詢的另一種寫法: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

      修改(打開)表單: 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),在“打開”對(duì)話框中選中表“course”并單擊“確定”按鈕,接著關(guān)閉“添加表或視圖”對(duì)話框。

      3.在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中,按住表“course”,然后拖動(dòng)鼠標(biāo)至“表單設(shè)計(jì)器”中,松開鼠標(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)建”按鈕,打開文本編輯窗口,輸入下面兩行代碼:

      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.打開上一題中建立好的菜單文件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……”。

      打開(修改)報(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)用題)。

      本書相關(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

      打開視圖: USE 視圖名 ★只有當(dāng)數(shù)據(jù)庫(kù)為打開狀態(tài)時(shí)才有用。創(chuàng)建表單: CREATE FROM

      修改(打開)表單: 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……”。

      打開(修改)報(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í)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)??键c(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)表中沒有元素時(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:二叉樹性質(zhì)

      (1)

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

      (2)

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

      (3)

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

      (4)

      樹的最大層次稱為樹的深度

      (5)

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

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

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

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

      (9)

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

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

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

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

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

      先遍歷左子樹、然后遍歷右子樹,最后訪問(wèn)根結(jié)點(diǎn);并且,在遍歷左、右子 樹時(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ǔ)句:在程序開發(fā)過(guò)程中要限制使用goto 語(yǔ)句。考點(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ò)程稱為軟件生命周期。軟件生命周期還可以分為軟件定義、軟件開發(fā)、軟件運(yùn)行維護(hù)階段 軟件定義階段包括:可行性研究、需求分析

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

      考點(diǎn)3:軟件工程的理論和技術(shù)性研究主要包括:軟件開發(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ō)明書是需求分析階段的最后成果 考點(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ù)視圖,也就是用戶所見到的數(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)開發(fā)人員利用數(shù)據(jù)庫(kù)系統(tǒng)資源開發(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)緊要。考點(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)開發(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)用程序開發(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)打開文本編輯窗口。

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

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

      (1)從“文件”菜單中選擇“打開”命令,彈出“打開”對(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)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊。考點(diǎn)6 模塊的定義和調(diào)用 1模塊的定義

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

      (1)PROCEDURE|FUNCTION命令表示一個(gè)過(guò)程的開始,并命名過(guò)程。過(guò)程名必須以字母或下劃線開頭,可以包含數(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打開過(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私有變量

      在程序中直接使用(沒有預(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í)行在跟蹤窗口中打開的程序:

      (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)用語(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)速:打開“調(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ù)的打開

      (1)在項(xiàng)目管理器中打開。(2)通過(guò)“打開”對(duì)話框打開數(shù)據(jù)庫(kù)。(3)使用命令打開數(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í)際是打開數(shù)據(jù)庫(kù)設(shè)計(jì)器,完成數(shù)據(jù)庫(kù)中各種對(duì)象的建立、修改和刪除等操作。

      可以有3種方法打開數(shù)據(jù)庫(kù)設(shè)計(jì)器。(1)從項(xiàng)目管理器中打開數(shù)據(jù)庫(kù)設(shè)計(jì)器。(2)從“打開”對(duì)話框中打開數(shù)據(jù)庫(kù)設(shè)計(jì)器。(3)使用命令打開數(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打開的只是數(shù)據(jù)庫(kù)的工作環(huán)境,并不會(huì)進(jìn)入數(shù)據(jù)庫(kù)設(shè)計(jì)器;Modify DataBase是打開數(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命令先打開數(shù)據(jù)庫(kù),然后利用CREATE命令打開表設(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)字段名必須以字母或漢字開頭。

      (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)字段名是英文或縮寫時(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命令打開要修改的數(shù)據(jù)表,然后利用MODIFY STRUCTURE打開表設(shè)計(jì)器進(jìn)行修改,具體操作有以下幾種。(1)修改已有字段。(2)添加新字段。(3)刪除不用的字段。4.3 表的基本操作

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

      在交互式工作方式下,最簡(jiǎn)單、方便的方法就是使用BROWSE瀏覽器瀏覽表,打開瀏覽器的方法有多種。在項(xiàng)目管理器中將數(shù)據(jù)庫(kù)展開至表,然后單擊“瀏覽”按鈕,或直接在窗口中輸入BROWSE命令(首先應(yīng)該打開表文件)。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è)的按鈕,打開表達(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ù)合索引文件可隨表的打開而打開,在同一個(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ù)庫(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ù)”、“編輯參照完整性”菜單命令,打開如圖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ù)的表。在沒有打開數(shù)據(jù)庫(kù)時(shí),所建立的表就是自由表。數(shù)據(jù)庫(kù)表與自由表之間可以相互轉(zhuǎn)化。1建立自由表的方法

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

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

      (3)在沒有打開數(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ā)器??键c(diǎn)15 將自由表添加到數(shù)據(jù)庫(kù)中

      (1)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中可利用“數(shù)據(jù)庫(kù)”→“添加表”菜單命令,在“打開”對(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中,一次可以打開多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)都可以打開多個(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命令中通過(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的縮寫。它包括數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制4部分。Visual FoxPro在SQL方面支持?jǐn)?shù)據(jù)定義、數(shù)據(jù)查詢和數(shù)據(jù)操縱功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它沒有提供數(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子句并不矛盾??键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)系的自連接操作中,別名是必不可少的。考點(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é)果返回,即存在元組或不存在元組。其本身并沒有進(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子句,則更新全部記錄??键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)前打開的數(shù)據(jù)庫(kù)先關(guān)閉,才能進(jìn)行刪除。如果刪除數(shù)據(jù)庫(kù)表,則要先打開數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中進(jìn)行操作二否則,即使刪除了數(shù)據(jù)庫(kù)表,但記錄在數(shù)據(jù)庫(kù)中的信息并沒有被刪除,此后會(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è)表派生出來(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命令打開查詢?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語(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)卡中,展開“查詢”選項(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ù)打開時(shí)才能使用。

      視圖兼有“表”和“查詢”的特點(diǎn),與查詢相類似的地方是可以用來(lái)從一個(gè)或多個(gè)相關(guān)聯(lián)的表中提取有用信息;與表類似的地方是可以用來(lái)更新其中的信息,并將結(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ù)庫(kù)中,在磁盤上找不到類似的文件。

      (2)視圖可以用來(lái)更新數(shù)據(jù),因此在設(shè)計(jì)器中多了一個(gè)“更新條件”選項(xiàng)卡。(3)在視圖中沒有“查詢?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ù)源,開放數(shù)據(jù)庫(kù)互連ODBC是一種連接數(shù)據(jù)庫(kù)的通用標(biāo)準(zhǔn)。為了定義ODBC數(shù)據(jù)源,必須首先安裝ODBC驅(qū)動(dòng)程序。2建立連接

      建立連接的方法有以下幾種。(1)用CREATE CONNECTION命令打開“連接設(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命令更新基本表??键c(diǎn)5 使用視圖

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

      (1)在數(shù)據(jù)庫(kù)中使用USE命令打開或關(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ì):相同的屬性及方法。考點(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)按鈕,打開“向?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)打開表單設(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)行”命令,打開“運(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)選擇“表單”菜單中的“新建屬性”命令,打開“新建屬性”對(duì)話框,如圖8-1所示。(2)在“名稱”文本框中輸入新屬性的名稱。

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

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

      2創(chuàng)建新方法

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

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

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

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

      3編輯方法或事件代碼

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

      (1)選擇“顯示”菜單中的“代碼”命令,打開代碼編輯窗口,如圖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)境”命令打開或關(guān)閉。

      圖8-4 “屬性”窗口

      3“表單控件”工具欄

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

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

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

      “表單設(shè)計(jì)器”工具欄如圖8-6所示,它可以通過(guò)“顯示”菜單中的“工具欄”命令打開或關(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ì)器”工具欄上的“布局工具欄”按鈕或選擇“顯示”菜單中的“布局工具欄”命令打開或關(guān)閉。3設(shè)置Tab鍵次序

      當(dāng)表單運(yùn)行時(shí),用戶可以按Tab鍵選擇表單中的控件,使焦點(diǎn)在控件間移動(dòng)。控件的Tab鍵次序決定了選擇控件的次序。Visual FoxPro提供了兩種方式來(lái)設(shè)置Tab鍵次序:交互方式和列表方式。考點(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)行或打開表單時(shí),是否打開數(shù)據(jù)環(huán)境中的表和視圖,默認(rèn)值為邏輯真.T.)。

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

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

      可通過(guò)單擊“表單設(shè)計(jì)器”工具欄中的“數(shù)據(jù)環(huán)境”按鈕,也可以選擇“顯示”菜單中的“數(shù)據(jù)環(huán)境”命令打開或關(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ì)器”窗口,然后在彈出的快捷菜單中選擇“添加”命令,打開“添加表或視圖”對(duì)話框。

      (2)選擇要添加的表或視圖并單擊“添加”按鈕。如果單擊“其他”按鈕,將調(diào)出“打開”對(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)境中。如果表之間沒有永久關(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ì)齊??键c(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ì)象是可見還是隱藏。默認(rèn)的屬性值為.T.,即對(duì)象是可見的。考點(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í)沒有占位符。當(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)選定的文本。如果沒有選定文本,將返回空串??键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ù)值型??键c(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類似??键c(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.表示允許多重選定。考點(diǎn)20 組合框(ComboBox)控件

      組合框與列表框類似,也是用于提供一組條目供用戶從中選擇,組合框的特點(diǎn)如下。(1)對(duì)于組合框來(lái)說(shuō),通常只有一個(gè)條目是可見的。(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ù)源,常見的是表中的一個(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è)菜單。考點(diǎn)2 系統(tǒng)菜單 Visual FoxPro系統(tǒng)菜單是一個(gè)典型的菜單系統(tǒng),其主菜單是一個(gè)條形菜單。條形菜單的內(nèi)部名字為_MSYSMENU,也可看做是整個(gè)菜單系統(tǒng)的名字。

      條形菜單中常見選項(xiàng)的名稱及內(nèi)部名字如表9-1所示,各彈出式菜單的內(nèi)部名字如表9-2所示。表9-3的是“編輯”菜單中常用選項(xiàng)的選項(xiàng)名稱和內(nèi)部名字。表9-1 主菜單(MSYSMENU)常見選項(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ì)器”窗口打開時(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)打開“常規(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í)行

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

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

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

      (3)在“新建菜單”對(duì)話框中選擇“快捷菜單”選項(xiàng),打開“快捷菜單設(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)。

      第三篇:計(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ù)處理的中心問(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)開發(fā)人員利用數(shù)據(jù)庫(kù)系統(tǒng)資源開發(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)緊要。考點(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)開發(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)用程序開發(fā)的生產(chǎn)率。

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

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

      第四篇:計(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ì)算機(jī)的3類程序設(shè)計(jì)語(yǔ)言

       5計(jì)算機(jī)病毒的概念及防治

       6計(jì)算機(jī)硬件系統(tǒng)的組成,各組成部分的功能和簡(jiǎn)單的原理

       7計(jì)算機(jī)軟件系統(tǒng)的組成、系統(tǒng)軟件和應(yīng)用軟件的含義

       8多媒體計(jì)算機(jī)的概念 1.1計(jì)算機(jī)概述

      考點(diǎn)1計(jì)算機(jī)發(fā)展簡(jiǎn)史

      1946年2月15日,世界上第一臺(tái)電子計(jì)算機(jī)ENIAC在美國(guó)賓夕法尼亞大學(xué)誕生,它的出現(xiàn)具有劃時(shí)代的偉大意義。

      從第一臺(tái)計(jì)算機(jī)的誕生到現(xiàn)在,計(jì)算機(jī)技術(shù)經(jīng)歷了大型機(jī)、微型機(jī)及網(wǎng)絡(luò)階段。對(duì)于傳統(tǒng)的大型機(jī),根據(jù)計(jì)算機(jī)所采用電子元件的不同而劃分為電子管、晶體管、集成電路和大規(guī)模、超大規(guī)模集成電路等四代,如表1-1所示。

      表1-1計(jì)算機(jī)發(fā)展史

      類別

      時(shí)間段

      基本元件

      特點(diǎn)

      應(yīng)用

      代表產(chǎn)品

      第一代

      計(jì)算機(jī)1946 — 1958電子管體積龐大、造價(jià)昂貴、速度低、存儲(chǔ)量小、可靠性差軍事應(yīng)用和科學(xué)研究UNIVACI 第二代

      計(jì)算機(jī)1958 — 1964晶體管相對(duì)體積小、重量輕、開關(guān)速度快、工作溫度低數(shù)據(jù)處理和事務(wù)管理IBM7000 第三代

      計(jì)算機(jī)1965 — 1971小規(guī)模和中規(guī)模集成電路體積、重量、功耗進(jìn)一步減少應(yīng)用更加廣泛IBM360

      第四代

      計(jì)算機(jī)1971至今大規(guī)模和超大規(guī)模集成電路性能飛躍性地上升應(yīng)用各個(gè)領(lǐng)域IBM4300等我國(guó)在微型計(jì)算機(jī)方面,研制開發(fā)了長(zhǎng)城、方正、同方、紫光、聯(lián)想等系列微型計(jì)算機(jī),在巨型機(jī)技術(shù)領(lǐng)域中研制開發(fā)了“銀河”、“曙光”和“神威”等系列巨型機(jī)。

      考點(diǎn)2計(jì)算機(jī)的特點(diǎn)

      現(xiàn)代計(jì)算機(jī)一般具有以下幾個(gè)重要特點(diǎn)。

      (1)處理速度快。(2)存儲(chǔ)容量大。(3)計(jì)算精度高。(4)工作全自動(dòng)。

      (5)適用范圍廣,通用性強(qiáng)。

      考點(diǎn)3計(jì)算機(jī)的應(yīng)用

      計(jì)算機(jī)具有存儲(chǔ)容量大,處理速度快,邏輯推理和判斷能力強(qiáng)等許多特點(diǎn),因此已被廣泛應(yīng)用于各種科學(xué)領(lǐng)域,并迅速滲透到人類社會(huì)的各個(gè)方面,同時(shí)也進(jìn)入了家庭。計(jì)算機(jī)主要有以下幾個(gè)方面的應(yīng)用。

      (1)科學(xué)計(jì)算(數(shù)值計(jì)算)。

      (2)過(guò)程控制。

      (3)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)和計(jì)算機(jī)輔助制造(CAM)。

      (4)信息處理。

      (5)現(xiàn)代教育(計(jì)算機(jī)輔助教學(xué)(CAI)、計(jì)算機(jī)模擬、多媒體教室、網(wǎng)上教學(xué)和電子大學(xué))。

      (6)家庭生活。

      考點(diǎn)4計(jì)算機(jī)的分類

      計(jì)算機(jī)品種眾多,從不同角度可對(duì)它們進(jìn)行分類,如表1-2所示。

      表1-2計(jì)算機(jī)分類

      計(jì)算機(jī)分類按處理數(shù)據(jù)的形態(tài)

      數(shù)字計(jì)算機(jī) 模擬計(jì)算機(jī) 混合計(jì)算機(jī)

      按使用范圍

      通用計(jì)算機(jī) 專用計(jì)算機(jī)

      按本身性能

      超級(jí)計(jì)算機(jī) 大型計(jì)算機(jī) 小型計(jì)算機(jī) 微型計(jì)算機(jī) 工作站

      1.2數(shù)制與編碼

      考點(diǎn)5數(shù)制的基本概念

      1十進(jìn)制計(jì)數(shù)制

      其加法規(guī)則是“逢十進(jìn)一”,任意一個(gè)十進(jìn)制數(shù)值都可用0,1,2,3,4,5,6,7,8,9共10個(gè)數(shù)字符號(hào)組成的字符串來(lái)表示,這些數(shù)字符號(hào)稱為數(shù)碼。數(shù)碼處于不同的位置代表不同的數(shù)值。例如720.30可寫成:720.30=7×102+2×101+0×100+3×10-1+0×10-2,此式稱為按權(quán)展開表示式。

      2R進(jìn)制計(jì)數(shù)制

      從十進(jìn)制計(jì)數(shù)制的分析得出,任意R進(jìn)制計(jì)數(shù)制同樣有基數(shù)R、權(quán)Ri和按權(quán)展開的表示式。R可以是任意正整數(shù),如二進(jìn)制R為2。

      (1)基數(shù)(Radix)

      一個(gè)計(jì)數(shù)制所包含的數(shù)字符號(hào)的個(gè)數(shù)稱為該數(shù)制的基數(shù),用R表示。例如,對(duì)于二進(jìn)制來(lái)說(shuō),任意一個(gè)二進(jìn)制數(shù)可用0,1兩個(gè)數(shù)字符號(hào)表示,其基數(shù)R等于2。

      (2)位值(權(quán))

      任何一個(gè)R進(jìn)制數(shù)都是由一串?dāng)?shù)碼表示的,其中每一位數(shù)碼所表示的實(shí)際值大小,除數(shù)碼本身的數(shù)值外,還與它所處的位置有關(guān),由位置決定的值就稱為位值(或位權(quán))。位值用基數(shù)R的i次冪Ri表示。假設(shè)一個(gè)R進(jìn)制數(shù)具有n位整數(shù),m位小數(shù),那么其位權(quán)為Ri,其中i=-m~n-1。

      (3)數(shù)值的按權(quán)展開

      任一R進(jìn)制數(shù)的數(shù)值都可以表示為:各位數(shù)碼本身的值與其權(quán)的乘積之和。例如,二進(jìn)制數(shù)101.01的按權(quán)展開為:

      101.01B=1×22+0×21+1×20+0×2-1+1×2-2=5.25D

      任意一個(gè)具有n位整數(shù)和m位小數(shù)的R進(jìn)制數(shù)N 的按權(quán)展開為:

      (N)R=dn-1×Rn-1+dn-2×Rn-2+…+d2×R2+d1×R1+d0×R0+d-1×R-1+…+d-m×R-m

      其中di 為R 進(jìn)制數(shù)的數(shù)碼。

      為區(qū)分不同數(shù)制的數(shù),R進(jìn)制的數(shù)N一般有兩種表示方法:一是記做(N)R,如(302)

      2、(707.6)8;另一種方法是在一個(gè)數(shù)后面加上字母:D(十進(jìn)制)、B(二進(jìn)制)、Q(八進(jìn)制)、H(十六進(jìn)制)。

      考點(diǎn)6二、十、十六進(jìn)制數(shù)及其之間的轉(zhuǎn)換

      (1)十進(jìn)制和二進(jìn)制的基數(shù)分別為10和2,即“逢十進(jìn)一”和“逢二進(jìn)一”。它們分別含有10個(gè)數(shù)碼(0,1,2,3,4,5,6,7,8,9)和兩個(gè)數(shù)碼(0,1)。位權(quán)分別為10i和2i(i=-m~n-1,m、n為自然數(shù))。二進(jìn)制是計(jì)算機(jī)中采用的數(shù)制,它具有簡(jiǎn)單可行、運(yùn)算規(guī)則簡(jiǎn)單、適合邏輯運(yùn)算的特點(diǎn)。

      (2)十六進(jìn)制基數(shù)為16,即含有16個(gè)數(shù)字符號(hào):0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)。其中A,B,C,D,E,F(xiàn)分別表示數(shù)碼10,11,12,13,14,15。權(quán)為16i(i=-m~n-1,其中m、n 為自然數(shù))。加法運(yùn)算規(guī)則為“逢十六進(jìn)一”。如表1-3所示列出了0~15這16個(gè)十進(jìn)制數(shù)與其他3種數(shù)制的對(duì)應(yīng)表示。

      表1-3常用計(jì)數(shù)制表示

      通過(guò)這個(gè)表格,可以快速地對(duì)3種常用數(shù)制進(jìn)行等值轉(zhuǎn)換,這點(diǎn)在二進(jìn)制和十六進(jìn)制的轉(zhuǎn)換中會(huì)常常用到。這里介紹一個(gè)竅門:記憶十進(jìn)制與十六進(jìn)制時(shí),注意前10位是相同的,十進(jìn)制的“10”~“15”分別對(duì)應(yīng)十六進(jìn)制的“A”~“F”;記憶二進(jìn)制與十進(jìn)制時(shí),從“0”開始,二進(jìn)制由“0000”開始逐步加“1”。

      (3)非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。利用按權(quán)展開的方法,可以把任一數(shù)制轉(zhuǎn)換成十進(jìn)制數(shù)。例如:

      1010.101B=1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3

      只要掌握了數(shù)制的概念,那么將任一R進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法都是一樣的。(4)十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù)。把十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù),其方法是采用“除二取余”法。具體步驟是:把十進(jìn)制整數(shù)除以2得一商數(shù)和一余數(shù);再將所得的商除以2,又得到一個(gè)新的商數(shù)和余數(shù);這樣不斷地用2去除所得的商數(shù),直到商等于0為止。每次相除所得的余數(shù)便是對(duì)應(yīng)的二進(jìn)制整數(shù)的各位數(shù)碼。第一次得到的余數(shù)為最低有效位,最后一次得到的余數(shù)為最高有效位。

      把十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制小數(shù),方法是“乘2取整”,其結(jié)果通常是近似表示。

      上述方法同樣適用于十進(jìn)制數(shù)對(duì)十六進(jìn)制數(shù)的轉(zhuǎn)換,只是使用的基數(shù)不同。

      (5)二進(jìn)制數(shù)與十六進(jìn)制數(shù)間的轉(zhuǎn)換。二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的方法是從個(gè)位數(shù)開始向左按每4位一組劃分,不足4位的組以0補(bǔ)足,然后將每組4位二進(jìn)制數(shù)代之以一位十六進(jìn)制數(shù)字即可。十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的方法相反。

      考生必須掌握十進(jìn)制整數(shù)與二進(jìn)制整數(shù)之間的轉(zhuǎn)換,這是每次考試的“熱門”試題。

      1.3計(jì)算機(jī)中字符的編碼

      碼和ASCII碼。IBM系列大型機(jī)采用EBCDIC碼,微型機(jī)

      考點(diǎn)7西文字符的編碼

      計(jì)算機(jī)中常用的字符編碼有EBCDIC采用ASCII碼。ASCII碼是美國(guó)標(biāo)準(zhǔn)信息交換碼,被國(guó)際化組織指定為國(guó)際標(biāo)準(zhǔn)。它有7位碼和8位碼兩種版本。國(guó)際的7位ASCII碼是用7位二進(jìn)制數(shù)表示一個(gè)字符的編碼,其編碼范圍從0000000B~1111111B,共有27=128個(gè)不同的編碼值,相應(yīng)可以表示128個(gè)不同的編碼。7位 ASCII碼表如表1-4所示。

      ASCII碼與十進(jìn)制、十六進(jìn)制數(shù)轉(zhuǎn)換是考試常見題型,所以記憶ASCII碼是非常重要的,但有128個(gè)編碼,不好記憶。推薦一個(gè)小技巧:重點(diǎn)記憶字符“A”、“Z”和“a”、“z”對(duì)應(yīng)十、十六進(jìn)制數(shù)的規(guī)律,其他的英文字母可以根據(jù)以上規(guī)律進(jìn)行推算。

      考點(diǎn)8漢字的編碼

      1漢字信息交換碼

      漢字信息交換碼簡(jiǎn)稱交換碼,也叫國(guó)標(biāo)碼。規(guī)定了7 445個(gè)字符編碼,其中有682個(gè)非漢字圖形符和6 763個(gè)漢字的代碼。有一級(jí)常用字3 755個(gè),二級(jí)常用字3 008個(gè)。兩個(gè)字節(jié)存儲(chǔ)一個(gè)國(guó)標(biāo)碼。國(guó)標(biāo)碼的編碼范圍是2121H~7E7EH。區(qū)位碼和國(guó)標(biāo)碼之間的轉(zhuǎn)換方法是將一個(gè)漢字的十進(jìn)制區(qū)號(hào)和十進(jìn)制位號(hào)分別轉(zhuǎn)換成十六進(jìn)制數(shù),然后再分別加上20H,就成為此漢字的國(guó)標(biāo)碼:

      漢字國(guó)標(biāo)碼=區(qū)號(hào)(十六進(jìn)制數(shù))+20H位號(hào)(十六進(jìn)制數(shù))+20H

      而得到漢字的國(guó)標(biāo)碼之后,我們就可以使用以下公式計(jì)算漢字的機(jī)內(nèi)碼:

      漢字機(jī)內(nèi)碼=漢字國(guó)標(biāo)碼+8080H

      2漢字輸入碼

      漢字輸入碼也叫外碼,都是由鍵盤上的字符和數(shù)字組成的。目前流行的編碼方案有全拼輸入法、雙拼輸入法、自然碼輸入法和五筆輸入法等。

      3漢字內(nèi)碼

      漢字內(nèi)碼是在計(jì)算機(jī)內(nèi)部對(duì)漢字進(jìn)行存儲(chǔ)、處理的漢字代碼,它應(yīng)能滿足存儲(chǔ)、處理和傳輸?shù)囊?。一個(gè)漢字輸入計(jì)算機(jī)后就轉(zhuǎn)換為內(nèi)碼。內(nèi)碼需要兩個(gè)字節(jié)存儲(chǔ),每個(gè)字節(jié)以最高位置“1”作為內(nèi)碼的標(biāo)識(shí)。

      4漢字字型碼

      漢字字型碼也叫字?;驖h字輸出碼。在計(jì)算機(jī)中,8個(gè)二進(jìn)制位組成一個(gè)字節(jié),它是度量空間的基本單位??梢娨粋€(gè)16×16點(diǎn)陣的字型碼需要16×16/8=32字節(jié)存儲(chǔ)空間。

      漢字字型通常分為通用型和精密型兩類。

      5漢字地址碼

      漢字地址碼是指漢字庫(kù)中存儲(chǔ)漢字字型信息的邏輯地址碼。它與漢字內(nèi)碼有著簡(jiǎn)單的對(duì)應(yīng)關(guān)系,以簡(jiǎn)化內(nèi)碼到地址碼的轉(zhuǎn)換。

      6各種漢字代碼之間的關(guān)系

      漢字的輸入、處理和輸出的過(guò)程,實(shí)際上是漢字的各種代碼之間的轉(zhuǎn)換過(guò)程。如圖1-1表示了這些漢字代碼在漢字信息處理系統(tǒng)中的位置及它們之間的關(guān)系。

      圖1-11.4指令和程序設(shè)計(jì)語(yǔ)言

      考點(diǎn)9計(jì)算機(jī)指令

      一條指令必須包括操作碼和地址碼兩部分。一臺(tái)計(jì)算機(jī)可能有多種多樣的指令,這些指令的集合稱為該計(jì)算機(jī)的指令系統(tǒng)。

      考點(diǎn)10程序設(shè)計(jì)語(yǔ)言

      程序設(shè)計(jì)語(yǔ)言通常分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言3類。

      (1)機(jī)器語(yǔ)言。機(jī)器語(yǔ)言是計(jì)算機(jī)惟一能夠識(shí)別并直接執(zhí)行的語(yǔ)言。

      (2)匯編語(yǔ)言。用匯編語(yǔ)言編寫的程序稱為匯編語(yǔ)言源程序,計(jì)算機(jī)不能直接識(shí)別它。必須先把匯編語(yǔ)言源程序翻譯成機(jī)器語(yǔ)言程序(稱目標(biāo)程序),然后才能被執(zhí)行。

      (3)高級(jí)語(yǔ)言。高級(jí)語(yǔ)言要用翻譯的方法把它翻譯成機(jī)器語(yǔ)言程序才能執(zhí)行。翻譯的方法有“解釋”和“編譯”兩種。一個(gè)高級(jí)語(yǔ)言源程序必須經(jīng)過(guò)“編譯”和“連接裝配”才能成為可執(zhí)行的機(jī)器語(yǔ)言。

      1.5計(jì)算機(jī)系統(tǒng)的組成考點(diǎn)11計(jì)算機(jī)系統(tǒng)概述

      計(jì)算機(jī)系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成的,如表1-5所示。

      表1-5計(jì)算機(jī)系統(tǒng)的組成

      計(jì)算機(jī)系統(tǒng)硬件系統(tǒng)主機(jī)中央處理器(CPU)運(yùn)算器(ALU)

      控制器

      內(nèi)存儲(chǔ)器ROM

      RAM

      外部設(shè)備外部存儲(chǔ)器——硬盤、軟盤、光盤、磁帶

      輸入設(shè)備——鍵盤、鼠標(biāo)、掃描儀

      輸出設(shè)備——顯示器、打印機(jī)、繪圖儀

      軟件系統(tǒng)系統(tǒng)軟件操作系統(tǒng)

      程序語(yǔ)言處理系統(tǒng)

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

      服務(wù)程序——檢查、診斷、排錯(cuò)

      應(yīng)用軟件通用應(yīng)用軟件——如Office 2000辦公軟件包

      專用應(yīng)用軟件——用戶

      考點(diǎn)12“存儲(chǔ)程序控制”計(jì)算機(jī)的概念

      1944年8月,著名美籍匈牙利數(shù)學(xué)家馮·諾依曼提出了EDVAC計(jì)算機(jī)方案。他在方案中提出了3條思想。

      (1)計(jì)算機(jī)的基本結(jié)構(gòu)。計(jì)算機(jī)硬件應(yīng)具有運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等5大基本功能。

      (2)采用二進(jìn)制數(shù)。二進(jìn)制數(shù)便于硬件的物理實(shí)現(xiàn),又有簡(jiǎn)單的運(yùn)算規(guī)則。

      (3)存儲(chǔ)程序控制。存儲(chǔ)程序?qū)崿F(xiàn)了自動(dòng)計(jì)算,確定了馮·諾依曼型計(jì)算機(jī)的基本結(jié)構(gòu)。

      考點(diǎn)13計(jì)算機(jī)硬件的組成1運(yùn)算器

      運(yùn)算器是計(jì)算機(jī)處理數(shù)據(jù)和形成信息的加工廠,主要完成算術(shù)運(yùn)算和邏輯運(yùn)算,它由算術(shù)邏輯運(yùn)算部件(ALU)、累加器及通用寄存器組成。

      2控制器

      控制器是計(jì)算機(jī)的神經(jīng)中樞,它用以控制和協(xié)調(diào)計(jì)算機(jī)各部件自動(dòng)、連續(xù)地執(zhí)行各條指令。它通常由指令部件、時(shí)序部件及操作控制部件組成。

      (1)指令寄存器:存放由存儲(chǔ)器取得的指令。

      (2)譯碼器:將指令中的操作碼翻譯成相應(yīng)的控制信號(hào)。

      (3)時(shí)序節(jié)拍發(fā)生器:產(chǎn)生一定的時(shí)序脈沖和節(jié)拍電位,使得計(jì)算機(jī)有節(jié)奏、有次序地工作。

      (4)操作控制部件:將脈沖、電位和譯碼器的控制信號(hào)組合起來(lái),有時(shí)間性地、有時(shí)序地控制各個(gè)部件完成相應(yīng)的操作。

      (5)指令計(jì)數(shù)器:指出下一條指令的地址。

      3存儲(chǔ)器

      存儲(chǔ)器是計(jì)算機(jī)記憶裝置,主要用來(lái)保存數(shù)據(jù)和程序,具有存數(shù)和取數(shù)的功能。存儲(chǔ)器分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器。CPU只能訪問(wèn)存儲(chǔ)在內(nèi)存中的數(shù)據(jù),外存中的數(shù)據(jù)只有先調(diào)入內(nèi)存后才能被CPU訪問(wèn)和處理。

      4輸入設(shè)備

      輸入設(shè)備的主要作用是把準(zhǔn)備好的數(shù)據(jù)、程序等信息轉(zhuǎn)變?yōu)橛?jì)算機(jī)能接受的電信號(hào)送入計(jì)算機(jī)。

      5輸出設(shè)備

      輸出設(shè)備的主要功能是把運(yùn)算結(jié)果或工作過(guò)程以人們要求的直觀形式表現(xiàn)出來(lái)。

      考點(diǎn)14計(jì)算機(jī)軟件系統(tǒng)的組成

      軟件系統(tǒng)可分為系統(tǒng)軟件和應(yīng)用軟件兩大類。

      1系統(tǒng)軟件

      (1)系統(tǒng)軟件。系統(tǒng)軟件分為操作系統(tǒng)、語(yǔ)言處理系統(tǒng)(翻譯程序)、服務(wù)程序和數(shù)據(jù)庫(kù)系統(tǒng)4大類別。

      (2)操作系統(tǒng)(OS)。一個(gè)操作系統(tǒng)應(yīng)包括下列5大功能模塊:處理器管理、作業(yè)管理、存儲(chǔ)器管理、設(shè)備管理和文件管理。

      操作系統(tǒng)通常分成以下5類。

      ① 單用戶操作系統(tǒng)。微軟的MSDOS、Windows屬于此類。

      ② 批處理操作系統(tǒng)。IBM的DOS/VSE屬于此類。

      ③ 分時(shí)操作系統(tǒng)。UNIX是國(guó)際最流行的分時(shí)操作系統(tǒng)。

      ④ 實(shí)時(shí)操作系統(tǒng)。

      ⑤ 網(wǎng)絡(luò)操作系統(tǒng)。

      (3)對(duì)于高級(jí)語(yǔ)言來(lái)說(shuō),翻譯的方法有兩種:解釋和編譯。對(duì)源程序進(jìn)行解釋和編譯任務(wù)的程序,分別叫做解釋程序和編譯程序。

      2應(yīng)用軟件

      應(yīng)用軟件可分為通用軟件和專用軟件兩類。其中通用軟件又分為3類。

      (1)文字處理軟件。如Office 2000中的 Word。

      (2)電子表格軟件。如Office 2000中的Excel。

      (3)專家系統(tǒng)。

      考點(diǎn)15中央處理器(CPU)

      中央處理器(CPU)主要包括運(yùn)算器(ALU)和控制器(CU)兩大部件。此外,還包括若干個(gè)寄存器和高速緩沖存儲(chǔ)器。它是計(jì)算機(jī)的核心部件,又稱微處理器。計(jì)算機(jī)的所有操作都受CPU控制,CPU和內(nèi)存儲(chǔ)器構(gòu)成了計(jì)算機(jī)的主機(jī),是計(jì)算機(jī)系統(tǒng)的主體。CPU的性能指標(biāo)直接決定了由它構(gòu)成的微型計(jì)算機(jī)系統(tǒng)性能指標(biāo)。CPU 的性能指標(biāo)主要有字長(zhǎng)和時(shí)鐘主頻。

      考點(diǎn)16存儲(chǔ)器

      計(jì)算機(jī)的存儲(chǔ)器分為兩大類:一類是設(shè)在主機(jī)中的內(nèi)部存儲(chǔ)器,也叫主存儲(chǔ)器,用于存放當(dāng)前運(yùn)行的程序和程序所用的數(shù)據(jù),屬于臨時(shí)存儲(chǔ)器;另一類是屬于計(jì)算機(jī)外部設(shè)備的存儲(chǔ)器,叫外部存儲(chǔ)器,簡(jiǎn)稱外存,也叫輔助存儲(chǔ)器(簡(jiǎn)稱輔存)。外存中存放暫時(shí)不用的數(shù)據(jù)和程序,屬于永久性存儲(chǔ)器,當(dāng)需要時(shí)應(yīng)先調(diào)入內(nèi)存。

      1內(nèi)部存儲(chǔ)器

      一個(gè)二進(jìn)制位(bit)是構(gòu)成存儲(chǔ)器的最小單位。通常將每8位二進(jìn)制位組成的一個(gè)存儲(chǔ)單元稱為一個(gè)字節(jié)(Byte),并給每個(gè)字節(jié)編上一個(gè)號(hào)碼,稱為地址(Address)。

      1)存儲(chǔ)容量

      存儲(chǔ)器可容納的二進(jìn)制信息量稱為存儲(chǔ)容量。度量存儲(chǔ)容量的基本單位是字節(jié)(Byte)。此外,常用的存儲(chǔ)容量單位還有:KB(千字節(jié))、MB(兆字節(jié))和GB(千兆字節(jié))。它們之間的關(guān)系為:

      1字節(jié)(Byte)=8個(gè)二進(jìn)制位(bits)

      1KB=1024B;1MB=1024KB;1GB=1024MB

      2)存取時(shí)間

      存儲(chǔ)器的存取時(shí)間是指從啟動(dòng)一次存儲(chǔ)器操作,到完成該操作所經(jīng)歷的時(shí)間。

      3)內(nèi)存儲(chǔ)器的分類

      內(nèi)存儲(chǔ)器分為隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)兩類。

      (1)隨機(jī)存儲(chǔ)器(RAM)。隨機(jī)存儲(chǔ)器也叫讀寫存儲(chǔ)器。其特點(diǎn)是:存儲(chǔ)的信息既可以讀出,又可以向內(nèi)寫入信息,斷電后信息全部丟失。隨機(jī)存儲(chǔ)器又可以分為靜態(tài)RAM和動(dòng)態(tài)RAM兩種。

      靜態(tài)RAM的特點(diǎn)是只要不斷電,信息就可長(zhǎng)時(shí)間的保存。其優(yōu)點(diǎn)是速度快,不需要刷新,工作狀態(tài)穩(wěn)定;缺點(diǎn)是功耗大,集成度低,成本高。

      動(dòng)態(tài)RAM的優(yōu)點(diǎn)是使用組件少,功耗低,集成度高;缺點(diǎn)是存取速度較慢且需要刷新。

      (2)只讀存儲(chǔ)器(ROM)。只讀存儲(chǔ)器的特點(diǎn):存儲(chǔ)的信息只能讀出,不能寫入,斷電后信息也不丟失。只讀存儲(chǔ)器大致可分成3類:掩膜型只讀存儲(chǔ)器(MROM)、可編程只讀存儲(chǔ)器(PROM)和可擦寫的可編程只讀存儲(chǔ)器(EPROM)。

      關(guān)于RAM和ROM之間,以及動(dòng)態(tài)RAM和靜態(tài)RAM之間的區(qū)別如表1-6所示。

      表1-6內(nèi)存分類及對(duì)比

      內(nèi)存類型隨機(jī)存儲(chǔ)器(RAM)靜態(tài)RAM和動(dòng)態(tài)RAM之間的區(qū)別區(qū)別點(diǎn)靜態(tài)RAM動(dòng)態(tài)RAM1集成度低集成度高2價(jià)格高價(jià)格低3存取速度快存取速度慢4不需要刷新需要刷新RAM和ROM的區(qū)別信息可以隨時(shí)寫入寫出。寫入時(shí),原數(shù)據(jù)被沖掉。加電時(shí)信息完好,一旦斷電,信息消失,無(wú)法恢復(fù)只讀存儲(chǔ)器(ROM)分類可編程只讀存儲(chǔ)器(PROM)、可擦除的可編程只讀存儲(chǔ)器(EPROM)、掩膜型只讀存儲(chǔ)器(MROM)信息是永久性的,即使關(guān)機(jī)也不會(huì)消失

      2外部存儲(chǔ)器

      目前最常用的外存有磁盤、磁帶和光盤等。與內(nèi)存相比,這類存儲(chǔ)器的特點(diǎn)是存儲(chǔ)容量大、價(jià)格較低,而且在斷電后也可以長(zhǎng)期保存信息,所以又稱為永久性存儲(chǔ)器。

      磁盤存儲(chǔ)器又可分為軟盤、硬盤和光盤。磁盤的有效記錄區(qū)包含若干磁道,磁道由外向內(nèi)分別稱為0磁道、1磁道??。每磁道又被劃分為若干個(gè)扇區(qū),扇區(qū)是磁盤存儲(chǔ)信息的最小物理單位。硬盤一般有多片,并密封于硬盤驅(qū)動(dòng)器中,不可拆開,存儲(chǔ)容量可觀,可達(dá)幾百吉字節(jié)。軟盤被封裝在保護(hù)套中,插入軟盤驅(qū)動(dòng)器中便可以進(jìn)行讀寫操作。軟盤可分為3.5英寸和5.25英寸兩種,軟盤上都帶有寫保護(hù)口,若處于寫保護(hù)狀態(tài),則只能讀出,不能寫入。光盤可分為只讀型光盤(CDROM)、一次性寫入光盤(WORM)和可擦寫型光盤。磁盤的存儲(chǔ)容量可用如下公式計(jì)算:

      容量=磁道數(shù)×扇區(qū)數(shù)×扇區(qū)內(nèi)字節(jié)數(shù)×面數(shù)×磁盤片數(shù)

      ROM和RAM,SRAM和DRAM的區(qū)分是本節(jié)最重要的考核內(nèi)容,必須熟練掌握。

      考點(diǎn)17輸入輸出設(shè)備

      計(jì)算機(jī)中常用的輸入設(shè)備有鍵盤和鼠標(biāo),其他的輸入設(shè)備有掃描儀、手寫輸入設(shè)備、聲音輸入設(shè)備、觸摸屏和條形碼閱讀器。常用的輸出設(shè)備有顯示器和打印機(jī)、繪圖儀等。磁盤既可以屬于輸入設(shè)備,也可以屬于輸出設(shè)備。

      考點(diǎn)18計(jì)算機(jī)主要技術(shù)指標(biāo)

      ① 字長(zhǎng)。一次能并行處理的二進(jìn)制位數(shù)。字長(zhǎng)總是8的整數(shù)倍,如16、32、64位等。

      ② 主頻。計(jì)算機(jī)中CPU的時(shí)鐘周期,單位是兆赫茲(MHz)。

      ③ 運(yùn)算速度。計(jì)算機(jī)每秒所能執(zhí)行加法指令的數(shù)目。運(yùn)算速度的單位是百萬(wàn)次/秒(MIPS)。

      ④ 存儲(chǔ)容量。存儲(chǔ)容量包括主存容量和輔存容量,主要指內(nèi)存儲(chǔ)器所能存儲(chǔ)信息的字節(jié)數(shù)。

      ⑤ 存儲(chǔ)周期。存儲(chǔ)器進(jìn)行一次完整的存取操作所需的時(shí)間。

      1.6多媒體技術(shù)簡(jiǎn)介

      考點(diǎn)19多媒體技術(shù)

      多媒體有以下幾個(gè)特點(diǎn):數(shù)字化、集成性、交互性和實(shí)時(shí)性。

      (1)多媒體計(jì)算機(jī)由PC+CDROM+音頻卡+視頻卡組成。除了硬件配置外,還應(yīng)配置相應(yīng)的軟件:首先是支持多媒體的操作系統(tǒng);其次是多媒體的開發(fā)工具、壓縮和解壓縮軟件等。

      (2)多媒體的應(yīng)用主要有以下幾個(gè)方面:教育和培訓(xùn),商業(yè)和服務(wù)業(yè),家庭娛樂(lè)、休閑,影視制作,電子出版業(yè)及Internet上的應(yīng)用。

      1.7計(jì)算機(jī)病毒及其防治

      考點(diǎn)20計(jì)算機(jī)病毒的概念

      計(jì)算機(jī)病毒實(shí)質(zhì)上是一種特殊的計(jì)算機(jī)程序,這是“能夠侵入計(jì)算機(jī)系統(tǒng)的、并給計(jì)算機(jī)系統(tǒng)帶來(lái)故障的一種具有自我復(fù)制能力的特殊程序”。

      考點(diǎn)21計(jì)算機(jī)病毒的特點(diǎn)

      計(jì)算機(jī)病毒一般具有如下重要特點(diǎn)。

      ① 寄生性。② 傳染性。③ 破壞性。④ 潛伏性。⑤ 隱蔽性。

      考點(diǎn)22計(jì)算機(jī)病毒的預(yù)防

      預(yù)防計(jì)算機(jī)病毒的幾點(diǎn)措施如下。

      ① 專機(jī)專用。

      ② 利用寫保護(hù)。

      ③ 固定啟動(dòng)方式。

      ④ 慎用網(wǎng)上下載的軟件。

      ⑤ 分類管理數(shù)據(jù)。

      ⑥ 建立備份。

      ⑦ 采用防病毒卡或病毒預(yù)警軟件。

      ⑧ 定期檢查。

      ⑨ 嚴(yán)禁在計(jì)算機(jī)上玩電子游戲。

      第五篇:全國(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)開發(fā)人員利用數(shù)據(jù)庫(kù)系統(tǒng)資源開發(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)開發(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)用程序開發(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后,打開如圖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ā)布等。考點(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è)具體的、不變的值。不同類型常量的書寫格式不同。在Visual FoxPro中,常量主要包括以下幾種類型。

      1數(shù)值型常量

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

      2貨幣型常量

      貨幣型常量用來(lái)表示貨幣值,其書寫格式與數(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ù)組??键c(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ù)沒有自變量。

      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()返回自變量中的最小值。考點(diǎn)8 字符函數(shù)

      1求字符串長(zhǎng)度函數(shù)

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

      功能:返回指定字符表達(dá)式值的長(zhǎng)度,即字符個(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á)式>,<長(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)度>,則截取的子串表示從指定位置開始一直到字符串尾部。

      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>,<起始位置>,<長(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)闆]有對(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á)式中返回秒鐘部分??键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á)式>[,<長(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è)大寫字母,函數(shù)值為字符型。字母含義如表3-4所示。

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

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

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

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

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

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

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

      7記錄號(hào)測(cè)試函數(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ù)測(cè)試函數(shù)

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

      功能:返回當(dāng)前表文件(若默認(rèn)自變量)或指定表文件中的記錄個(gè)數(shù)。如果指定工作區(qū)上沒有打開表文件,則函數(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ù)的打開

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

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

      (3)使用命令打開數(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í)際是打開數(shù)據(jù)庫(kù)設(shè)計(jì)器,完成數(shù)據(jù)庫(kù)中各種對(duì)象的建立、修改和刪除等操作。

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

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

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

      (3)使用命令打開數(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打開的只是數(shù)據(jù)庫(kù)的工作環(huán)境,并不會(huì)進(jìn)入數(shù)據(jù)庫(kù)設(shè)計(jì)器;Modify DataBase是打開數(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命令先打開數(shù)據(jù)庫(kù),然后利用CREATE命令打開表設(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)字段名必須以字母或漢字開頭。

      (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)字段名是英文或縮寫時(shí),則通過(guò)指定標(biāo)題可以使界面更友好。

      6字段注釋

      可以為每個(gè)字段添加注釋,便于日后或其他人對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)。考點(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 使用瀏覽器操作表

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

      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è)的按鈕,打開表達(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ù)合索引文件可隨表的打開而打開,在同一個(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ù)庫(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ù)”、“編輯參照完整性”菜單命令,打開如圖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ù)的表。在沒有打開數(shù)據(jù)庫(kù)時(shí),所建立的表就是自由表。數(shù)據(jù)庫(kù)表與自由表之間可以相互轉(zhuǎn)化。

      1建立自由表的方法

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

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

      (3)在沒有打開數(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ā)器??键c(diǎn)15 將自由表添加到數(shù)據(jù)庫(kù)中

      (1)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中可利用“數(shù)據(jù)庫(kù)”→“添加表”菜單命令,在“打開”對(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中,一次可以打開多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)都可以打開多個(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命令中通過(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的縮寫。它包括數(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語(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)算符,與之搭配使用的通配符包括“*”和“?”。考點(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)系的自連接操作中,別名是必不可少的。考點(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é)果返回,即存在元組或不存在元組。其本身并沒有進(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子句,則更新全部記錄??键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)前打開的數(shù)據(jù)庫(kù)先關(guān)閉,才能進(jìn)行刪除。如果刪除數(shù)據(jù)庫(kù)表,則要先打開數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中進(jìn)行操作二否則,即使刪除了數(shù)據(jù)庫(kù)表,但記錄在數(shù)據(jù)庫(kù)中的信息并沒有被刪除,此后會(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è)表派生出來(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命令打開查詢?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語(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)卡中,展開“查詢”選項(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ù)打開時(shí)才能使用。

      視圖兼有“表”和“查詢”的特點(diǎn),與查詢相類似的地方是可以用來(lái)從一個(gè)或多個(gè)相關(guān)聯(lián)的表中提取有用信息;與表類似的地方是可以用來(lái)更新其中的信息,并將結(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ù)庫(kù)中,在磁盤上找不到類似的文件。

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

      (3)在視圖中沒有“查詢?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ù)源,開放數(shù)據(jù)庫(kù)互連ODBC是一種連接數(shù)據(jù)庫(kù)的通用標(biāo)準(zhǔn)。為了定義ODBC數(shù)據(jù)源,必須首先安裝ODBC驅(qū)動(dòng)程序。

      2建立連接

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

      (1)用CREATE CONNECTION命令打開“連接設(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命令更新基本表??键c(diǎn)5 使用視圖

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

      1視圖操作

      (1)在數(shù)據(jù)庫(kù)中使用USE命令打開或關(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)打開文本編輯窗口。

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

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

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

      (1)從“文件”菜單中選擇“打開”命令,彈出“打開”對(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è)部分。

      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í)行??键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。

      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)用其他模塊而沒有被其他模塊調(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ò)程的開始,并命名過(guò)程。過(guò)程名必須以字母或下劃線開頭,可以包含數(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打開過(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私有變量

      在程序中直接使用(沒有預(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í)行在跟蹤窗口中打開的程序:

      (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)用語(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)速:打開“調(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ì):相同的屬性及方法。考點(diǎn)2 子類與繼承

      下載2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP考點(diǎn)word格式文檔
      下載2011年計(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)范文推薦