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

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

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

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

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

      vf二級(jí)考試復(fù)習(xí)筆記__全集

      時(shí)間:2019-05-15 06:57:58下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《vf二級(jí)考試復(fù)習(xí)筆記__全集》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《vf二級(jí)考試復(fù)習(xí)筆記__全集》。

      第一篇:vf二級(jí)考試復(fù)習(xí)筆記__全集

      Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)教案 第一章.Visual FoxPro 數(shù)據(jù)庫(kù)基礎(chǔ) 一.數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) ? 數(shù)據(jù)與數(shù)據(jù)處理

      數(shù)據(jù):存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理:將數(shù)據(jù)轉(zhuǎn)換成信息的過(guò)程

      ? 計(jì)算機(jī)數(shù)據(jù)管理:指對(duì)數(shù)據(jù)的組織、分類(lèi)、編碼、存儲(chǔ)、檢索和維護(hù)提供操作手段 分為:人工管理 文件系統(tǒng) 數(shù)據(jù)庫(kù)系統(tǒng)

      分布式數(shù)據(jù)庫(kù)系統(tǒng) 面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng) ? 數(shù)據(jù)庫(kù)系統(tǒng)及其特點(diǎn) 特點(diǎn):

      1. 實(shí)現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余 2. 采用特定的數(shù)據(jù)模型] 3. 具有較高的數(shù)據(jù)獨(dú)立性 4. 有統(tǒng)一的數(shù)據(jù)控制功能 ? 數(shù)據(jù)模型及相關(guān)概念

      數(shù)據(jù)模型:層次型,網(wǎng)狀型,關(guān)系型 實(shí)體,實(shí)體屬性,實(shí)體集和實(shí)體型

      實(shí)體間聯(lián)系及種類(lèi):One to one relationship

      One to many relationship

      Many to many relationship 二.關(guān)系數(shù)據(jù)庫(kù)

      ? 關(guān)系數(shù)據(jù)庫(kù)相關(guān)概念 關(guān)系模型:用二維表結(jié)構(gòu)來(lái)表示實(shí)體以及實(shí)體之間聯(lián)系的模型稱(chēng)為關(guān)系模型

      關(guān)系,元組,屬性,關(guān)鍵字,處部關(guān)鍵字

      ? 關(guān)系的特點(diǎn):必須規(guī)范化,即每個(gè)屬性必須不可分割的數(shù)據(jù)單元,不能表中含表

      同一關(guān)系中不能出現(xiàn)相同的屬性 關(guān)系中不允許有完全相同的元組 在一個(gè)關(guān)系中元組的次序無(wú)關(guān)緊要 在一個(gè)關(guān)系中列的次序無(wú)關(guān)緊要

      ? 關(guān)系運(yùn)算:選擇,投影,聯(lián)接(自然聯(lián)接)三.Visual FoxPro 系統(tǒng)概述

      ? 安裝:資源管理器——>open CD-ROM——>setup.exe Visual FoxPro 的界面

      ? 菜單操作:鼠標(biāo)操作,鍵盤(pán)操作,光標(biāo)操作

      ? 命令窗口:是vf桌面上一個(gè)重要部件,自動(dòng)保留已輸入的命令,如再次執(zhí)行此命令時(shí)只需把光標(biāo)移至,然后按Enter即可,同時(shí)支持對(duì)命令的修改、刪除、剪切等操作 ? 命令窗口的顯示和隱藏:

      四.項(xiàng)目管理

      ? 項(xiàng)目管理器窗口:用圖形化分類(lèi)的方法來(lái)管理屬于同一個(gè)項(xiàng)目的文件,是文件、數(shù)據(jù)、文檔和對(duì)象的集合(*.pjx)? 各類(lèi)文件選項(xiàng)卡:

      ? 使用項(xiàng)目管理器:添加文件,修改文件,移去文件 ? 定制項(xiàng)目管理器:--移動(dòng)、縮放、折疊、拆分、停放

      ? 設(shè)計(jì)器:是一個(gè)操作平臺(tái),是創(chuàng)建和和修改應(yīng)用系統(tǒng)各種組件的可視化工具。

      ? 生成器:輔助設(shè)計(jì) VF命令語(yǔ)句語(yǔ)法約定: [ ]

      可選項(xiàng)

      < >必選項(xiàng)

      | 或

      dimension <數(shù)組名>(<下標(biāo)上限1>[,<下標(biāo)上限2>]>)set century on|off 第二章.Visual FoxPro程序設(shè)計(jì)基礎(chǔ)

      VF中有四種形式的數(shù)據(jù):常量、變量、表達(dá)式、函數(shù) 一.常量與變量

      ? 常量:一個(gè)具體的,不變的值。分類(lèi)及描述:

      N數(shù)值型常量: 常數(shù),包括正負(fù)號(hào) Y貨幣型常量:$常數(shù)

      C字符型常量:用定界符

      “ ” ,’ ’

      [ ]

      “”空串 “

      ”空格字符串 D日期型常量:用 {}作為定界符{^yyyy-mm-dd}嚴(yán)格日期格

      T日期時(shí)間型常量:{ <日期>,<時(shí)間>} {^yyyy-mm-dd, [hh[:mm[:ss]]]} L邏輯型常量:.t.,.f.定界符必不可少,且常形式 ?T?,?Y?,?F?,?N?

      []可選項(xiàng)

      Set mark to

      分隔符 Set date to

      日期格式 Set century on|off 年份設(shè)置

      Set century to <世紀(jì)值> rollover <年份參照值>

      ? 變量:隨著程序等的運(yùn)行會(huì)發(fā)生變化的量 ? 分類(lèi):字段變量:表中的字段 ? 表打開(kāi)了就有字段變量 ? 變量的值存在表中

      內(nèi)存變量:內(nèi)存的一個(gè)存儲(chǔ)區(qū)域 變量的值存儲(chǔ)空間中

      內(nèi)存變量 簡(jiǎn)單內(nèi)存變量

      簡(jiǎn)單內(nèi)存變量的定義及賦值: <內(nèi)存名>=<達(dá)表式>

      STORE <達(dá)表式> TO

      <內(nèi)存變量名表>

      數(shù)組:一次定義多個(gè)變量,是內(nèi)存中連續(xù)的一片存儲(chǔ)區(qū)域

      定義數(shù)組:DIMENSION|declare <數(shù)組名>(<下標(biāo)上限1>[,<下標(biāo)上限2>])賦值語(yǔ)句:<內(nèi)存>=<達(dá)表式>

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

      可以用一維的方式訪(fǎng)問(wèn)二維數(shù)組

      當(dāng)內(nèi)存變量與字段變量同名優(yōu)字段變量 m.內(nèi)存變量

      m->內(nèi)存變量

      表達(dá)式值的顯示:?,??(當(dāng)前光標(biāo)的下一行輸出,當(dāng)前光標(biāo)處輸出)

      ? 內(nèi)存變量的顯示: LIST MEMORY[LIKE<通配符>][TO FILE <文件>]

      DISPLAY MEMORY

      **list memory一次全顯,display memory分屏顯示

      ? 內(nèi)存變量的清除:

      ? clear memory 清除所有變量 ? release all 清除所有變量

      ? release <變量名表> 清除某個(gè)變量 ? release all like <> ?*

      ? 表與數(shù)組之間數(shù)據(jù)傳遞:

      將表當(dāng)前的記錄復(fù)制到數(shù)組:SCATTER [fields <字段名>] [memo] TO <數(shù)組名> 將數(shù)組數(shù)據(jù)復(fù)制到表的當(dāng)前記錄: GATHER FROM <數(shù)組名>

      ? 表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式字 數(shù)值表達(dá)式:運(yùn)算優(yōu)先級(jí)

      +<日期/日期時(shí)間>+|-數(shù)值

      d t <日期/日期時(shí)間>-<日期/日期時(shí)間>

      n 關(guān)系表達(dá)式(大小比較式):比較兩個(gè)表達(dá)式的大小,結(jié)果是邏輯型數(shù)據(jù)

      <表達(dá)式1><關(guān)系運(yùn)算符><表達(dá)式2> > < >=

      <=

      <>

      #

      !=

      == 字符串精確比較符

      $ 專(zhuān)用于字符串比較 <表達(dá)式1>$<表達(dá)式2> <表達(dá)式1>==<表達(dá)式2> <表達(dá)式1>=<表達(dá)式2> set collate to “ ”

      machine

      asc(<字符>)pinyin

      a_z A-Z stroke

      <字符串1>

      $ <字符串2> <字符串>= =<字符串> 精確比較符

      <字符串>= <字符串> set exact on|off <字符串>=<字符串>

      設(shè)置字符排序次序:選項(xiàng)中,或set collate to “ ” 字符精確比較與設(shè)置:選項(xiàng)中,或set exact on/off

      邏輯表達(dá)式:運(yùn)算符為.NOT.非,.AND.與|且,. OR. 或;優(yōu)先級(jí);P68 not

      and or <>AND<>

      ? 常用函數(shù):是用程序來(lái)實(shí)現(xiàn)的一種運(yùn)算或轉(zhuǎn)換 |-5|

      10%3

      mod(10,3)

      (4)**(1/2)<函數(shù)名稱(chēng)>(<參數(shù)>)分類(lèi):

      ? 數(shù)值函數(shù):abs()求絕對(duì)值 sign()求符號(hào) 0-1,1 + ENDDO語(yǔ)句

      格式:

      DO WHILE <條件>

      <循環(huán)體>

      ENDDO DO WHILE<條件>

      <語(yǔ)句序列1>

      [LOOP] 向上循環(huán)

      <語(yǔ)句序列2>

      [EXIT]

      強(qiáng)行退出循環(huán)

      <語(yǔ)句序列3>

      ENDDO

      FORENDSCAN語(yǔ)句

      格式:

      SCAN

      [<范圍>][FOR<條件1>][WHilE<條件2>]

      <循環(huán)體> ENDSCAN

      7.多模塊程序

      1模塊的定義

      PROCEDURE|FUNCTION <過(guò)程名>

      <命令序列>

      [RETURN[<表達(dá)式>]]

      [ENDPROC|ENDFUNC]

      2模塊的調(diào)用

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

      (1)使用DO命令,格式如下。

      DO<文件名>|<過(guò)程名>

      (2)在名字后加一對(duì)小括號(hào),格式如下。

      <文件名>|<過(guò)程名>()

      3打開(kāi)過(guò)程文件

      命令格式如下。

      SET PROCEDURE TO[<含有過(guò)程的.prg文件>[,<過(guò)程文件2>,…][ADDITIVE]

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

      命令格式如下。

      RELEASE PROCEDURE<過(guò)程文件1>[,<過(guò)程文件2>,…] &&主.子程序之間運(yùn)行流程

      8.參數(shù)傳遞

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

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

      (2)LPARAMETERS<形參變量1>[,<形參變量2>,…]。? 調(diào)用參數(shù)調(diào)用模塊程序參數(shù)的格式如下。

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

      引用傳

      值傳(實(shí)參變量)2. <文件名>|<過(guò)程名>(<實(shí)參1>[,<實(shí)參2>,…])

      值傳

      (2)如果實(shí)參是變量。模塊中參數(shù)的傳遞分為兩種:按值傳遞(實(shí)參一般為常量和表達(dá)式)和引用傳遞(實(shí)參一般為變量)。參數(shù)的傳遞方式可以重新設(shè)置,格式如下。

      SET UDFPARMS TO VALUE|REFERENCE 9.內(nèi)存變量的作用域

      1.公共變量(上級(jí),本級(jí),下級(jí)模塊)

      在任何模塊中都可使用的變量稱(chēng)為公共變量,公共變量必須先定義后使用,格式如下。

      PUBLIC <內(nèi)存變量表> 1.命令窗口中直接定義的變量即公共變量

      如果要在程序中定義公共變量,要使用如下語(yǔ)句:

      PUBLIC <內(nèi)存變量表>

      2私有變量(本模塊和下級(jí)模塊)

      private <變量名>

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

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

      3局部變量(本模塊)

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

      第三章.Visual FoxPro數(shù)據(jù)庫(kù)及其操作 本章學(xué)習(xí)內(nèi)容概要

      ? 數(shù)據(jù)庫(kù)的建立、修改、打開(kāi)、關(guān)閉和刪除 ? 數(shù)據(jù)庫(kù)表的建立、修改、打開(kāi)、關(guān)閉和刪除

      ? 庫(kù)表索引的?立和表之間的參照完整性的設(shè)置

      ? 自由表的相關(guān)操作

      ? 在多個(gè)工作區(qū)中打開(kāi)表

      ? 設(shè)置表之間的臨時(shí)關(guān)聯(lián)

      一.數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)的概念 數(shù)據(jù)庫(kù)的文件類(lèi)型及相關(guān)文件:.dbc 庫(kù)的建立?種方徏?項(xiàng)目、菜單、命令 命令:create database [<數(shù)據(jù)庫(kù)名>|?] 庫(kù)的打開(kāi)3種方式:項(xiàng)盾、菜單、命令 命令open data <文件名>|?][exclusive|share][noupdate] set data to [<文件名>] 修改庫(kù)(3種):項(xiàng)目、菜單、命令 命令:modify database [<庫(kù)名>|?][nowait][noedit] 關(guān)閉庫(kù):關(guān)閉設(shè)計(jì)器并沒(méi)關(guān)庫(kù)

      close database [<庫(kù)名>] 關(guān)當(dāng)前庫(kù)

      close

      all關(guān)所有的窗口

      刪除庫(kù)的2種方法:項(xiàng)目中、命令 命令:delete database <庫(kù)名>|? [deletetables][recycle]

      庫(kù)表 庫(kù)表的概念 注意:建庫(kù)表一定要有庫(kù)打開(kāi) 表的文件類(lèi)型及相關(guān)文件:.dbf.fpt(表備注文件)表建立3種方式:項(xiàng)目、在庫(kù)設(shè)計(jì)器中建、命令 表的設(shè)計(jì)包括:字段和記錄 字段取名 字段類(lèi)型和寬度 空值 “字段有效性”組框 命令:create [<表名>|?] 修改表結(jié)構(gòu)(3種):庫(kù)設(shè)計(jì)器中右擊表,選擇修改、命令 命令:modify structure 復(fù)制表:copy to <新表名>

      (表要打開(kāi))復(fù)制表結(jié)構(gòu):copy structure to <新表名>

      (表要打開(kāi))表的打開(kāi)3種方式:項(xiàng)目、菜單、命令 命令:use [<表名>|?] 表瀏覽3種方式:項(xiàng)目、庫(kù)中、命令 命令:browse 關(guān)閉表:use

      close

      table

      all 關(guān)閉所有的表 delete

      file

      <文件名.擴(kuò)展名> 表記錄操作 追加記錄: append append blank(ctrl+y)不進(jìn)入編輯 追加空白記錄

      append from

      <表名> append from

      array

      <數(shù)組名>

      插入記錄: insert [before] insert blank

      修改記錄: browse 直接定光標(biāo)改

      edit 和 change(交互式)replace [all] <字段名1>with <表達(dá)式1>,[<字段名2>with <表達(dá)式2>…][for <條件>] replace <字段名> with <表達(dá)式>,……

      默認(rèn)范圍是當(dāng)前記錄

      刪除記錄: 部分刪

      鼠標(biāo)打上邏輯刪除標(biāo)記(ctrl+t),表——徹底刪除 delete [for <條件>]

      打上邏輯刪除標(biāo)記(默認(rèn)范圍是當(dāng)前記錄)pack

      徹底刪除那些打上邏輯刪除標(biāo)記的記錄

      全部刪

      打開(kāi)表 zap

      清空記錄,保留表結(jié)構(gòu)。不管有沒(méi)有邏輯刪除標(biāo)記,全都物理刪除

      顯示記錄:

      list|display

      [for<條件>][off]

      查詢(xún)定位記錄

      go|goto n 絕對(duì)定位指針 skip

      n

      相對(duì)定位指針

      locate for <條件>

      continue

      條件定位針指

      seek

      <表達(dá)式>

      (專(zhuān)門(mén)根據(jù)索引定位)刪除:

      二.索引

      概念: 記錄指針構(gòu)成的文件.cdx 索引的類(lèi)型

      按功能分_ 主索引(主關(guān)鍵字)_ 候選索引 ? _ 唯一索引

      _ 普通索引

      按文件擴(kuò)展名分 _.idx

      _.cdx 復(fù)合 索引的建立:(2種)表設(shè)計(jì)器:

      單項(xiàng)索引:根據(jù)單個(gè)字段排列指針順序

      復(fù)合字段索引: 根據(jù)多個(gè)字段表達(dá)式排列指針順序

      命令: cdx index on <字段表達(dá)式> to <索引文件名> 生成.idx 文件

      index

      on

      <字段表達(dá)式>

      tag <索引標(biāo)記名>

      生成與表同名的.cdx 結(jié)構(gòu)復(fù)合索引文件 [unique] 建立惟一索引 [candidate]建立候選索引

      index on <字段> tag <索引標(biāo)記名> of

      <索引文件名> 生成與表不同名的.cdx 非結(jié)構(gòu)復(fù)合索引文件

      打開(kāi)索引文件:

      set index to<索引文件名> 指定當(dāng)前索引:

      set order to [tag]<索引名>[ascending|descending] 使用索引快速定位:

      seek <字段值>[order <索引名>] 刪除索引:

      delete tag <索引名>[all]

      三.數(shù)據(jù)完整性

      ? 實(shí)體完整性與主關(guān)鍵字 ? 域完整性與約束規(guī)則

      ? 參照完整性和表之間的關(guān)聯(lián)(兩個(gè)相關(guān)之間記錄相互約束)相關(guān)表建立索引:父表建主索引,子表建普通索引 相關(guān)表永久聯(lián)系(關(guān)聯(lián))庫(kù)的清理

      設(shè)置參照完整性約:更新、刪除、插入

      四.自由表

      自由表和數(shù)據(jù)庫(kù)表的聯(lián)系和區(qū)別 建立自由表 將自由表添加到數(shù)據(jù)庫(kù)中 項(xiàng)目、數(shù)據(jù)庫(kù)設(shè)計(jì)器、命令 命令:add table <表名> 從數(shù)據(jù)庫(kù)中移去表 項(xiàng)目、數(shù)據(jù)庫(kù)設(shè)計(jì)器、命令 命令:remove table <表名> 庫(kù)表與自由表之間相互轉(zhuǎn)換

      五。多表的同時(shí)使用 工作區(qū)的使用

      select 工作區(qū)號(hào)|別名|表別名 1,2,3……32767|a,b,c,d,e,f,g,h,I,j,w11,w12,……w32767

      select 0

      表之間的臨時(shí)關(guān)聯(lián) 作用:實(shí)現(xiàn)相關(guān)表指針的連動(dòng)。相關(guān)表建立索引

      打開(kāi)表并使作索引(使用工作區(qū)打開(kāi)各相關(guān)表)Set relation to <索引關(guān)鍵字段> into <表名>

      排序 sort to <新表名> on <字段名>/[a/d][/c],……(打開(kāi)現(xiàn)有的表,然后根據(jù)排序關(guān)鍵字生成新表)第四章.關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL 本章學(xué)習(xí)內(nèi)容:

      ? SQL的數(shù)據(jù)查詢(xún)功能

      (select)

      ? SQL的數(shù)據(jù)操縱功能

      (insert、update、delete)? SQL的數(shù)據(jù)定義功能

      (create、drop、alter)查詢(xún)功能: 不用打開(kāi)表

      簡(jiǎn)單查詢(xún):select <表達(dá)式> from <表名> [where <查詢(xún)條件>]

      *

      distinct 運(yùn)用 去掉重復(fù)值

      字段取名: <表達(dá)式> as <名稱(chēng)>

      <表達(dá)式>

      <別名>

      簡(jiǎn)單連接查詢(xún):(來(lái)自多個(gè)表的查詢(xún))等值連接

      select <表達(dá)式> from <表名1> , <表名2>,… where <表名1>.<字段>=<表名2>.<字段> … [and<查詢(xún)條件>]

      表取別名: <表名> as <別名>

      或<表名>

      <別名>

      簡(jiǎn)單嵌套:select <表達(dá)式> from <表名> where <字段>

      in(子查詢(xún))not

      in in 表示等于其中之一

      使用量詞和謂詞的查詢(xún):in<子查詢(xún)> , not in any|some <子查詢(xún)> 滿(mǎn)足其中之一

      all <子查詢(xún)> 滿(mǎn)足其中所有

      存在 exists

      not exists

      注意:嵌套只允許內(nèi)外二層,不允許嵌套里面再嵌套

      幾個(gè)特殊運(yùn)算符

      <字段> between <表達(dá)式1> and <表達(dá)式2> <字符型字段> like < 字符串表達(dá)式 >

      % _ SQL like(<* ?>,<>)

      排序:order

      by

      <字段>

      asc|desc[, <字段> asc|desc,……] 只對(duì)最終結(jié)果排序

      簡(jiǎn)單計(jì)算:count()計(jì)數(shù)

      sum(<>)求和

      avg()平均

      max()min()分組與計(jì)算查詢(xún):

      group by <分組字段1>

      [,<分組字段2>]…

      [where <條件>] group by <分組字段1>,[<分組字段2>],…[having <表達(dá)式>]

      Isnull()利用空值查詢(xún):<字段表達(dá)式 >

      is

      null

      <>

      is not null

      別名與自連接查詢(xún):(一個(gè)表內(nèi)部字段之間的連接)

      <表名> as <別名>

      內(nèi)外層互相關(guān)嵌套查詢(xún):

      select <表達(dá)式> from <表1 a> where <表達(dá)式> in(select <表達(dá)式> from <表2 b> where = [and <條件>])select <表達(dá)式> from <表名> where <字段>

      in(子查詢(xún))

      使用量詞和謂詞的查詢(xún):in<子查詢(xún)> , not in

      等于其中之一 any|some <子查詢(xún)>

      滿(mǎn)足其中之一

      工資> all(1220,1230)<字段> all <子查詢(xún)> 滿(mǎn)足其中所有

      存在 exists

      not exists

      select <表達(dá)式> from <表1 a> where exists(select * from <表2 b> where = [and <條件>])

      超連接查詢(xún):

      內(nèi)聯(lián)接(等值聯(lián)接)、左聯(lián)接、右聯(lián)接、全聯(lián)接

      select <表達(dá)式> from <表1> inner|left|right|full join <表2> on <表1.字段>=<表2.字段>[ where <條件>]

      簡(jiǎn)單連接查詢(xún):(來(lái)自多個(gè)表的查詢(xún))等值連接

      select <表達(dá)式> from <表名1> , <表名2>,… where <表名1>.<字段>=<表名2>.<字段> … [and<查詢(xún)條件>]

      表取別名: <表名> as <別名>

      或<表名>

      <別名>

      集合的并運(yùn)算:<查詢(xún)>union<查詢(xún)>

      顯示部分結(jié)果:top n [percent] ……order by <排序字段>

      查詢(xún)?nèi)ハ騿?wèn)題: 瀏覽

      將查詢(xún)結(jié)果存放在數(shù)組中:into array <數(shù)組名> 將查詢(xún)結(jié)果存放在臨時(shí)表中:into cursor <表名> 將查詢(xún)結(jié)果存放在永久表中:into table|dbf <表名> 將查詢(xún)結(jié)果存放在文本文件中:to file <文件名>.txt

      操作功能:表記錄

      插入(insert),修改(update),刪除(delete)插入

      insert into <表名>[(字段名表)] values(<表達(dá)式1>,…)

      insert into <表名>from array <數(shù)組名> 插入來(lái)自數(shù)組

      insert into <表名>from memvar 插入來(lái)自同名的內(nèi)存變量

      insert

      更新:

      update <表名> set <字段名>=<表達(dá)式> [ where <條件>] 默認(rèn)范圍是所有記錄,不要打開(kāi)表操作

      replace [all] <字段> with <表達(dá)式>

      [for <條件> ] 默認(rèn)范圍是當(dāng)前記錄,而且一定要打開(kāi)表操作

      邏輯刪除:

      delete from <表名> [ where <條件>] 默認(rèn)范圍是所有記錄

      delete [for<>]默認(rèn)范圍是當(dāng)前記錄,而且一定要打開(kāi)表操作

      定義功能:新建表結(jié)構(gòu)(create), 修改表結(jié)構(gòu)(alter),刪除表(drop)

      表定義:

      create table <表名>[free](字段名 <類(lèi)型>(寬度)[<>],…)

      表的刪除:drop table <表名>

      表結(jié)構(gòu)的修改:

      alter table <表名> ……(add drop alter rename)

      ? alter table <表名> add [column] <字段名> <字型>(<寬度>)

      為表增加字段

      ? alter table <表名> add [column] <字段名> <字型>(<寬度>)check <邏輯表達(dá)式> [ []]

      為表增加字段并同時(shí)設(shè)置規(guī)則

      ? alter table <表名> alter [column] <字段名> set check <邏輯表達(dá)式>[error<>] 為現(xiàn)有字段設(shè)置規(guī)則或修改規(guī)則

      ? alter table <表名> alter [column] <字段名> set default <邏輯表達(dá)式> 為現(xiàn)有字段設(shè)默認(rèn)值或修改默認(rèn)值

      ? alter table <表名>

      rename [column ]<字段名> to <新字段名> 重命名字段

      ? alter table <表名> drop [ column] <字段名> 刪除字段

      ? alter table <表名> alter [column] <字段名> <類(lèi)型>(<寬度>)修改字段的類(lèi)型或?qū)挾?/p>

      ? alter table <表名> add unique |primary key <索引表達(dá)式> tag <索引標(biāo)簽名> 為表增加主索引或候選索引

      ? alter table <表名>drop primary key | unique tag <索引標(biāo)簽名> 為表刪除主索引或候選索引

      視圖定義: 是庫(kù)里面的對(duì)象,是表的虛擬窗口,是虛擬的表。在磁盤(pán)中不存在文件

      open data <庫(kù)名> create

      view <視圖名> as

      <查詢(xún)語(yǔ)句> 注意:打開(kāi)庫(kù),然后執(zhí)行定義命令

      刪除視圖:drop view <視圖名>

      第五章.查詢(xún)與視圖 查詢(xún)文件:*.qpr 查詢(xún)概念

      查詢(xún)?cè)O(shè)計(jì)器的操作 查詢(xún)文件的建立、使用 查詢(xún)?cè)O(shè)計(jì)器的局限性

      do <名稱(chēng).擴(kuò)展名>

      視圖 視圖概念

      視圖建立、使用 視圖與數(shù)據(jù)更新

      第六章.表單設(shè)計(jì)與應(yīng)用 面向?qū)ο蟮母拍?/p>

      對(duì)象:客觀世界中的任何事物都可以看作是對(duì)象,對(duì)象可以是具體的事物,也可以是抽象的概念。

      類(lèi):對(duì)一類(lèi)相似對(duì)象的性質(zhì)描述,這些對(duì)象具有相同的性質(zhì):相同的屬性及方法

      對(duì)象的屬性、方法和事件

      屬性:用于描述對(duì)象特性稱(chēng)為對(duì)對(duì)象的屬性

      方法:是VF為對(duì)象內(nèi)定的通用過(guò)程,指定對(duì)象執(zhí)行的特定動(dòng)作。

      事件:由系統(tǒng)預(yù)定義而由用戶(hù)或系統(tǒng)發(fā)出的動(dòng)作 注:屬性、方法可新建,而事件不可新建 繼承與父類(lèi)子類(lèi)

      (類(lèi))繼承:指基于現(xiàn)有類(lèi)創(chuàng)建新類(lèi)時(shí),新類(lèi)繼承了現(xiàn)有類(lèi)的方法和屬性

      對(duì)象屬性及對(duì)象方法調(diào)用的基本格式如下: <對(duì)象引用名>.<對(duì)象屬性> = <表達(dá)式> <對(duì)象引用名>.<對(duì)象方法> 對(duì)象(容器與控件)

      控件:是一個(gè)可以以圖形的方式顯示出來(lái)并能與用戶(hù)進(jìn)行交互的對(duì)象 容器:一種特殊的控件,它可包含其它的控件的控件 對(duì)象的引用方式:

      this

      當(dāng)前對(duì)象

      thisfrom 當(dāng)前對(duì)象所在的(表單)窗口 parent 當(dāng)前對(duì)象的直接容器

      創(chuàng)建與管理表單 創(chuàng)建 向?qū)?設(shè)計(jì)器

      命令:create

      form

      <文件名> 運(yùn)行:do

      form

      <文件名> 文件類(lèi)型:*.scx 管理表單屬性和方法 表單設(shè)計(jì)器環(huán)境 屬性窗口 控件工具欄 數(shù)據(jù)環(huán)境: 布局 TAB盒 代碼

      常用的表單屬性

      alwaysontop atutocenter backcolor borderstyle caption closable maxbutton minbutton movable

      scorllobars windowstate windowtype name 對(duì)象代碼中的引用名(任何對(duì)象都有)caption 是標(biāo)題文本

      創(chuàng)建新屬性、方法

      常用事件和方法

      運(yùn)行時(shí)事件 load init(系統(tǒng)自動(dòng)引發(fā))load表單生成之前執(zhí)行 init 表單生成之時(shí)執(zhí)行 關(guān)閉時(shí)事件(系統(tǒng)自動(dòng)引發(fā))destroy釋放事件

      unload

      交互時(shí)事件(一定要用戶(hù)去響應(yīng))

      gotfocus

      click

      rightclick

      dbclick interactivechange(改變值事件)

      交互時(shí)事件(用戶(hù)引發(fā)的事件)

      方法: release(釋放)

      refresh(刷新)

      show(顯示表單)

      hide(隱藏表單)

      setfocus(使對(duì)象獲得焦點(diǎn))

      show hide(專(zhuān)門(mén)用于表單的顯示或隱藏)

      visible(表單中的其它控件顯示或隱藏由該屬性控制).t.,.f.常用表單控件

      標(biāo)簽

      caption name 對(duì)象引用名稱(chēng)

      fontname 字體

      fontsize字號(hào)

      height 對(duì)象的高度

      width 寬度

      (任何對(duì)象都有)left對(duì)象的左邊離表單左邊的距離

      top

      backstyle

      autosize

      caption

      標(biāo)簽上設(shè)置訪(fǎng)問(wèn)鍵(<字母)alignment 文本對(duì)齊方式

      命令按鈕

      default(設(shè)置成確認(rèn),響應(yīng) enter)cancel(設(shè)置成取消按鈕

      響應(yīng)esc)

      enabled

      設(shè)置是否能響應(yīng)用戶(hù)事件

      visible 設(shè)置控件的顯示隱藏.t..f.(任何對(duì)象都有)

      文本框:

      controlsource 綁定變量

      存取某變量的值(字段變量或內(nèi)存變量)

      value

      c

      n d l

      各種類(lèi)型的數(shù)據(jù),但默認(rèn)字符串

      passwordchar

      占位符

      inputmask

      x

      #

      6個(gè)數(shù)字

      編輯框: value(c)hideselection

      readonly

      scrollbars

      selstart 返回被選文本的起始位置

      sellength 返回被選文本的長(zhǎng)度

      seltext 返回被選文本的內(nèi)容

      復(fù)選框:

      caption

      value 返應(yīng)復(fù)選框選中否

      n(0,1)默認(rèn) L(.t.,.f.)controlsource

      列表框: rowsourcetype數(shù)據(jù)源類(lèi)型

      rowsource 數(shù)據(jù)源rowsourcetype =0

      只能在程序運(yùn)行過(guò)程中用

      <對(duì)象引用名>.additem(<字符串>)load 方法 來(lái)添加條目

      init

      移去條目的方法: <對(duì)象引用名>.removeitem(n)

      值:手工添加條目

      rowsourcetype =1

      可在屬性框中直接設(shè)置rowsource的值,或在 程序運(yùn)行過(guò)程中 指定,格式是: <對(duì)象名>.rowsource=[one,two,three,four] 別名

      rowsourcetype =2 一定要打開(kāi)表 <對(duì)象名>.rowsource=[<別名>] SQL rowsourcetype =3

      可在屬性框中直接設(shè)置rowsource的值 <對(duì)象名>.rowsource=[] 查詢(xún)文件作為數(shù)據(jù)源 rowsourcetype =4

      <對(duì)象名>.rowsource=[<查詢(xún)文件名>] 數(shù)組

      rowsourcetype =5

      <對(duì)象名>.rowsource=[<數(shù)組名>] 字段的值作為數(shù)源

      rowsourcetype =6

      一定要打開(kāi)表 <對(duì)象名>.rowsource=[<字段變量>] 文件作為數(shù)據(jù)源 rowsourcetype =7

      <對(duì)象名>.rowsource=[*.dbf] 結(jié)構(gòu):表字段作為條目

      rowsourcetype =8

      一定要打開(kāi)表

      <對(duì)象名>.rowsource=[表名]

      removeitem(n)

      columncount

      multiselect 是否是多重選擇,默認(rèn)單選.f.VAlue 單選 value 值就是選中的條目字符串 多重選擇 value值不可用

      c

      n

      當(dāng)單選條目時(shí), 返回是選中條的值;選中條目的條目序號(hào)

      list(a,b)存取條目值

      listcount

      返回列表框的條目總數(shù)

      n

      selected(n)判斷第N 條條目是不是被選中了.t..f.組合框: style 0(下拉組合),2(下拉列表框)

      value c

      沒(méi)有多重選擇(multiselect)

      容器

      命令按鈕組:

      buttoncount,buttons(i)

      value n ,c 返回第幾個(gè)按鈕被選中了

      注:容器內(nèi)部編輯方法——右擊容器——編輯

      選項(xiàng)組控件:buttoncount, buttons(i)

      value n , c

      表格控件 : recordsoucetype數(shù)據(jù)類(lèi)型

      recordsource 數(shù)據(jù)源(字符型)0 表

      <表名> 1別名(打開(kāi)表的名稱(chēng))

      <表別名> 2提示

      3查詢(xún)文件

      <查詢(xún)文件名> 4 SQL 語(yǔ)句

      columcount

      caption

      alignmet recordsoucetype=0

      recordsource=[<表名>]

      有表打開(kāi) recordsoucetype=1

      recordsource=[<別名>]

      recordsoucetype=4

      recordsource=[]

      頁(yè)框組控件: pagecount

      pages(I)

      tabs

      tabstrech

      activepage 頁(yè)

      計(jì)時(shí)器:timer 事件

      計(jì)時(shí)器屬性

      interval

      引發(fā)timer事件的時(shí)間間隔

      微調(diào)器:spinnerhighvalue spinnerlowvalue

      increment

      value

      第七章.菜單設(shè)計(jì)與應(yīng)用

      菜單類(lèi)型:條形菜單和彈出式菜單

      典型菜單系統(tǒng)由一個(gè)條形菜單和一組彈出式菜單組成 恢復(fù)系統(tǒng)設(shè)置:

      set

      sysmenu

      nosave set sysmenu to

      default 恢復(fù)到系統(tǒng)設(shè)置 下拉式菜單設(shè)計(jì) 基本過(guò)程

      新建:create menu

      <文件名> 修改:modify menu <文件名> 運(yùn)行:do <文件名>

      注:擴(kuò)展名不能省略(訪(fǎng)問(wèn)鍵、分組、快捷方式、跳過(guò)、信息)顯示菜單: 常規(guī)選項(xiàng) 菜單選項(xiàng)

      ? 為頂層表單添加菜單 5點(diǎn)

      1.建立菜單

      2.設(shè)置常規(guī)選項(xiàng)卡為:頂層表單,并生成程序 3.把表單的showwindow =2 4.在表單的 init 事件中運(yùn)行菜單程序: do <文件名.擴(kuò)展名> with this 5.在表單的destory 事件中

      :release

      menu <菜單名>

      菜單如何引用表單對(duì)象:<表單文件名>.<對(duì)象名>.<屬性|方法>

      快捷菜單設(shè)計(jì)

      為表單添加快捷菜單

      2點(diǎn)

      1.設(shè)計(jì)好快捷菜單并生成程序文件

      2.在表單或其它控件的rightclick 事件 運(yùn)行菜單程序

      do

      <文件名.mpr>

      (4點(diǎn))

      快捷菜單如何引用表單對(duì)象

      <表單文件名>.<對(duì)象名>.<屬性|方法> <形參名>.<對(duì)象名>.<屬性|方法>

      .mnx.mpr

      第八章.報(bào)表設(shè)計(jì) 文件類(lèi)型:*.frx 報(bào)表主要包括:數(shù)據(jù)源和布局 所有表、查詢(xún)、視圖

      布局分:列報(bào)表、行報(bào)表、一對(duì)多報(bào)表、多欄報(bào)表 創(chuàng)建報(bào)表: 向?qū)?快速報(bào)表 設(shè)計(jì)器

      create report <報(bào)表文件名>

      報(bào)表工具 帶區(qū)及作用 控件

      分組報(bào)表的設(shè)計(jì)和多欄報(bào)表 報(bào)表預(yù)覽:

      report form <文件名> preview 第九章.應(yīng)用程序開(kāi)始生成 應(yīng)用程序項(xiàng)目綜合踐 系統(tǒng)開(kāi)發(fā)基本步驟 連編應(yīng)用程序 主程序設(shè)計(jì)

      使用應(yīng)用程序生成器

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

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

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

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

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

      數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識(shí)別的物理符號(hào)。數(shù)據(jù)處理的中心問(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ù)而配置的軟件稱(chēng)為數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS(DataBase Management System)。

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

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

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

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

      (3)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):對(duì)數(shù)據(jù)實(shí)行專(zhuān)門(mén)管理,提供安全性和完整性等統(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ù)管理員和用戶(hù)等部分組成。

      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)系的種類(lèi)

      (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)系模型的用戶(hù)界面非常簡(jiǎn)單,一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為關(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,稱(chēng)為“表”。

      對(duì)關(guān)系的描述稱(chēng)為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu),格式為: 關(guān)系名(屬性名1,屬性名2,?,屬性名n)

      (2)元組:在一個(gè)二維表中,水平方向的行稱(chēng)為元組,每一行為一個(gè)元組。

      (3)屬性:將二維表中垂直方向的列稱(chēng)為屬性,每一列都有一個(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è)字段(屬性)就稱(chēng)為外部關(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)行查詢(xún)時(shí),需要找到用戶(hù)感興趣的數(shù)據(jù),這就需要對(duì)關(guān)系進(jìn)行一定的關(guān)系運(yùn)算,關(guān)系的基本運(yùn)算有兩類(lèi):傳統(tǒng)的集合運(yùn)算和專(zhuān)門(mé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專(zhuān)門(mén)的關(guān)系運(yùn)算

      (1)選擇:從關(guān)系中找出滿(mǎ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)行的連接操作稱(chēng)為等值連接。自然連接是去掉重復(fù)屬性的等值連接。小提示:

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

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

      (l)關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)遵從概念單一化“一事一地”的原則。

      (2)避免在表之間出現(xiàn)重復(fù)字段。

      (3)表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素。

      (4)用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系。

      2設(shè)計(jì)步驟

      利用Visual FoxPro來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可以按照以下步驟來(lái)設(shè)計(jì)。

      (1)需求分析。

      (2)確定需求表C

      (3)確定需求字段。

      (4)確定聯(lián)系。

      (5)設(shè)計(jì)精確

      1.4 Visual FoxPro系統(tǒng)概述 考點(diǎn)7 Visual FoxPro的特點(diǎn)

      (l)增強(qiáng)項(xiàng)目與數(shù)據(jù)庫(kù)管理。

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

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

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

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

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

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

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

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

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

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

      

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

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

      

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

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

      

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

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

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

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

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

      

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

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

      

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

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

      

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

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

      

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

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

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

      

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

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

      

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

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

      

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

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

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

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

      

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

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

      

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

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

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

      

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

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

      600600 青島啤酒 7.48 上海

      600601 方正科技 15.20 上海

      600602 廣電電子 10.40 上海

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

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

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

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

      000002 深萬(wàn)科 12.50 深圳

      

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

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

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

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

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

      

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

      CLOSE DATABASE

      a=0

      USE stock

      GO TOP

      DO WHILE.NOT.FOF()

      I(yíng)F 單價(jià)>10

      a=a+1

      ENDIF

      SKIP

      ENDDO

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

      

      (17)有如下SQL SELECT語(yǔ)句

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

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

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

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

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

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

      

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

      

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

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

      (20)有如下SQL語(yǔ)句

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

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

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

      (21)有如下SQL語(yǔ)句

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

      GROUP BY 交易所 INTO DBF temp

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

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

      

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

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

      (23)有如下SQL語(yǔ)句

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

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

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

      

      (24)有如下SQL語(yǔ)句

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

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

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

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

      

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

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

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

      

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

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

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

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

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

      

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

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

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

      

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

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

      

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

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

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

      

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

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

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

      

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

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

      

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

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

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

      

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

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

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

      

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

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

      

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

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

      

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

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

      

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

      

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

      

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

      

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

      

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

      

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

      

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

      [9]。

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

      “教師”表

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

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

      11020002 王巖鹽 教授40 3000.00 02

      11020003 劉星魂 講師25 1500.00 01

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

      11020005 李明玉 教授34 2000.00 01

      11020006 孫民山 教授47 2100.00 02

      11020007 錢(qián)無(wú)名 教授49 2200.00 03

      “學(xué)院”表

       系號(hào) 系名

      01 英語(yǔ)

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

      03 工商管理

      

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

      

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

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

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

      

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

      [15] 職稱(chēng)=“教授”

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

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

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

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

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

      (l)人工管理。

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

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

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

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

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

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

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

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

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

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

      (3)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):對(duì)數(shù)據(jù)實(shí)行專(zhuān)門(mén)管理,提供安全性和完整性等統(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ù)管理員和用戶(hù)等部分組成。

      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)系的種類(lèi)

      (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)系模型的用戶(hù)界面非常簡(jiǎn)單,一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為關(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,稱(chēng)為“表”。

      對(duì)關(guān)系的描述稱(chēng)為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu),格式為:

      關(guān)系名(屬性名1,屬性名2,?,屬性名n)

      (2)元組:在一個(gè)二維表中,水平方向的行稱(chēng)為元組,每一行為一個(gè)元組。

      (3)屬性:將二維表中垂直方向的列稱(chēng)為屬性,每一列都有一個(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è)字段(屬性)就稱(chēng)為外部關(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)行查詢(xún)時(shí),需要找到用戶(hù)感興趣的數(shù)據(jù),這就需要對(duì)關(guān)系進(jìn)行一定的關(guān)系運(yùn)算,關(guān)系的基本運(yùn)算有兩類(lèi):傳統(tǒng)的集合運(yùn)算和專(zhuān)門(mé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專(zhuān)門(mén)的關(guān)系運(yùn)算

      (1)選擇:從關(guān)系中找出滿(mǎ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)行的連接操作稱(chēng)為等值連接。自然連接是去掉重復(fù)屬性的等值連接。小提示:

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

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

      (l)關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)遵從概念單一化“一事一地”的原則。

      (2)避免在表之間出現(xiàn)重復(fù)字段。

      (3)表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素。

      (4)用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系。

      2設(shè)計(jì)步驟

      利用Visual FoxPro來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可以按照以下步驟來(lái)設(shè)計(jì)。

      (1)需求分析。

      (2)確定需求表C

      (3)確定需求字段。

      (4)確定聯(lián)系。

      (5)設(shè)計(jì)精確

      1.4 Visual FoxPro系統(tǒng)概述 考點(diǎn)7 Visual FoxPro的特點(diǎn)

      (l)增強(qiáng)項(xiàng)目與數(shù)據(jù)庫(kù)管理。

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

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

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

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之VF系統(tǒng)初步(第二章)2.1 Visual FoxPro的安裝和啟動(dòng) 考點(diǎn)1 Visual FoxPro的系統(tǒng)要求

      Visual FoxPro功能強(qiáng)大,但它對(duì)系統(tǒng)的要求并不高,個(gè)人計(jì)算機(jī)軟硬件基本要求如下。

      (1)處理器;486DX/66 MHz處理器,推薦使用Pentium或更高處理器的PC。

      (2)內(nèi)存:16MB以上的內(nèi)存,推薦使用24MB內(nèi)存。

      (3)硬盤(pán)空間:典型安裝需要85 MB硬盤(pán)空間,最大安裝需要90MB硬盤(pán)空間。

      (4)其他硬件:一個(gè)鼠標(biāo)、一個(gè)光盤(pán)驅(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的用戶(hù)界面 考點(diǎn)2 Visual FoxPro的主界面

      Visual FoxPro的主界面即其工作環(huán)境,啟動(dòng) Visual FoxPro后,打開(kāi)如圖2一l所示的界面。

      考點(diǎn)3 工具欄的使用

      設(shè)置工具欄是微軟公司流行軟件的共同特點(diǎn),利用各種工具欄比菜單要方便得多。其默認(rèn)界面僅包括“常用”工具欄和“表單設(shè)計(jì)器”工具欄。除此之外,Visual FoxPro還提供其他10個(gè)工具欄,如表2-1所示。

      小提示:

      Visual FoxPro中有兩種工作方式:交互操作方式和程序方式,命令方式和菜單方式都屬于交互操作方式。2.3 項(xiàng)目管理器 考點(diǎn)4 使用項(xiàng)目管理器

      (1)項(xiàng)目管理器窗口中共有6個(gè)選項(xiàng)長(zhǎng),其中“全部”選項(xiàng)卡用來(lái)集中顯示該項(xiàng)目中的所有文件,“數(shù)據(jù)”、“文檔”、“類(lèi)”、“代碼”和“其他“5個(gè)選項(xiàng)卡用來(lái)分類(lèi)顯示各種文件。

      (2)項(xiàng)目管理器一是提供了簡(jiǎn)便的、可視化的方法來(lái)組織和處理表、數(shù)據(jù)庫(kù)、表單、查詢(xún)和其他一切文件,通過(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中的不同文件類(lèi)型及其擴(kuò)展名,如表2-2所示。

      表2-2 Visual FoxPro中的不同文件類(lèi)型及其擴(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交互式程序用戶(hù)在一系列向?qū)聊簧匣卮饐?wèn)題或者選擇選項(xiàng)后,向?qū)?huì)根據(jù)回答生成文件或者執(zhí)行任務(wù),幫助用戶(hù)快速完成一般性的任務(wù)〔例如創(chuàng)建表單、編排報(bào)表的格式、建立查詢(xún)、制作圖表、生成數(shù)據(jù)透視表、生成交叉表報(bào)表及在Web上按HTML格式發(fā)布等??键c(diǎn)7 Visual FoxPro的設(shè)計(jì)器

      Visual FoxPro的設(shè)計(jì)器是創(chuàng)建和修改應(yīng)用系統(tǒng)各種組件的可視化工具:利用各種設(shè)計(jì)器使得創(chuàng)建表、表單、數(shù)據(jù)庫(kù)、查詢(xún)和報(bào)表及管理數(shù)據(jù)變得輕而易舉,為初學(xué)者提供了方便。考點(diǎn)8 Visual FoxPro的生成器

      生成器是帶有選項(xiàng)卡的對(duì)話(huà)框,用于簡(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è)具體的、不變的值。不同類(lèi)型常量的書(shū)寫(xiě)格式不同。在Visual FoxPro中,常量主要包括以下幾種類(lèi)型。

      1數(shù)值型常量

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

      2貨幣型常量

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

      3字符型常量

      字符型常量也稱(chēng)為字符串,其表示方法是用半角單引號(hào)、雙引號(hào)或方括號(hào)把字符串括起來(lái)。這里的單引號(hào)、雙引號(hào)或方括號(hào)稱(chēng)為定界符許多常量都有定界符。定界符雖然不作為常量本身的內(nèi)容,但它規(guī)定了常量的類(lèi)型及常量的起始和終止界限。

      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ù),變量的類(lèi)型取決于變量值的類(lèi)型。內(nèi)存變量的數(shù)據(jù)類(lèi)型包括:字符型(C)、數(shù)值型(N)、貨幣型(Y)、日期型(D)、日期時(shí)間型(T)和邏輯型(L)。

      1簡(jiǎn)單的內(nèi)存變量

      每一個(gè)變量都有一個(gè)名字,可以通過(guò)變量名訪(fǎng)問(wèn)變量。如果當(dāng)前表中存在一個(gè)同名的字段變量,則在訪(fǎng)問(wèn)內(nèi)存變量時(shí),必須在變量名前加上前綴M.(或M->),否則系統(tǒng)將訪(fǎ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ù)組的形式訪(fǎng)問(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è)同名的字段變量,則在訪(fǎng)問(wèn)內(nèi)存變量時(shí),必須在內(nèi)存變量名前加上前綴M.(或M->),否則系統(tǒng)訪(fǎ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á)式通常也稱(chēng)為簡(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.。考點(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ù)值的一類(lèi)函數(shù),它們的自變量和返回值往往都是數(shù)值型數(shù)據(jù)。

      1絕對(duì)值和符號(hào)函數(shù)

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

      SIGN(<數(shù)值表達(dá)式>)

      功能:ABS()返回指定的數(shù)值表達(dá)式的絕對(duì)值。SIGN()返回指定數(shù)值表達(dá)式的符號(hào)。

      2求平方根函數(shù)

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

      功能:返回指定表達(dá)式的平方根,表達(dá)式的值不能為負(fù)。

      3圓周率函數(shù)

      格式:PI()

      功能:返回圓周率二,該函數(shù)沒(méi)有自變量。

      4求整數(shù)函數(shù)

      格式:INT(<數(shù)值表達(dá)式>)CEILING(<數(shù)值表達(dá)式>)FLOOR(<數(shù)值表達(dá)式>)

      功能:INT()返回指定數(shù)值表達(dá)式的整數(shù)部分。CEILING()返回大于或等于指定數(shù)值表達(dá)式的最小整數(shù)。FLOOR()返回小于或等于指定數(shù)值表達(dá)式的最大整數(shù)。5四舍五入函數(shù)

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

      功能:返回<數(shù)值表達(dá)式I>在指定位置四舍五入后的結(jié)果,<數(shù)值表達(dá)式2>指明四舍五入的位置。若<數(shù)值表達(dá)式2>大于等于0,表示的是要保留的小數(shù)位,若小于。,則表示整數(shù)部分的舍入位數(shù)。

      6求余數(shù)函數(shù)

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

      功能:返回兩個(gè)數(shù)相除后的余數(shù)。余數(shù)的正、負(fù)號(hào)與除數(shù)相同。如果被除數(shù)與除數(shù)同號(hào),則函數(shù)值為兩數(shù)相除的余數(shù);如果異號(hào),則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。

      7求最大值和最小值函數(shù)

      格式:MAX(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>[,<數(shù)值表達(dá)式3>?])MIN(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>[,<數(shù)值表達(dá)式3>?])

      功能MAX()返回自變量中的最大值。MIN()返回自變量中的最小值??键c(diǎn)8 字符函數(shù)

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

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

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

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

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

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

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

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

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

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

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

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

      5取子串函數(shù)

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

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

      6計(jì)算子串出現(xiàn)次數(shù)函數(shù)

      格式:OCCURS(<字符表達(dá)式1>,<字符表達(dá)式2>)

      功能:返回第一個(gè)字符串在第二個(gè)字符串中出現(xiàn)的次數(shù)。

      7求子串位置函數(shù)

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

      功能:AT()返回第一個(gè)字符串的首字符在第_二個(gè)字符串中出現(xiàn)的位置。前提條件是第一個(gè)字符串必須是第二個(gè)字符串的子串,否則函數(shù)返回值為0。ATC()功能與AT()類(lèi)似,但不區(qū)分字符串中字符的大小寫(xiě)。

      8子串替換函數(shù)

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

      功能:用<字符表達(dá)式2>的值替換<字符表達(dá)式I>中由<起始位置>和<長(zhǎng)度>指定的一個(gè)子串。

      9字符替換函數(shù)

      格式CHRTRAN(<字符表達(dá)式1>,<字符表達(dá)式2>,<字符表達(dá)式3>)

      功能:該函數(shù)的自變量是三個(gè)字符表達(dá)式。當(dāng)?shù)谝粋€(gè)字符串中的一個(gè)或多個(gè)字符與第二個(gè)字符串中的某個(gè)字符相匹配時(shí),應(yīng)用第三個(gè)字符串中的對(duì)應(yīng)字符(相同位置)替換這些字符如果第三個(gè)字符串包含的字符個(gè)數(shù)少于第二個(gè)字符串包含的字符個(gè)數(shù),因?yàn)闆](méi)有對(duì)應(yīng)字符,那么第一個(gè)字符串中相匹配的各字符將被刪除。如果第三個(gè)字符串包含的字符個(gè)數(shù)多于第二個(gè)字符串包含的字符個(gè)數(shù),多余字符將被忽略。

      10字符串匹配函數(shù)

      格式:LIKE(<字符表達(dá)式I>,<字符表達(dá)式2>)

      功能:比較兩個(gè)字符串對(duì)應(yīng)位置_L的字符。其中<字符表達(dá)式1>中可包含通配符*和?。*表示若干個(gè)任意字符,?表示任意一個(gè)字符??键c(diǎn)9 日期和時(shí)間函數(shù)

      1系統(tǒng)日期和時(shí)間函數(shù)

      格式:DATE()TIME()DATETIME()

      功能:DATE()返回當(dāng)前系統(tǒng)日期,函數(shù)值為日期TIME()以24小時(shí)制返回當(dāng)前系統(tǒng)時(shí)間,函數(shù)值為字符型;DATETIME()返回肖前系統(tǒng)日期時(shí)間,函數(shù)值為日期時(shí)間型。

      2求年份、月份和天數(shù)的函數(shù)

      格式:YEAR(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)MONTH(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)DAY(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)

      功能:YEAR()從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回年份。MONTH()從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回月份DAY()從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回月份的天數(shù)。這3個(gè)函數(shù)的返回值均為數(shù)值型數(shù)據(jù)

      3求時(shí)、分和秒的函數(shù)

      格式:HOUR(<日期時(shí)間表達(dá)式>)MINUTE(<日期時(shí)間表達(dá)式>)SEC(<日期時(shí)間表達(dá)式>)

      功能:HOUR()從指定的日期時(shí)間表達(dá)式中返回小時(shí)部分(24小時(shí)制)。MINUTE()從指定的日期時(shí)間表達(dá)式中返回分鐘部分。SEC()從指定的日期時(shí)間表達(dá)式中返回秒鐘部分??键c(diǎn)10 數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)

      數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)的功能是將某一種類(lèi)型的數(shù)據(jù)轉(zhuǎn)換成另一種類(lèi)型的數(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í)宏替換可以嵌套使用。考點(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ù)類(lèi)型測(cè)試函數(shù)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      9條件測(cè)試函數(shù)

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

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

      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ì)話(huà)框建立數(shù)據(jù)庫(kù)。

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

      CREATE DATABASE[DatabaseName |?]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      1字段名

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

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

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

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

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

      2字段類(lèi)型和寬度

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

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

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

      (3)浮點(diǎn)型:功能類(lèi)似于“數(shù)值型”,其長(zhǎng)度在表中最長(zhǎng)可達(dá)20位。

      (4)日期型:由年、月、日構(gòu)成的數(shù)據(jù)類(lèi)型,如訂貨日期。

      (5)日期時(shí)間型:由年、月、日、時(shí)、分、秒構(gòu)成的數(shù)據(jù)類(lèi)型,如員工上班的時(shí)間。

      (6)雙精度型:雙精度數(shù)慎類(lèi)型,一般用于要求精度很高的數(shù)據(jù)。

      (7)整型:不帶小數(shù)點(diǎn)的數(shù)值類(lèi)型,如訂單的行數(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)題。輸入掩碼是字段的一種屬性,用限制或控制用戶(hù)輸入的格式。標(biāo)題用于字段顯示時(shí)的標(biāo)題,如果不指定標(biāo)題則顯示字段名。當(dāng)字段名是英文或縮寫(xiě)時(shí),則通過(guò)指定標(biāo)題可以使界面更友好。

      6字段注釋

      可以為每個(gè)字段添加注釋?zhuān)阌谌蘸蠡蚱渌藢?duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)??键c(diǎn)4 修改表結(jié)構(gòu)

      在Visual FoxPro中可以對(duì)表結(jié)構(gòu)任意修改,修改表結(jié)構(gòu)和建立表結(jié)構(gòu)時(shí),表設(shè)計(jì)器界面完全一樣。修改數(shù)據(jù)表結(jié)構(gòu)時(shí),首先應(yīng)該用USE命令打開(kāi)要修改的數(shù)據(jù)表,然后利用MODIFY STRUCTURE打開(kāi)表設(shè)計(jì)器進(jìn)行修改,具體操作有以下幾種。

      (1)修改已有字段。

      (2)添加新字段。

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

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

      1瀏覽器操作

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

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

      (3)下一頁(yè)(PageDown鍵)。

      (4)上一頁(yè)(PageUp鍵)。

      (5)下一字段(Tab鍵)。

      (6)前一字段(Shift+Tab鍵)。

      2修改記錄

      只需將光標(biāo)定位到要修改的記錄和字段上,就可以進(jìn)行修改了。

      3刪除記錄

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

      圖4-2 增加和刪除記錄

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

      1增加記錄

      APPEND命令是在表的尾部增加記錄,格式有如下兩種。

      格式1:APPEND

      格式2:APPEND BLANK

      2插入記錄

      格式:INSERT [BEFORE][BLANK]

      3刪除記錄

      刪除記錄有物理刪除和邏輯刪除兩種,Visual FoxPro用來(lái)刪除記錄的命令如下。

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

      格式:DELETE [FOR lExpressionl]

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

      (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 查詢(xún)定位的命令

      (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)在索引類(lèi)型的下拉框中選擇索引類(lèi)型。

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

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

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

      3使用命令建立索引

      格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]

      從索引的組織方式來(lái)講,索引共有3種類(lèi)型。

      (1)單獨(dú)的IDX索引,是一種非結(jié)構(gòu)索引。

      (2)采用非默認(rèn)名的CDX索引,也是一種非結(jié)構(gòu)復(fù)合索引。

      (3)與表同名的CDX索引,是結(jié)構(gòu)復(fù)合索引。

      結(jié)構(gòu)復(fù)合索引文件可隨表的打開(kāi)而打開(kāi),在同一個(gè)索引文件中能包含多個(gè)索引方案或索引關(guān)鍵字,在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)索引??键c(diǎn)10 索引的使用

      (l)打開(kāi)索引文件,格式為: SET INDEX TO Indexfilelist

      (2)設(shè)置當(dāng)前索引,格式為:

      SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING]

      (3)使用索引快速定位,格式為:

      SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING]

      (4)刪除索引,格式為:

      DELETE TAG TagNamel &&TagName1為索引名

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

      索引可以使用戶(hù)按照某種順序?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)志表中的一條記錄,則稱(chēng)這個(gè)字段為候選關(guān)鍵字。在Visual FoxPro中將主關(guān)鍵字稱(chēng)做主索引,將候選關(guān)鍵字稱(chēng)為候選索引。考點(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)表之間的連線(xiàn)并選擇“數(shù)據(jù)庫(kù)”、“編輯參照完整性”菜單命令,打開(kāi)如圖4-4所示的“參照完整性生成器”對(duì)話(huà)框。

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

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

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

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

      1建立自由表的方法

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

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

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

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

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

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

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

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

      (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ù)”→“添加表”菜單命令,在“打開(kāi)”對(duì)話(huà)框中選擇自由表文件,將其添加到數(shù)據(jù)庫(kù)中。

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

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

      REMOVE TABLE TableName |?[DELETE][RECYCLE]

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

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

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

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

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

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

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

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

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

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

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

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

      全國(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)化查詢(xún)語(yǔ)言Structured Query Language的縮寫(xiě)。它包括數(shù)據(jù)查詢(xún)、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制4部分。Visual FoxPro在SQL方面支持?jǐn)?shù)據(jù)定義、數(shù)據(jù)查詢(xún)和數(shù)據(jù)操縱功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它沒(méi)有提供數(shù)據(jù)控制功能。

      SQL語(yǔ)言的特點(diǎn)

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

      (2)一種高度非過(guò)程化的語(yǔ)言。

      (3)語(yǔ)言非常簡(jiǎn)潔。

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

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

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

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

      1簡(jiǎn)單查詢(xún)

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

      2簡(jiǎn)單的連接查詢(xún)

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

      3嵌套查詢(xún)

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

      BETWEEN?AND?

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

      LIKE

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

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

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

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

      1簡(jiǎn)單的計(jì)算查詢(xún)

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

      2分組與計(jì)算查詢(xún)

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

      格式:GROUP BY GroupColumn[,GroupColumn?][HAVING FilterCondition]

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

      (1)SQL語(yǔ)句允許在二OM短語(yǔ)中為關(guān)系定義別名,格式為:一 <關(guān)系名><別名>

      (2)SQL不僅可以對(duì)多個(gè)關(guān)系進(jìn)行連接操作,也可以將同一關(guān)系與其自身進(jìn)行連接,這種連接就稱(chēng)為自連接。在關(guān)系的自連接操作中,別名是必不可少的。考點(diǎn)7 使用量詞和謂詞的查詢(xún)

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

      (1)<表達(dá)式><比較運(yùn)算符>[ANY I ALL | SOME](子查詢(xún))

      (2)[NOT]EXISTS(子查詢(xún))

      EXISTS是謂詞,EXISTS或NOT EXISTS是用來(lái)檢查在子查詢(xún)中是否有結(jié)果返回,即存在元組或不存在元組。其本身并沒(méi)有進(jìn)行任何運(yùn)算或比較,只用來(lái)返回子查詢(xún)結(jié)果??键c(diǎn)8 超鏈接查詢(xún)

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

      (2)在Visual FoxPro中不支持超鏈接運(yùn)算符“*=”和“=*”,Visual FoxPro有專(zhuān)門(mén)的連接運(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)將查詢(xún)結(jié)果存放到數(shù)組中,格式為: INTO ARRAY ArrayName

      (3)將查詢(xún)結(jié)果存放到臨時(shí)文件中,格式為: INTO CURSOR CursorName

      (4)將查詢(xún)結(jié)果存放到永久表中,格式為: INTO DBF|TABLE TableName

      (5)將查詢(xún)結(jié)果存放到文本文件中,格式為: TO FILE FileName[ADDITIVE]

      (6)將查詢(xún)結(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字句指定條件,以更新滿(mǎn)足條件的一些記錄的字段值,并巨一次可更新多個(gè)字段;如果不使用WHERE子句,則更新全部記錄??键c(diǎn)12 刪除

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

      說(shuō)明:FROM指定從哪個(gè)表中刪除記錄,WHERE指定被刪除的記錄所滿(mǎn)足的條件,如果不使用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ō)明:此命令除了建立表的基本功能外,還包括滿(mǎn)足實(shí)體完整性的主關(guān)鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯(cuò)提示信息ERROR、定義默認(rèn)值DEFAULT等,另外還有描述表之間聯(lián)系的FOREIGN KEY和REFERENCES等??键c(diǎn)14 表的刪除

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

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

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

      (1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕]

      (2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK]

      (3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕

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

      1視圖的概念及其定義

      (l)視圖的概念。

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

      (2)視圖的定義,格式為:

      CREATE VIEW view name[(column_name[,column_name]?)] AS select_statement

      2從單個(gè)表派生出來(lái)的視圖

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

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

      視圖一方面可以限定對(duì)數(shù)據(jù)的訪(fǎng)問(wèn),另一方面又可以簡(jiǎn)化對(duì)數(shù)據(jù)的訪(fǎng)問(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)行各種查詢(xú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)分析之查詢(xún)與視圖(第六章)

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

      1查詢(xún)的概念

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

      2查詢(xún)的建立

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

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

      (2)可以利用“新建”對(duì)話(huà)框打開(kāi)查詢(xún)?cè)O(shè)計(jì)器建立查詢(xún)。

      (3)可以在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開(kāi)查詢(xún)?cè)O(shè)計(jì)器建立查詢(xún)。

      (4)可直接編輯QPR文件建立查詢(xún)。

      建立查詢(xún)時(shí),首先進(jìn)入如圖6-1所示的界面選擇用于建立查詢(xún)的表或視圖,選擇表或視圖后,單擊“添加”按鈕。最后單擊“關(guān)閉”按鈕,進(jìn)入如圖6-2所示的查詢(xún)?cè)O(shè)計(jì)器界面。

      圖6-1 為查詢(xún)選擇表或視圖

      查詢(xún)?cè)O(shè)計(jì)器中的各選項(xiàng)卡和SQL SELECT語(yǔ)句的各短語(yǔ)是相對(duì)應(yīng)的,對(duì)應(yīng)關(guān)系如下。

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

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

      “篩選”――WHERE短語(yǔ),用于指定查詢(xún)條件。

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

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

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

      3查詢(xún)的運(yùn)行

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

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

      (2)在命令窗門(mén)執(zhí)行命令DO QueryFile。

      注意:此處的查詢(xún)文件名是全名,包括擴(kuò)展名QPR。

      4查詢(xún)?nèi)ハ?/p>

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

      圖6-3 “查詢(xún)?nèi)ハ颉睂?duì)話(huà)框

      各去向的含義如下。

      (1)瀏覽:在“瀏覽"(BROWSE)窗口中顯示查詢(xún)結(jié)果,這是默認(rèn)的輸出去向。

      (2)臨時(shí)表:將查詢(xún)結(jié)果存儲(chǔ)于一個(gè)命名的臨時(shí)只讀表中。

      (3)表:將結(jié)果保存在一個(gè)命名的數(shù)據(jù)表文件中。

      (4)圖形:查詢(xún)結(jié)果可以用于Microsoft Graph。

      (5)屏幕:在Visual FoxPro主窗口或當(dāng)前活動(dòng)輸出窗口中顯示查詢(xún)結(jié)果。

      (6)報(bào)表:將結(jié)果輸出到一個(gè)報(bào)表文件。

      (7)標(biāo)簽:將結(jié)果輸出到一個(gè)標(biāo)簽文件。小提示:

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

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

      1視圖的概念

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

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

      2視圖的建立

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

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

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

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

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

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

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

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

      (3)在視圖中沒(méi)有“查詢(xún)?nèi)ハ颉钡膯?wèn)題。

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

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

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

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

      2建立連接

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

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

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

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

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

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

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

      1指定可更新的表

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

      2指定可更新的字段

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

      3檢查更新的合法性

      如圖6-1所示,“SQL WHERE子句包括”框中的選項(xiàng)決定哪些字段包含在UPDATE或DELETE語(yǔ)句的WHERE子句中,Visual FoxPro正是利用這些語(yǔ)句將在視圖中修改或刪除的記錄發(fā)送到遠(yuǎn)程數(shù)據(jù)源或基本表中,WHERE子句就是用來(lái)檢查自從提取記錄用于視圖中后,服務(wù)器上的數(shù)據(jù)是否已經(jīng)改變。

      “SQL WHERE子句包括”框中各選項(xiàng)的含義如下。

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

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

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

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

      4使用更新方式

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

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

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

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

      1視圖操作

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

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

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

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

      2使用視圖

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

      小提示:

      查詢(xún)與視圖的區(qū)別是:查詢(xún)可以定義輸出去向,可以將查詢(xún)的結(jié)果靈活地應(yīng)用于表單、報(bào)表、圖形等各種場(chǎng)合,但是利用查詢(xún)不可以修改數(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ù)的命令集合。這組命令被存放在稱(chēng)為程序文件或命令文件的文本文件中。當(dāng)運(yùn)行程序時(shí),系統(tǒng)會(huì)按照一定的次序自動(dòng)執(zhí)行包含在程序文件中的命令。

      2程序文件的建立與修改

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

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

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

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

      3打開(kāi)或修改程序文件的方法

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

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

      (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)存變量>

      功能:該命令等待用戶(hù)從鍵盤(pán)輸入數(shù)據(jù),當(dāng)用戶(hù)回車(chē)后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。

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

      ACCEPT命令

      格式:ACCEPT[<字符表達(dá)式>]TO<內(nèi)存變量>

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

      注釋?zhuān)涸撁钪荒芙邮兆址S脩?hù)在輸入字符串時(shí)不需要加定界符;否則,系統(tǒng)會(huì)把定界符作為字符串本身的一部分。如果不輸入任何內(nèi)容而直接按回車(chē)鍵,系統(tǒng)會(huì)把空串賦給指定的內(nèi)存變量。

      WAIT命令

      格式:WAIT[<字符表達(dá)式>][TO<內(nèi)存變量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<數(shù)值表達(dá)式>]

      功能:該命令顯示字符表達(dá)式的值作為提示信息,暫停程序的執(zhí)行,直到用戶(hù)按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)程序運(yùn)行。

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

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

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

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

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

      1條件語(yǔ)句

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

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

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

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

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

      2分支語(yǔ)句

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

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

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

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

      循環(huán)結(jié)構(gòu)也稱(chēng)為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過(guò)程中,其中的某段代碼被重復(fù)執(zhí)行若一干珠。被重復(fù)執(zhí)行的代碼段,通常稱(chēng)為循環(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)滿(mǎn)足的條件。執(zhí)行該語(yǔ)句時(shí),記錄指針自動(dòng)、依次地在當(dāng)前表的指定范圍內(nèi)滿(mǎn)足條件的記錄上移動(dòng),對(duì)每一條記錄執(zhí)行循環(huán)體內(nèi)的命令。

      7.3 多模塊程序

      模塊是一個(gè)相對(duì)獨(dú)立的程序段,它可以被其他模塊調(diào)用,也可以調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱(chēng)為子程序,把調(diào)用其他模塊而沒(méi)有被其他模塊調(diào)用的模塊稱(chēng)為主程序。應(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ò)程的開(kāi)始,并命名過(guò)程。過(guò)程名必須以字母或下劃線(xiàn)開(kāi)頭,可以包含數(shù)字、字母和下劃線(xiàn)。

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

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

      2模塊的調(diào)用

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

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

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

      3打開(kāi)過(guò)程文件

      命令格式如下。

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

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

      命令格式如下。

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

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

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

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

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

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

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

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

      說(shuō)明:實(shí)參可以是常量、變量或一般表達(dá)式,調(diào)用模塊程序時(shí),形參的數(shù)目不能少于實(shí)參的數(shù)目,當(dāng)形參數(shù)目多于實(shí)參數(shù)目時(shí),多余的形參取初值邏輯假.F.。

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

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

      1.公共變量

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

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

      2私有變量

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

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

      3局部變量

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

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

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

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

      說(shuō)明:該命令并不建立內(nèi)存變量,它只是隱藏指定的在上層模塊中可能已經(jīng)存在的內(nèi)存變量,但是當(dāng)模塊程序返回到上層模塊時(shí),被隱藏的變量就自動(dòng)恢復(fù)有效性,保持原值。7.4 程序調(diào)試 考點(diǎn)9 調(diào)試器環(huán)境

      程序調(diào)試是指在發(fā)現(xiàn)程序有錯(cuò)誤的情況下,確定出錯(cuò)位置并糾正錯(cuò)誤。計(jì)算機(jī)一般能夠發(fā)現(xiàn)程序的出錯(cuò)位置,但對(duì)于計(jì)算機(jī)不能發(fā)現(xiàn)的錯(cuò)誤,只能由用戶(hù)自己來(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種類(lèi)型的斷點(diǎn)。

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

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

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

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

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

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

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

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

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

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

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

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

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

      (9)調(diào)速:打開(kāi)“調(diào)整運(yùn)行速度”對(duì)話(huà)框,設(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ì)象與類(lèi)

      1對(duì)象(Object)

      客觀世界里的任何實(shí)體都可以被視為對(duì)象。對(duì)象可以是具體事物,也可以指某些概念二

      (1)屬性:用來(lái)表示對(duì)象的狀態(tài)。

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

      2類(lèi)(Class)

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

      第五篇:二級(jí)VF上機(jī)操作常見(jiàn)錯(cuò)誤總結(jié)

      二級(jí)VF上機(jī)操作常見(jiàn)錯(cuò)誤總結(jié)

      1、出現(xiàn)如下提示框,提示:命令中含有不能識(shí)別的短語(yǔ)或關(guān)鍵字。該提示表示所輸入的命令的打錯(cuò)的關(guān)鍵字。例如:

      (1)SQL查詢(xún)語(yǔ)句中,將from 錯(cuò)打成 form。

      (2)SQL查詢(xún)語(yǔ)句中,將標(biāo)點(diǎn)符號(hào)錯(cuò)打成了中文狀態(tài)下的標(biāo)點(diǎn)符號(hào),應(yīng)改成英文狀態(tài)下的標(biāo)點(diǎn)符號(hào)。

      2、在運(yùn)行SQL命令時(shí),出現(xiàn)打開(kāi)對(duì)話(huà)框,并且文件類(lèi)型指定為表。表示SQL中FROM后面接的表名打錯(cuò)了或根本就不存在。例如:

      考生文件夾下有一個(gè)表,表名為“student.dbf”。此時(shí),考生的輸入的命令為select * from 學(xué)生,則系統(tǒng)就會(huì)彈出打開(kāi)對(duì)話(huà)框。

      3、考生在做模擬軟件的時(shí)候,認(rèn)為自己哪里都做對(duì)了,但是最后評(píng)分確是0分。請(qǐng)重點(diǎn)檢查以下可能的錯(cuò)誤原因。

      (1)文件建立完成后,在保存時(shí),文件名保存錯(cuò)了。

      (2)查詢(xún)或表單等在建立完成后,并沒(méi)有按照要求去運(yùn)行,以致沒(méi)有產(chǎn)生題目所要求的結(jié)果表,故被評(píng)為0分。

      4、在運(yùn)行查詢(xún)時(shí),彈出提示窗口。提示內(nèi)容為:操作符/操作數(shù)類(lèi)型不匹配 該錯(cuò)誤提示多數(shù)情況下是由于條件語(yǔ)句中的表達(dá)式”=”兩邊的數(shù)據(jù)類(lèi)型不一致所造成的。

      5、在上機(jī)操作中,有些命令或程序只能執(zhí)行一次,多執(zhí)行就會(huì)出錯(cuò)。例如: Insert into 命令:該命令的功能是插入記錄,每執(zhí)行一次,就插入一條,多執(zhí)行就會(huì)出現(xiàn)在表中出現(xiàn)重復(fù)記錄的現(xiàn)象。

      Alter table 命令:該命令是修改表結(jié)構(gòu),正確執(zhí)行一次就可以成功得分,如再次執(zhí)行就會(huì)提示錯(cuò)誤。

      6、在數(shù)據(jù)庫(kù)為表建立參照完整性的時(shí)候,需要首先清理數(shù)據(jù)庫(kù),清理數(shù)據(jù)庫(kù)時(shí)提示“無(wú)法清理數(shù)據(jù)庫(kù)”,此時(shí)可關(guān)閉VF,重新啟動(dòng)VF,再進(jìn)行清理即可。

      7、很多考生使用拼音輸入法,所以在打字時(shí)經(jīng)常將某些字輸入錯(cuò)。如:訂單管理、簽訂日期的訂字,很容易就錯(cuò)誤的輸入成“定單管理”和“簽定日期”。

      8、在為某字段設(shè)置有效性規(guī)則時(shí),首先一定要選中該字段,然后再去設(shè)置。設(shè)置時(shí),規(guī)則文本框中是“邏輯表達(dá)式或關(guān)系表達(dá)式”,不能加引號(hào),信息文本框是錯(cuò)誤提示信息,一定要加引號(hào);默認(rèn)值加不加引號(hào)取決所設(shè)置的字段是否為字符型。

      對(duì)于是否加引號(hào),有 孟氏口訣:“上邊不加,下邊加”。

      9、考生在練習(xí)SQL語(yǔ)句的過(guò)程中,經(jīng)常會(huì)出現(xiàn)評(píng)分后不能得滿(mǎn)分的情況,回到模擬軟件中繼續(xù)練習(xí)時(shí)還得重新輸入SQL命令,令很多考生煩惱。建議考生在輸入完SQL命令后,將該SQL命令復(fù)制下來(lái),粘貼到一個(gè)記事本文件中,如果評(píng)分不能得到滿(mǎn)分,下次可以直接把原來(lái)的SQL命令復(fù)制回來(lái)查找錯(cuò)誤并進(jìn)行修改,可以不用重新輸入。

      10、考生注意區(qū)分:I(i)l(L)1 及 o(O)0

      11、注意表名的問(wèn)題。例如題目中提示:“考生目錄下有student.dbf”,則表名為student.dbf,考生切不可想當(dāng)然的認(rèn)為表名為“學(xué)生.dbf”

      12、出現(xiàn)提示“致命錯(cuò)誤”。這個(gè)錯(cuò)誤是由于VF系統(tǒng)本身的不完善所致,造成此故障的考生原因多數(shù)是由“表達(dá)式中的數(shù)據(jù)類(lèi)型不一致”所造成的,所以考生重新啟動(dòng)VF后,要注意檢查表達(dá)式運(yùn)算符兩邊的數(shù)據(jù)類(lèi)型是否一致。

      13、考生在輸入命令的過(guò)程中,出現(xiàn)“輸入一個(gè)字就刪除相應(yīng)位置上的一個(gè)字”這種情況??忌恍枰匆幌骆I盤(pán)上的Insert 鍵即可解決。

      第1頁(yè)

      【重要提示】

      上機(jī)考試是由機(jī)器自動(dòng)評(píng)分,在評(píng)分中大體上可以分為兩種評(píng)分方法。一是,檢查命令是否正確,即檢查題目正確答案所要求的關(guān)鍵字是否存在,如存在,則可以得分。二是,檢查所要求的結(jié)果是否正確,例如,考試要求建立一個(gè)查詢(xún),文件名為myquery.qpr,并設(shè)置查詢(xún)?nèi)ハ驗(yàn)楸韗esults.dbf,則系統(tǒng)在評(píng)分是即要檢查myquery.qpr是否正確,又要檢查results.dbf文件是否正確。

      根據(jù)系統(tǒng)評(píng)分的特點(diǎn),我們就可以對(duì)上機(jī)考試投機(jī)取巧。如果評(píng)分系統(tǒng)是檢查命令是否正確,就可以采用萬(wàn)能代碼法。即將你所有能想起來(lái)的VF關(guān)鍵字包括運(yùn)算符都輸入到代碼窗口中,此辦法雖不能保證得滿(mǎn)分,但可得一部份分;如果系統(tǒng)是采用檢查結(jié)果的評(píng)分辦法,那么我們就可以造結(jié)果的方法。例如,要求使用命令將所有學(xué)生的年齡+1,我們可以直接打開(kāi)表,在瀏覽窗口去修改表中的記錄?!編c(diǎn)說(shuō)明】

      1、對(duì)于上機(jī)考試中要求使用SQL命令去操作的題,多數(shù)情況下,我們都可以使用查詢(xún)?cè)O(shè)計(jì)器去簡(jiǎn)化操作。

      2、考生在操作的過(guò)程中經(jīng)常會(huì)因?yàn)楦鞣N原因把文件名存錯(cuò),以致于得0分,修改辦法有兩種:一是,在項(xiàng)目管理器中,選中所要修改的文件名,并單擊右鍵,選擇重命名;二是,打開(kāi)該文件的設(shè)計(jì)器,然后選擇“文件”——“另存為”,就可以重新定義文件名了。

      3、各位考生一定要學(xué)會(huì)檢查運(yùn)行結(jié)果是否正確。如設(shè)計(jì)一個(gè)查詢(xún)文件,考生做完之后,可以打開(kāi)查詢(xún)?nèi)ハ蛩付ǖ谋?,根?jù)經(jīng)驗(yàn)初步檢查結(jié)果是否正確。

      4、對(duì)于改錯(cuò)題,各位考生只要按照《Visual FoxPro上機(jī)寶典》中的改正方法直接修改并運(yùn)行即可。并不需要去真正理解題目的含義。因?yàn)樯蠙C(jī)考試是采用題庫(kù)的形式,考的就是原題。(提示:選擇一款好的模擬軟件真的很重要,可以事半功倍。)

      5、對(duì)于《Visual FoxPro上機(jī)寶典》的使用,考生在熟悉上機(jī)題后,要做到“做題不看書(shū),看書(shū)不做題”。絕不可以“看一個(gè)字,打一個(gè)字”,《Visual FoxPro上機(jī)寶典》的正確性不需要由各位考生來(lái)驗(yàn)證。[轉(zhuǎn)載請(qǐng)注明出自http://blog.sina.com.cn/itabc] 分享:

      Qing

      下載vf二級(jí)考試復(fù)習(xí)筆記__全集word格式文檔
      下載vf二級(jí)考試復(fù)習(xí)筆記__全集.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

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

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

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

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

        二級(jí)建造師考試復(fù)習(xí)心得

        二級(jí)建造師考試復(fù)習(xí)心得 復(fù)習(xí)一定要以課本為主 二級(jí)建造師考試注重基礎(chǔ)知識(shí),復(fù)習(xí)時(shí)一定要以課本為主,把課本上的東西都理解好了,就完全有能力應(yīng)付了,沒(méi)有必要把大量的精力浪費(fèi)在......

        二級(jí)建造師考試復(fù)習(xí)的經(jīng)驗(yàn)

        關(guān)于考試復(fù)習(xí)的經(jīng)驗(yàn),我總結(jié)有: 一、關(guān)鍵就是學(xué)習(xí)要連續(xù),不要今天看明天不看,斷斷續(xù)續(xù)肯定記不住的 。要堅(jiān)持每天都看,這樣堅(jiān)持一個(gè)星期下來(lái),就可以進(jìn)入狀態(tài),學(xué)習(xí)效果比較好。我現(xiàn)在......

        推拿學(xué) 考試 復(fù)習(xí)重點(diǎn) 總結(jié) 筆記

        推拿的治療原理:一、疏通經(jīng)絡(luò),行氣活血;二、理筋整復(fù),滑利關(guān)節(jié);三、調(diào)整臟腑功能,增強(qiáng)抗病能力。 推拿的治療原則:一、整體觀念,辯證施術(shù);二、標(biāo)本同治,緩急兼顧;三、以動(dòng)為主,動(dòng)靜結(jié)合......

        計(jì)算機(jī)二級(jí)VF SQL語(yǔ)句常考總結(jié)。

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

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

        二級(jí)VF前三章命令匯總 、數(shù)據(jù)庫(kù)操作命令 1.新建數(shù)據(jù)庫(kù) CREATEDATABASE XO &&XO數(shù)據(jù)庫(kù)名 2.打開(kāi)數(shù)據(jù)庫(kù) OPEN DATABASEXO&&XO數(shù)據(jù)庫(kù)名 3.設(shè)置當(dāng)前數(shù)據(jù)庫(kù) SETDATABASE TO XO &&......

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

        全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF考點(diǎn)分析之查詢(xún)與視圖 6.1 查詢(xún) 考點(diǎn)1 查詢(xún)?cè)O(shè)計(jì)器 1查詢(xún)的概念 查詢(xún)是從指定的表或視圖中提取滿(mǎn)足條件的記錄,然后按照想得到的輸出類(lèi)型定向輸出查......