亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        2011年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VFP完全筆記(16)

        字號(hào):

        2011年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VFP完全筆記(16)

            六、視圖與查詢
            (一)視圖文件(.vue)
            1.定義:視圖是一個(gè)定制的虛擬表,可以是本地的、遠(yuǎn)程的或帶參數(shù)的;它是操作表的一種手段,不存于磁盤。
            2.數(shù)據(jù)源:數(shù)據(jù)庫表、自由表或其他視圖等。
            3.作用:通過視圖可查詢表也可更新表。
            4.特點(diǎn):它依賴表,不能獨(dú)立存在,且只有在包含視圖的數(shù)據(jù)庫打開時(shí)才能使用。
            5.分類:根據(jù)創(chuàng)建視圖的數(shù)據(jù)來源分為兩類
            1)本地視圖:使用當(dāng)前數(shù)據(jù)庫的表建立的視圖
            2)遠(yuǎn)程視圖:使用當(dāng)前數(shù)據(jù)庫之外的數(shù)據(jù)源創(chuàng)建的試圖
            6.建立視圖的方法:
            1)根據(jù)視圖設(shè)計(jì)器
            & 文件—新建—文件類型:視圖—新建文件—打開視圖設(shè)計(jì)器—保存
            & 打開項(xiàng)目管理器—數(shù)據(jù)選項(xiàng)卡—展開數(shù)據(jù)庫至本地視圖—新建—打開視圖設(shè)計(jì)器—保存
            & 打開數(shù)據(jù)庫設(shè)計(jì)器—右擊/數(shù)據(jù)庫菜單—新建本地視圖—打開視圖設(shè)計(jì)器—保存
            & 命令:create view
            2)根據(jù)表的查詢定義視圖
            & 格式為:create view 視圖文件名 as select語句
            即把select語句查詢出的信息作為視圖文件的內(nèi)容
            7.視圖中的虛字段:即通過算術(shù)表達(dá)式或函數(shù)計(jì)算出來的字段,并不存于表中。
            8.刪除視圖文件:
            & 數(shù)據(jù)庫設(shè)計(jì)器中—右擊視圖名—?jiǎng)h除—移去
            & 命令:drop view 視圖文件名
            注意:視圖可像基本表一樣使用,適用于基本表的命令基本都可用于視圖,但視圖不支持modify structure命令
            9.視圖參數(shù):在篩選處寫為?X即可
            10.視圖的更新功能:即更新視圖文件中的內(nèi)容后,建立此視圖文件的基本表的內(nèi)容也會(huì)有相應(yīng)的更新。
            方法:必須先設(shè)定更新條件,鑰匙圖標(biāo)下選定關(guān)鍵字,鉛筆圖標(biāo)下選定可更新的字段,再選中發(fā)送SQL更新選項(xiàng),保存后即可實(shí)現(xiàn)相應(yīng)的更新。
            (二)查詢文件(.qpr)
            1.定義:查詢是預(yù)先定義好的一個(gè)select語句,在不同的需要場(chǎng)合可以直接或反復(fù)使用,它是從指定的表或視圖中提取滿足條件的記錄,然后按照想得到的輸出類型定向輸出查詢結(jié)果,保存于磁盤,是一個(gè)文本文件。總之,它是vf支持的一種數(shù)據(jù)對(duì)象,或是為方便檢索數(shù)據(jù)提供的一種工具或方法。
            2.數(shù)據(jù)源:數(shù)據(jù)庫表、自由表或視圖
            3.作用:數(shù)據(jù)查詢
            4.建立查詢的方法:
            & 文件—新建—文件類型:查詢—新建文件—打開查詢?cè)O(shè)計(jì)器—保存
            & 打開項(xiàng)目管理器—數(shù)據(jù)選項(xiàng)卡—查詢—新建—打開查詢?cè)O(shè)計(jì)器—保存
            & 命令:create query
            注意:當(dāng)一個(gè)查詢是基于多個(gè)表時(shí),這些表必須是有聯(lián)系的,查詢?cè)O(shè)計(jì)器會(huì)自動(dòng)根據(jù)聯(lián)系提取聯(lián)接條件,但它只能建立一些比較規(guī)則的查詢,而復(fù)雜的查詢則無法完成。
            5.查詢?cè)O(shè)計(jì)器中各選項(xiàng)卡與select語句的對(duì)應(yīng)關(guān)系:
            ² 選擇了創(chuàng)建查詢的表或視圖——from短語
            ² 字段選項(xiàng)卡——select短語,指定需要查詢的數(shù)據(jù)
            ² 聯(lián)接選項(xiàng)卡——join on短語,用于編輯聯(lián)接條件
            ² 篩選選項(xiàng)卡——where短語,用于指定查詢的條件
            ² 排序依據(jù)選項(xiàng)卡——order by短語,用于指定排序的字段和排序方式
            ² 分組依據(jù)選項(xiàng)卡——group by短語和having短語,用于指定分組的依據(jù)
            ² 雜項(xiàng)選項(xiàng)卡——可以指定是否要重復(fù)記錄(對(duì)應(yīng)于distinct短語)
            還可指定列在前面的記錄(對(duì)應(yīng)于top短語)
            6.執(zhí)行查詢文件的方法:
            & 打開項(xiàng)目管理器—數(shù)據(jù)選項(xiàng)卡—展開至相應(yīng)查詢文件—單擊“運(yùn)行“
            & 常用工具欄—運(yùn)行(有感嘆號(hào)標(biāo)志)
            & 程序—運(yùn)行—選中查詢文件—運(yùn)行
            & 打開查詢?cè)O(shè)計(jì)器—運(yùn)行查詢
            & 命令:do 查詢文件名.qpr(查詢文件的擴(kuò)展名不可以省略)
            7.查詢?nèi)ハ颍?在查詢菜單下)
            方法:查詢菜單—單擊查詢?nèi)ハ颉蜷_查詢?nèi)ハ颉x擇查詢結(jié)果的去向
            ² 瀏覽—在“瀏覽”(browse)窗口中顯示查詢結(jié)果(默認(rèn)的輸出方向)
            ² 臨時(shí)表—將查詢結(jié)果存儲(chǔ)在一個(gè)命名的臨時(shí)只讀表中
            ² 表—將查詢結(jié)果保存在一個(gè)命名的表中
            ² 圖形—使查詢結(jié)果可用于MS graph中
            ² 屏幕—在vf主窗口或當(dāng)前活動(dòng)輸出窗口顯示查詢結(jié)果
            ² 報(bào)表—將查詢結(jié)果輸出到一個(gè)報(bào)表文件(.frx)
            ² 標(biāo)簽—將查詢結(jié)果輸出到一個(gè)標(biāo)簽文件(.lbx)
            (三)視圖文件與查詢文件的區(qū)別:
            1.查詢?cè)O(shè)計(jì)器的結(jié)果將以qpr為擴(kuò)展名的文件保存于磁盤中
            視圖設(shè)計(jì)器的結(jié)果則保存在數(shù)據(jù)庫中
            2.視圖文件可以更新,而查詢不可以
            3.查詢中有查詢?nèi)ハ虻膯栴},而視圖中則沒有
            [NextPage
            七、程序設(shè)計(jì)基礎(chǔ)
            (一)程序的概念
            1.定義:程序是能夠完成一定任務(wù)的命令的有序集合,存放在以.prg為擴(kuò)展名的程序文件中。
            2.特點(diǎn)(即與命令窗口相比的優(yōu)點(diǎn)):
            1)可以利用編輯器,方便地輸入、修改和保存程序;
            2)可以用多種方式、多次運(yùn)行程序,即程序的調(diào)試;
            3)程序之間可以相互調(diào)用。
            3.關(guān)于程序的幾點(diǎn)說明:
            1)命令注釋:程序中可插入注釋行,以提高程序的可讀性。
            單獨(dú)的注釋行以note或*開頭
            命令行后的注釋以&&開頭
            注意:注釋為非執(zhí)行代碼,不會(huì)影響程序的功能。
            2)set talk on/off命令:可設(shè)置執(zhí)行狀態(tài)的信息是否在vf主窗口、狀態(tài)欄或用戶自定義的窗口顯示。
            3)命令分行:程序中每條命令都以回車鍵結(jié)尾,一行只能寫一條命令。若命令需要分行書寫,應(yīng)在一行終了時(shí)鍵入續(xù)行符“;”,再按回車鍵。
            (二)程序文件
            1.定義:又叫命令文件,其默認(rèn)的擴(kuò)展名是.prg。
            2.程序文件的建立:
            1)打開項(xiàng)目管理器—代碼選項(xiàng)卡—程序—新建—打開編輯窗口—編寫程序—保存
            2)文件—新建—文件類型:程序—新建文件—打開編輯窗口—編寫程序—保存
            3)命令:modify command 程序文件名(若文件存在則打開,不存在則新建一個(gè)新文件)
            3.程序文件的執(zhí)行:
            1)程序菜單—運(yùn)行—選擇運(yùn)行程序文件—運(yùn)行
            2)常用工具欄—運(yùn)行(即!標(biāo)志)
            3)命令:do 程序文件名
            注意:程序文件被執(zhí)行的過程中,還應(yīng)了解以下幾個(gè)命令:
            cancel—終止程序運(yùn)行,清除所有的私有變量,返回命令窗口
            do—轉(zhuǎn)去執(zhí)行另一個(gè)程序
            return—結(jié)束當(dāng)前程序的執(zhí)行,返回到調(diào)用它的上級(jí)程序,若無上級(jí)程序則返回到命令窗口
            quit—退出vf系統(tǒng),返回到操作系統(tǒng)
            4.編程步驟:
            1)建立程序文件—編寫代碼—保存—執(zhí)行
            2)一個(gè)完整的編程所應(yīng)包含的部分:
            ² 輸入數(shù)據(jù)(一個(gè)或多個(gè)數(shù)據(jù))
            ² 對(duì)所有輸入數(shù)據(jù)的處理、加工
            ² 輸出數(shù)據(jù)(有零個(gè)或多個(gè)數(shù)據(jù))
            5.程序中的輸入輸出命令:
            1)格式一:inpute 字符表達(dá)式 to 內(nèi)存變量
            功能:等待用戶從鍵盤輸入任意合法表達(dá)式,以回車鍵結(jié)束輸入時(shí)系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量,程序繼續(xù)運(yùn)行。
            注意:
            ² 若果選用字符表達(dá)式,那么系統(tǒng)首先顯示該表達(dá)式的值,作為提示信息
            ² 輸入的數(shù)據(jù)可以試常量、變量,也可以是一般的表達(dá)式,不能無數(shù)據(jù)
            ² 輸入字符串時(shí)必須加定界符,輸入邏輯型變量時(shí)要用圓點(diǎn)定界符,輸入日期時(shí)間型常量時(shí)要用花括號(hào)
            2)格式二:accept 字符表達(dá)式 to 內(nèi)存變量
            功能:等待用戶從鍵盤輸入字符串,以回車鍵結(jié)束輸入時(shí)系統(tǒng)將該字符串存入指定的內(nèi)存變量,程序繼續(xù)運(yùn)行。
            注意:
            ² 若果選用字符表達(dá)式,那么系統(tǒng)首先顯示該表達(dá)式的值,作為提示信息
            ² 該命令只能接受字符串,在輸入時(shí)不用加定界符,否則系統(tǒng)會(huì)把定界符作為字符串本身的一部分
            ² 若不輸入任何內(nèi)容直接按回車鍵,系統(tǒng)會(huì)把空串賦給制定的內(nèi)存變量
            3)格式三:wait 字符表達(dá)式 to 內(nèi)存變量[window [at 行,列]][nowait][noclear][timeout 數(shù)值表達(dá)式]
            (三)程序的基本結(jié)構(gòu)
            1.定義:是指程序中命令或語句執(zhí)行的流程結(jié)構(gòu)。
            共有順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種。
            2.順序結(jié)構(gòu):是最簡(jiǎn)單的程序結(jié)構(gòu),按命令在程序中出現(xiàn)先后次序依次執(zhí)行,最為常用。
            3.選擇結(jié)構(gòu):
            1)定義:根據(jù)條件成立與否,選擇執(zhí)行相關(guān)語句的結(jié)構(gòu)。
            2)類型:if條件語句和do case分支語句
            & if條件語句:
            ①無else子句時(shí):
            if 條件表達(dá)式 如果條件為真,執(zhí)行if下面的命令語句序列
            命令語句序列 如果條件為假,則執(zhí)行endif后面的語句
            endif if-endif必須成對(duì)出現(xiàn)
            ②有else子句時(shí):
            if 條件表達(dá)式 如果條件為真,執(zhí)行if下面的命令語句序列1,然后到endif后面的語句
            命令語句序列1 如果條件為假,執(zhí)行else后的命令語句序列2,然后到endif后面的語句
            else if-else-endif必須成對(duì)出現(xiàn)
            命令語句序列2
            endif
            注意:有else子句時(shí)還可能出現(xiàn)嵌套,在if-else或者else-endif之間都有可能出現(xiàn)新的if-else-endif語句。
            & do case分支語句
            do case
            case 條件1 如果條件1為真,則執(zhí)行命令語句序列1,然后執(zhí)行endcase后的語句
            命令語句序列1 如果條件1為假,則轉(zhuǎn)去判斷條件2
            case 條件2 如果條件2為真,則執(zhí)行命令語句序列2,然后執(zhí)行endcase后的語句
            命令語句序列2 如果條件2為假,則轉(zhuǎn)去判斷條件3
            …… 依次類推,判斷完所有的條件
            otherwise 如果上述所有條件都為假,那么執(zhí)行otherwise后的語句n后轉(zhuǎn)向endcase后的語句
            命令語句序列n
            endcase
            4.循環(huán)結(jié)構(gòu):
            1)定義:也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過程中,其中的某段代碼被重復(fù)執(zhí)行若干次,其中被重復(fù)執(zhí)行的代碼段通常稱為循環(huán)體。
            2)類型:do while – enddo語句、for – endfor語句和scan – endscan語句
            & do while – enddo語句
            ①無loop/exit時(shí):
            do while 條件 當(dāng)條件為真時(shí),執(zhí)行循環(huán)體,到enddo時(shí),返回do while
            語句序列1(循環(huán)體) 處繼續(xù)判斷條件是否為真,以確定是否還執(zhí)行循環(huán)體
            enddo 若條件為假,則結(jié)束該循環(huán),執(zhí)行enddo后面的語句
            注意:若第一次判斷條件為假,則循環(huán)體一次都不被執(zhí)行,直接轉(zhuǎn)至執(zhí)行enddo后的語句;
            do while-enddo必須成對(duì)出現(xiàn)
            若do while處條件始終為真,則該循環(huán)為死循環(huán)
            ②有l(wèi)oop/exit時(shí):
            do while 條件 當(dāng)條件為真時(shí),執(zhí)行語句序列1,遇到loop時(shí),結(jié)束本次執(zhí)
            語句序列1 行,也不執(zhí)行l(wèi)oop后的語句序列2,而是直接轉(zhuǎn)回do while
            [loop] 處重新判斷條件的真假;若遇到exit時(shí),則結(jié)束該語句的執(zhí)
            語句序列2 行,其后的語句序列3也不被執(zhí)行,而是轉(zhuǎn)去執(zhí)行enddo后面
            [exit] 的語句
            語句序列3
            enddo
            注意:若第一次判斷條件為假,則其后的所有語句一次都不被執(zhí)行,直接轉(zhuǎn)至執(zhí)行enddo后的語句
            通常loop或exit可單獨(dú)出現(xiàn),也可同時(shí)出現(xiàn)。同時(shí)出現(xiàn)時(shí)經(jīng)常用在循環(huán)體內(nèi)嵌套的選擇語句之中,根據(jù)條件來決定是執(zhí)行l(wèi)oop回去,還是執(zhí)行exit出去,以防止出現(xiàn)矛盾現(xiàn)象
            do while-enddo必須成對(duì)出現(xiàn)
            若do while處條件始終為真,則該循環(huán)為死循環(huán)
            ③兩個(gè)重要的推論:
            推論一:完成對(duì)表中所有滿足條件的記錄循環(huán)操作的目的
            locate for 條件(即定位表達(dá)式) 使指針定位于當(dāng)前表中滿足條件的第一條記錄上
            do while found() 若found()函數(shù)返回值為真,則執(zhí)行其后的語句序列
            語句序列 遇到continue時(shí),返回do while處重新判斷found()函數(shù)的值是否為真
            continue 為真就繼續(xù)執(zhí)行語句序列,若found函數(shù)的值為假,則轉(zhuǎn)去執(zhí)行enddo后的語句
            enddo
            推論二:完成對(duì)表中每條記錄逐條操作的目的
            go top 使指針指向當(dāng)前表中的首記錄
            do while not eof() 若不在文件尾為真,則執(zhí)行語句序列,遇到skip時(shí)
            語句序列 表中指針向下跳一下,而此程序則返回到do while處
            skip n(n默認(rèn)為1) 繼續(xù)判斷not eof()是否為真,為真就繼續(xù)執(zhí)行語句序列
            enddo 若not eof()為假,則轉(zhuǎn)去執(zhí)行enddo后的語句
            & for – endfor語句:用于某個(gè)值域范圍內(nèi)的循環(huán)
            for 循環(huán)變量=初值 to 終值 [step 步長(zhǎng)n] 先把初值賦給循環(huán)變量,然后判斷循環(huán)條件
            循環(huán)體 是否成立;成立則執(zhí)行循環(huán)體,然后給循環(huán)變量增加一個(gè)步長(zhǎng)值并再次判斷循環(huán)條件是否成立endfor 以確定是否再次執(zhí)行循環(huán)體。若循環(huán)條件不成立,則結(jié)束該循環(huán),轉(zhuǎn)去執(zhí)行endfor后的語句
            注意:若步長(zhǎng)n為正值,循環(huán)條件為:循環(huán)變量<=終值;若步長(zhǎng)n為負(fù)數(shù),循環(huán)條件為:循環(huán)變量>=終值;n的默認(rèn)值為1可省略
            & scan – endscan語句:
            scan [范圍] [for 條件1] [while 條件2] 若條件為真,則執(zhí)行循環(huán)體
            語句序列(循環(huán)體) 遇到endscan時(shí)返回scan for條件處繼續(xù)判斷條件是否為真
            endscan 為真繼續(xù)執(zhí)行循環(huán)體,若條件為假,則轉(zhuǎn)去執(zhí)行endscan后的語句
            (四)多模塊程序
            1.模塊的定義:
            1)概念:模塊可以是命令文件,也可以是過程。是指一個(gè)相對(duì)獨(dú)立的程序段,可被其他模塊調(diào)用也可調(diào)用其他模塊。
            2)過程定義的語法格式:
            procedure/function 過程名 過程名必須以字母或下劃線開頭,可包含字母、數(shù)字和下劃線
            命令序列 若執(zhí)行return命令,轉(zhuǎn)回到調(diào)用程序并返回表達(dá)式的值;若缺省return命令則在過程結(jié)
            [return [表達(dá)式]] 束處執(zhí)行一個(gè)隱含的return命令;若return不帶表達(dá)式,則返回邏輯真值
            [endproc/endfunc] 若缺省此命令,則過程結(jié)束于下一條precedure/function命令或文件尾處
            3)過程文件:
            ² 建立:modify command 命令,文件默認(rèn)擴(kuò)展名為.prg
            ² 打開:set procedure to 過程文件名1,…過程文件名n
            ² 關(guān)閉:set procedure to ——可關(guān)閉所有打開的過程文件
            4)過程(模塊)的位置:3種
            ² 單獨(dú)過程即獨(dú)立過程
            ² 包含在主程序中的過程,在主程序代碼的后面
            ² 包含在過程文件中的過程
            2.模塊的調(diào)用
            1)模塊的調(diào)用格式:2種
            ² 格式1:do 過程名 一般無返回值
            ² 格式2:過程名() 作為命令使用時(shí)返回被忽略,作為函數(shù)時(shí)有返回值
            3.參數(shù)傳遞
            4.變量的作用域