版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第一章數(shù)據(jù)庫應用基礎1.數(shù)據(jù)庫系統(tǒng) 2 關系數(shù)據(jù)庫3 Vfp概述4 項目管理器1.1 數(shù)據(jù)庫系統(tǒng)1.1.1 數(shù)據(jù)與數(shù)據(jù)處理 數(shù)據(jù)是存儲在某一媒體上,對客觀事物進行描述的物理符號。 文字數(shù)據(jù):如姓名、職稱、地址等;數(shù)值型數(shù)據(jù):如價格、數(shù)量、長度等,多媒體數(shù)據(jù):如圖像、聲音、視頻等。 數(shù)據(jù)數(shù)據(jù)處理是對數(shù)據(jù)的采集、整理、存儲、分類、排序、檢索、維護、加工、統(tǒng)計和傳輸一系列操作的總和。其目的是從大量原始數(shù)據(jù)中,獲得有價值的信息,作為人們行為和決策的依據(jù)。數(shù)據(jù)處理1.1.2 計算機數(shù)據(jù)管理人工管理階段數(shù)據(jù)不保存。數(shù)據(jù)和程序不具有獨立性。數(shù)據(jù)不能共享重復的數(shù)據(jù)稱為數(shù)據(jù)冗余文件系統(tǒng)階段數(shù)據(jù)長期保存。程序與數(shù)
2、據(jù)有了一定的獨立性。數(shù)據(jù)的獨立性低。數(shù)據(jù)的共享性差,存在數(shù)據(jù)冗余和數(shù)據(jù)的不一致。應用程序2應用程序1應用程序n數(shù)據(jù)文件2數(shù)據(jù)文件1數(shù)據(jù)文件n文件系統(tǒng)文件系統(tǒng)階段數(shù)據(jù)庫階段數(shù)據(jù)的結構化數(shù)據(jù)的共享性高,冗余度低。數(shù)據(jù)獨立性高統(tǒng)一的數(shù)據(jù)控制功能應用程序2應用程序1應用程序n數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫階段數(shù)據(jù)庫1.1.3 數(shù)據(jù)庫系統(tǒng)組成數(shù)據(jù)庫系統(tǒng)(Database System,DBS)是指引入數(shù)據(jù)庫技術的計算機系統(tǒng)。它實現(xiàn)了有組織地、動態(tài)地存儲大量相關數(shù)據(jù),提供了數(shù)據(jù)處理和信息資源共享的便利手段。數(shù)據(jù)庫系統(tǒng)圖示數(shù)據(jù)庫應用系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)硬件數(shù)據(jù)庫管理員開發(fā)人員最終用戶 硬件系統(tǒng)主要指計算機,包括
3、CPU、內(nèi)存、外存、輸入/輸出設備等硬件設備。硬件系統(tǒng)Database (DB)數(shù)據(jù)庫是指存儲在計算機外存中,結構化的相關數(shù)據(jù)的集合。它不僅包括描述事物的數(shù)據(jù)本身,還包括相關事物之間的聯(lián)系。數(shù)據(jù)庫以文件的形式存儲在外存中,用戶通過數(shù)據(jù)庫管理系統(tǒng)來統(tǒng)一管理和控制數(shù)據(jù)。數(shù)據(jù)庫Database Management System(DBMS)數(shù)據(jù)庫管理系統(tǒng)是管理數(shù)據(jù)庫的軟件,是數(shù)據(jù)庫系統(tǒng)的核心。它在操作系統(tǒng)的基礎上運行,幫助用戶建立、使用和維護數(shù)據(jù)庫。數(shù)據(jù)庫管理系統(tǒng) 功能數(shù)據(jù)定義功能定義數(shù)據(jù)庫的數(shù)據(jù)對象,如數(shù)據(jù)庫、表、索引,描述數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)操縱功能實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的基本操作,如查詢、插入、刪除
4、和修改等。控制和管理功能實現(xiàn)對數(shù)據(jù)庫控制和管理,包括并發(fā)性控制、安全性檢查、完整性檢查及對數(shù)據(jù)庫的內(nèi)部維護等功能。數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)應用程序開發(fā)工具。數(shù)據(jù)庫應用系統(tǒng)相關軟件系統(tǒng)分析員數(shù)據(jù)庫管理員(DBA)應用程序員最終用戶 各類人員 1.1.4 數(shù)據(jù)庫系統(tǒng)的體系結構整個數(shù)據(jù)庫系統(tǒng),包括應用程序、DBMS、數(shù)據(jù)庫都裝在一臺計算機上。單用戶數(shù)據(jù)庫系統(tǒng)都集中存放在主機上,終端只作為主機的輸入輸出設備,多個用戶可通過終端存取主機的數(shù)據(jù)。主從式結構 主從式結構網(wǎng)絡上的服務器結點存放數(shù)據(jù)及執(zhí)行DBMS功能,客戶機安裝DBMS應用開發(fā)工具和應用程序。 客戶端的用戶請求被傳送到服務器,服務器進行處理后,只
5、將結果(而不是整個數(shù)據(jù))返回給用戶,客戶服務器結構 (c/s) 客戶服務器結構 (c/s) 服務器數(shù)據(jù)庫DBMS客戶機應用程序客戶機應用程序客戶端僅安裝瀏覽器軟件,用戶通過URL向WEB服務器發(fā)出請求,WEB服務器運行腳本程序,向數(shù)據(jù)庫服務器發(fā)出數(shù)據(jù)請求。數(shù)據(jù)庫服務器執(zhí)行處理后,將結果返回給WEB服務器。WEB服務器根據(jù)結果產(chǎn)生網(wǎng)頁文件,客戶端接收到網(wǎng)頁文件后,在瀏覽器中顯示出來。瀏覽器/WEB服務器/數(shù)據(jù)庫服務器結構 瀏覽器/WEB服務器/數(shù)據(jù)庫服務器結構 WEB服務器客戶機瀏覽器數(shù)據(jù)庫服務器數(shù)據(jù)庫DBMS應用程序1.2 關系數(shù)據(jù)庫1.2.1 概念模型現(xiàn)實世界中事物及聯(lián)系在人們頭腦中的反映,
6、經(jīng)過人們頭腦的分析、歸納、抽象,形成信息世界。為了正確直觀地反映客觀事物及其聯(lián)系,有必要對信息世界建立一個抽象的模型,稱之為概念模型。目前常用實體聯(lián)系模型表示概念模型。實體是客觀存在并且可相互區(qū)別的事物??梢允菍嶋H的事物(如讀者、圖書、貨物等),也可以是抽象的事件。(如借書、訂貨等活動)實體 實體的特性稱為屬性,一個實體可以用多個屬性來描述。 例如圖書可以用條形碼、書名、作者、出版社、出版年月、售價等屬性來描述。 借書可以用條形碼、讀者證號、借書日期等屬性來描述。實體屬性 用實體名及其屬性集合描述的同類實體,稱為實體型。 例如,圖書(條形碼、書名、作者、出版社、出版年月、售價)就是一個實體型。
7、 同類型實體的集合稱為實體集。 例如,所有的圖書構成一個實體集。 實體型和實體集實體間的聯(lián)系就是指實體集與實體集之間的聯(lián)系。 實體間聯(lián)系一對一聯(lián)系實體集A中的每個實體僅與實體集B中的一個實體聯(lián)系,反之亦然。實體間聯(lián)系一對多聯(lián)系對于實體集A中的每個實體,實體集B都有多個實體與之對應;反之,對于實體集B中的每個實體,實體集A中只有一個實體與之對應。實體間聯(lián)系多對多聯(lián)系對于實體集A中的每個實體,實體集B都有多個實體與之對應;反之,對于實體集B中的每個實體,實體集A中也有多個實體與之對應。實體間聯(lián)系1.2.2 數(shù)據(jù)模型 為了反映實體及實體間聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)必須按一定的結構存放,這種結構用數(shù)據(jù)模型來
8、表示。任何一個數(shù)據(jù)庫管理系統(tǒng)都是基于某種數(shù)據(jù)模型的。層次、網(wǎng)狀模型關系模型面向對象數(shù)據(jù)模型1.2.3 關系模型 用二維表表示實體和實體之間的聯(lián)系的數(shù)據(jù)模型稱為關系數(shù)據(jù)模型。 元組(記錄) 屬性(字段)關系術語關系 一個關系就是一張二維表,每個關系有個關系名。在vfp中,一個關系存儲為一個表文件,擴展名為dbf 對關系的描述稱為關系模式 關系名(屬性名1,屬性名2,屬性名n) 在vfp中 表名(字段名1,字段名2,字段名n)例如:圖書(條形碼、書名、作者、出版社、出版年月、售價)就是“圖書”關系的關系模式,即“圖書”表的結構。關系術語元組 二維表的一行稱為關系的一個元組,即VFP數(shù)據(jù)表中的一條記
9、錄。 例如,(P0000001 馬克思的人學思想 袁貴仁 北師大 1996/06/06 19.0)就是“圖書”關系的一個元組,即“圖書”表的一條記錄。關系術語屬性 二維表的一列稱為關系的一個屬性,即VFP數(shù)據(jù)表中的一個字段。 例如,條形碼、書名、作者、出版社、出版年月、售價是“圖書”關系的屬性,即“圖書”表的字段。關系術語域 屬性的取值范圍稱為域,即不同元組對同一個屬性的取值所限定的范圍 例如,“圖書”關系中書名屬性的域是文字字符,出版年月屬性的域是日期,售價屬性的域是0以上的數(shù)值。關系術語關鍵字 能唯一標識元組的屬性或屬性組合稱為關鍵字。在VFP數(shù)據(jù)表中,能標識記錄唯一性的字段或字段的組合,
10、稱為主關鍵字或候選關鍵字。 例如,“圖書”關系中每一本圖書的條形碼是唯一的,故“條形碼”可作為圖書表的關鍵字。而兩本書的書名可能是相同的,所以書名不能作為關鍵字。 關系術語外部關鍵字如果關系中的某個屬性不是本關系的關鍵字,而是另一關系的關鍵字,稱這個屬性為外部關鍵字。 關系術語關系必須規(guī)范化。最基本的要求是每個屬性必須是不可分割的數(shù)據(jù)單元,即每個屬性不能再細分為幾個屬性。在一個關系中,不能出現(xiàn)相同的屬性名。 關系特點關系中不能出現(xiàn)完全相同的元組在一個關系中元組的次序無關緊要任意交換兩行的位置不影響數(shù)據(jù)的實際含義在一個關系中屬性的次序無關緊要任意交換兩列的位置不影響數(shù)據(jù)的實際含義關系特點一個具體
11、的關系模型通常由若干個關系模式構成。 在VFP中,相互之間存在聯(lián)系的數(shù)據(jù)表放在一個數(shù)據(jù)庫文件中進行管理。 數(shù)據(jù)庫文件的擴展名為dbc。關系實例例題1.2.4 關系運算并關系R與關系S的并,產(chǎn)生一個包含R和S所有不同元組的新關系,記作RS。參加差運算的關系R與S必須有相同的屬性。 傳統(tǒng)的集合運算交關系R與關系S的交,是既屬于R也屬于S的元組組成的新關系,記作RS。參加交運算的關系R與S必須有相同的屬性。 傳統(tǒng)的集合運算差關系R與關系S的差,是所有屬于R但不屬于S的元組組成的新關系,記作R-S。參加差運算的關系R與S必須有相同的屬性。 傳統(tǒng)的集合運算笛卡爾集關系R與關系S的笛卡兒積,是R中每個元組
12、與S中每個元組連接組成的新關系,記作RS。 傳統(tǒng)的集合運算例題關系ts1為王穎珊借過的圖書,關系ts2為楊瑞借過的圖書。則ts1ts2為王穎珊和楊瑞借過的所有圖書,ts1ts2為王穎珊和楊瑞都借過的圖書,ts1-ts2為王穎珊借過但楊瑞未借過的圖書。 例題例題例題關系dz為讀者的借書證號、姓名,dzts1為每位讀者的信息與王穎珊借過的每本圖書信息連接組成的新關系。 例題選擇從關系中選出滿足給定條件的元組的操作稱為選擇。 選擇是從行的角度進行運算,在水平方向選出滿足條件的元組。新關系的關系模式不變,元組是原關系的一個子集。專門的關系運算例題從圖書表中篩選出所有出版社為中華書局的圖書投影 從關系中
13、選出若干屬性組成新的關系稱為投影。 投影是從列的角度進行運算,在垂直方向抽取若干屬性或重新排列屬性。 新關系的屬性個數(shù)通常比原關系少,或者屬性的排列順序不同。 專門的關系運算例題圖書表中抽取圖書的條形碼、書名、售價聯(lián)接聯(lián)接是把兩個關系中的元組按聯(lián)接條件橫向結合,拼接成一個新的關系。 最常見的聯(lián)接運算是自然聯(lián)接,它是利用兩個關系中的公共字段或者具有相同語義的字段,把該字段值相等的記錄聯(lián)接起來。 專門的關系運算在圖書管理數(shù)據(jù)庫中,將借閱表和圖書表根據(jù)公共字段條形碼進行自然聯(lián)接,得到一個包含讀者證號、條形碼、書名、作者、出版社、出版年月、售價、借閱日期、還書日期屬性的關系。 例題例題1.3 VFP概
14、述 Visual FoxPro既是關系型數(shù)據(jù)庫管理系統(tǒng),又是可視化的面向對象的集成開發(fā)工具。 它具有強大的數(shù)據(jù)庫管理功能,支持自含型語言和結構化查詢語言對數(shù)據(jù)的操作。 VFP擁有五百條命令和兩百余種函數(shù),既支持傳統(tǒng)的面向過程的程序設計,也支持面向對象的程序設計方式。 使用VFP提供的項目管理工具和向導、生成器、設計器等可視化開發(fā)工具,用戶可以簡便、快速地開發(fā)應用程序。 1.3.1 發(fā)展歷史在20世紀70年代末期,美國的Ashton-Tate公司研制的dBASE是最流行的微機關系數(shù)據(jù)庫管理系統(tǒng)。1986年,美國FOX軟件公司發(fā)布了與dBASE兼容的FOXBASE。它功能更強大,運行速度更快,很快
15、成為80年代中期主導的微機數(shù)據(jù)庫管理系統(tǒng)。1989年,F(xiàn)OX軟件公司開發(fā)了FOXBASE的后繼產(chǎn)品FoxPro 1.0版,1991年推出2.0版。發(fā)展歷史1992年微軟收購了Fox公司。開發(fā)出FoxPro2.5、FoxPro2.6等大約20個軟件產(chǎn)品及其相關產(chǎn)品。1995年,微軟公司發(fā)布了FoxPro的新版本Visual FoxPro 3.0,它全面支持面向對象技術和可視化編程技術。1998年,微軟推出了可視化編程語言集成包Visual studio 6.0,Visual FoxPro 6.0 是其中的一個產(chǎn)品。發(fā)展歷史進入新世紀以來,微軟公司又相繼公布了 Visual FoxPro 7.0(
16、2001年)、8.0(2003年)、和 9.0(2004年)。國內(nèi)目前大量使用的仍然是 Visual FoxPro 6.0中文版。1.3.2 VFP安裝將Visual FoxPro 6.0系統(tǒng)的光盤放入光驅中,安裝向導會自動啟動。如果沒有啟動,打開“我的電腦”或“資源管理器”,雙擊光盤上的安裝文件Setup.exe。 VFP安裝VFP安裝VFP安裝VFP安裝VFP安裝VFP安裝VFP安裝安裝常用組件可自行選擇安裝哪些組件。 定義文件安裝位置VFP安裝VFP安裝1.3.3 VFP啟動和退出VFP啟動開始菜單VFP啟動建立桌面快捷方式VFP啟動打開相關文件在我的電腦或資源管理器中,任意雙擊一個與V
17、isual FoxPro相關聯(lián)的文件從 文件 菜單中選取 退出 命令點擊窗口右上角的關閉按鈕按下Alt+F4組合鍵。在命令窗口輸入 quit 命令退出VFPVFP主界面系統(tǒng)菜單常用工具欄狀態(tài)欄桌面命令窗口標題欄主菜單包含文件、編輯、顯示、格式、工具、程序、窗口和幫助8個菜單項。 單擊菜單項,系統(tǒng)會打開相應的下拉菜單。用戶選擇其中的菜單命令,就可執(zhí)行Visual FoxPro中相應的操作。 Visual FoxPro的菜單項是上下文敏感的,也就是說,當情況變化時,菜單項或下拉菜單的菜單命令會有所不同。 主菜單工具欄當用戶打開某些類型的文件時,系統(tǒng)將自動打開相應的工具欄??梢允褂檬髽藢⒐ぞ邫谕弦返?/p>
18、主窗口的其他位置。工具欄選擇“顯示”菜單下的“工具欄”命令,打開“工具欄”對話框??蛇x擇打開或關閉指定的工具欄。在工具欄上單擊鼠標右鍵,打開快捷菜單,也可以打開或關閉指定的工具欄。 工具欄窗口工作區(qū)是指“常用”工具欄以下到狀態(tài)欄以上的區(qū)域,主要用來顯示命令或程序的執(zhí)行結果,同時也顯示打開的各種窗口和對話框。 窗口在命令窗口中,可直接輸入VFP命令,按回車鍵,系統(tǒng)就會執(zhí)行此命令。已輸入過的命令自動保留在命令窗口中。若用戶要重復執(zhí)行一個已輸入的命令,只需將光標移到該命令行的任意位置,按回車鍵。用戶還可修改已輸入的命令,再按回車鍵來執(zhí)行此命令。命令窗口在命令窗口上單擊鼠標右鍵,打開快捷菜單,用戶可以
19、對命令窗口的文本執(zhí)行剪切、復制、粘貼、清除等操作。命令窗口可以被移動、改變大小和關閉。若關閉了命令窗口,選擇“窗口”菜單的“命令窗口”命令,或單擊常用工具欄的“命令窗口”按鈕,可打開命令窗口。此外,若用戶通過菜單執(zhí)行了某些操作,其對應的命令也會自動顯示在命令窗口中。 命令窗口1.3.4 VFP的選項設置選擇“工具”菜單的“選項”命令所改變的設置僅在本次運行期間有效。退出VFP系統(tǒng)后,所做的更改將丟失。所改變的設置存儲在Windows注冊表中。每次啟動VFP,所做的更改將繼續(xù)有效。VFP的選項設置此外,設置系統(tǒng)環(huán)境也可用SET命令。在命令窗口中輸入SET DEFAULT TO d:tsgl,就可
20、以設置默認目錄為“d:tsgl”。但是,對其所進行的設置僅在此次Visual FoxPro運行期間有效。1.4 項目管理器 項目文件是通過項目管理器來編輯的,項目管理器是處理數(shù)據(jù)和對象的可視化工具。它將文件分門別類地存放在不同的選項卡中,采用樹形結構和圖標方式來組織和顯示這些文件。通過單擊鼠標,就能實現(xiàn)對各種文件的創(chuàng)建、修改、刪除、運行等操作。 此外,還可以把應用系統(tǒng)的所有文件編譯成一個擴展名為APP的應用程序文件或擴展名為EXE的可執(zhí)行文件。 文件(F)新建(N)新建項目1.4.1 創(chuàng)建項目 創(chuàng)建項目后,VFP在指定目錄下建立了一個pjx項目文件和一個pjt項目備注文件。 此項目現(xiàn)在未包含任
21、何文件,稱為空項目。 新建項目 CREATE PROJECT |? 在默認目錄下創(chuàng)建項目。如果要在指定目錄下創(chuàng)建項目,則應在文件名前加上路徑。 新建項目項目管理器的選項卡項目管理器的選項卡全部:用于顯示和管理項目包含的所有文件數(shù)據(jù):用于顯示和管理數(shù)據(jù)庫、自由表和查詢?nèi)愇募?。文檔:用于顯示和管理表單、報表和標簽三類文件。類: 用于顯示和管理所有的類庫文件代碼:用于顯示和管理程序文件、API庫和應用程序三類文件。其他:用于顯示和管理菜單、文本文件和其他文件三類文件。在項目管理器中,有些選項的前面帶有“+”號或“”號方框。帶“+”號方框表示該選項還有一個或多個子項。單擊“+”號可展開各子項,同時“
22、+”號方框變?yōu)椤啊碧柗娇?。單擊“”號方框,則可把展開的選項折疊起來。 項目管理器的選項卡文件(F)打開(O)打開項目MODIFY PROJECT |?關閉項目 單擊項目管理器右上角的“關閉”按鈕,即可關閉項目文件。 當關閉一個空項目時,系統(tǒng)打開對話框,詢問是否保存該項目。單擊“刪除”按鈕,系統(tǒng)將從磁盤上刪除該空項目文件;單擊“保持”按鈕,系統(tǒng)將保存該空項目文件。1.4.2使用項目管理器首先,選擇新文件的類型。單擊項目管理器的“新建”按鈕或者選擇“項目”菜單的“新建文件”命令,系統(tǒng)即打開相應的設計器以創(chuàng)建文件。創(chuàng)建文件創(chuàng)建文件在項目中新建的文件,自動地包含于該項目。即該文件與項目之間建立了一種關
23、聯(lián),用戶可以通過項目管理器來管理此文件。但并不意味著該文件已成為pjx項目文件的一部分。事實上,每一個文件都是以獨立文件的形式存在磁盤上。在沒有打開項目時,此文件也可以單獨被使用。 注意:創(chuàng)建文件選擇要添加的文件類型。單擊項目管理器的“添加”按鈕或選擇“項目”菜單的“添加文件”命令,系統(tǒng)打開“打開”對話框。在“打開”對話框中,選擇要添加的文件,單擊“確定”按鈕,系統(tǒng)便將選擇的文件添加到項目文件中。添加文件添加文件首先,選擇要修改的文件。單擊“修改”按鈕或選擇“項目”菜單的“修改文件”命令,系統(tǒng)打開選中文件相應的設計器。修改文件修改文件在VFP中,一個文件可同時被包含在多個項目中。在任何一個項目
24、中修改此文件,修改的結果對于其他項目也有效。注意:修改文件首先,選擇要移去的文件。單擊“移去”按鈕或選擇“項目”菜單的“移去文件”命令移去文件不僅會將該文件從項目中移去,還從磁盤中刪除該文件 選擇的文件從本項目中移去,但仍然存在于磁盤中 根據(jù)所選擇文件的類型不同,項目管理器的右側將出現(xiàn)不同的按鈕組 瀏覽按鈕瀏覽數(shù)據(jù)表打開或關閉按鈕打開或關閉數(shù)據(jù)庫其他操作預覽按鈕打印預覽報表和標簽運行按鈕執(zhí)行查詢、表單或程序連編按鈕把一個項目的所有文件連接并編譯成一個可運行文件的過程。其他按鈕1.4.3 定制項目管理器移動項目管理器將鼠標指向“項目管理器”的邊框或四個角上,拖動鼠標便可改變項目管理器的大小將鼠標
25、指向“項目管理器”的標題欄,拖曳鼠標便可移動項目管理器。移動項目管理器當項目管理器被拖動到VFP主窗口頂部的工具欄區(qū)域,就只能顯示選項卡,不能展開以顯示整個窗口。用戶可以單擊每個選項卡,顯示出下面的對象。通過右擊鼠標,打開快捷菜單來進行相應的操作。折疊和展開項目管理器 拆分項目管理器 折疊項目管理器后,可以用鼠標指向其中的選項卡,拖曳鼠標,將其拖離“項目管理器”后釋放鼠標。該選項卡成為一個獨立、浮動的窗口。單擊選項卡上的圖釘圖標,該選項卡就會設置為頂層顯示,即始終顯示在其他VFP窗口的上面。若要取消頂層顯示的設置,只需再次單擊圖釘圖標。拆分項目管理器 單擊選項卡上的圖釘圖標,該選項卡就會設置為
26、頂層顯示,即始終顯示在其他VFP窗口的上面。若要取消頂層顯示的設置,只需再次單擊圖釘圖標。拆分項目管理器 若要還原拆分的選項卡,可以單擊選項卡上的“關閉”按鈕,也可以用鼠標將拆分的選項卡拖曳回項目管理器中。作業(yè)教材p21一大題教材p22二大題教材p23三大題的第1小題(作業(yè)本)封面第二章 數(shù)據(jù)類型表達式和函數(shù)1 常量與變量2. 運算符與表達式3. 常用函數(shù)2.1 常量與變量2.1.1 常量 常量是指操作過程中其值固定不變的數(shù)據(jù),是一個具體的數(shù)據(jù)內(nèi)容。例如字符串、常數(shù)或具體的日期。 數(shù)值型常數(shù)由數(shù)字0-9、小數(shù)點及正負號構成可用科學計數(shù)法表示:1.2345E+3表示1.2345103,即1234
27、.5;2.45E-4表示2.4510-4,即0.000245 貨幣型常數(shù)貨幣型常量表示貨幣在數(shù)值前加上一個貨幣符號($)。貨幣型常量在存儲和計算時,采用4位小數(shù)。當貨幣型常量超過4位小數(shù)時,多余的小數(shù)位將四舍五入 字符常數(shù)字符型常量是用英文的單引號、雙引號或方括號括起來的一串字符,也稱為字符串。字符可以是英文字母、數(shù)字、標點符號等所有ASCII碼字符及漢字。例如:湖南長沙smith都是字符串。 字符常數(shù)單引號、雙引號或方括號是字符串的定界符,它們用來規(guī)定字符串的起始和終止界限,不作為字符串本身的內(nèi)容。字符串的定界符必須成對匹配,即當一邊以單引號作為定界符時,另一邊也
28、必須以單引號作為定界符。此外,如果字符串本身含有作為定界符的字符,則必須用另一種符號作為定界符。 字符常數(shù)字符串的長度是指字符串中所含字符的個數(shù),其中,每個漢字相當于2個字符。字符串的最大長度不能超過254。只有定界符沒有任何字符的字符串稱為空串,其長度為0。日期型常數(shù)默認情況下,日期型常量要使用嚴格的日期格式y(tǒng)yyy-mm-dd。以花括號 作為定界符,花括號內(nèi)第一個符號是,年份必須為四位,年月日的次序不能顛倒或缺省。年月日的分隔符可以為/(斜杠)、_(下劃線)、.(圓點)或空格。例如,2008-8-1 2008/08/01 2008.8.1 2008 8 1均表示2008年8月1日。日期型常
29、數(shù)若要設置傳統(tǒng)的日期格式,則應執(zhí)行SET STICTDATE TO 0命令。默認用mm/dd/yy或mm/dd/yyyy表示日期常量。例如,6/25/08或6/25/2008均表示2008年6月25日。若要恢復為嚴格的日期格式,執(zhí)行SET STICTDATE TO 1命令 提示本書在介紹命令時,約定方括號中的內(nèi)容表示可選,豎杠|分隔的內(nèi)容表示任選其一,尖括號中的內(nèi)容由用戶提供。 SET DATE TO AMERICAN |ANSI |BRITISH|FRENCH|GERMAN|ITALIAN|JAPAN|USA|MDY|DMY|YMD設置日期的顯示格式 ,缺省格式為AMERICAN,即mm/d
30、d/yy。 設置日期顯示的格式設置日期格式的參數(shù) 短語格式短語格式短語格式YMDyy/mm/ddMDYmm/dd/yyDMYdd/mm/yyAMERICAN/USAmm/dd/yyANSIyy.mm.ddGERMANdd.mm.yyBRITISH/FRENCHdd/mm/yyITALIANdd-mm-yyJAPANyy/mm/ddSET CENTURY ON/OFF設置顯示日期時是否顯示世紀值。當使用ON,顯示世紀值,即年號以4位顯示;使用OFF,不顯示世紀值,即年號以2位顯示。 設置是否顯示世紀值SET CENTURY OFF &設置2位數(shù)字年份SET DATE TO YMD &設置年月日格
31、式?2008-6-1 &顯示結果為08/06/01SET STRICTDATE TO 0 &設置不進行嚴格的日期格式檢查SET CENTURY ON &設置4位數(shù)字年份SET DATE TO DMY &設置日月年格式? 2008-6-1,1/7/08 &顯示結果為01/06/2008和01/07/2008例題日期時間型常數(shù)日期時間型常量包括日期和時間兩部分日期,時間。日期部分的格式和日期型常量相似,時間部分的格式為HH:MM:SS A|P。HH、MM、SS分別表示時、分、秒,A、P分別表示上午和下午。時、分、秒可以缺省,默認值為12、0、0。A、P可以缺省,默認為上午。注意:日期和時間之間必須
32、用逗號或空格隔開。2008-6-1,表示2008年6月1日上午12點(午夜)時間部分可以采取24小時制,當時間大于或等于12,則自然表示下午。例如,2008-6-1 1:20:30 P和2008-6-1 13:20:30均表示2008年6月1日下午1點20分30秒日期時間型常數(shù)區(qū)域選項卡工具(T)選項(O)設置日期格式邏輯常數(shù)邏輯型常量只有邏輯真和邏輯假兩個值。邏輯真值用.t.,.T.,.y.,.Y.表示,邏輯假值用.f.,.F.,.n,.N. 表示注意:圓點作為邏輯型常量的定界符,必不可少。2.1.2 內(nèi)存變量分為字段變量和內(nèi)存變量內(nèi)存變量:獨立于數(shù)據(jù)表而存在,通常用來存放命令操作或程序運行
33、過程中的一些中間結果。內(nèi)存變量的值在操作過程中可以被改變。退出VFP后,內(nèi)存變量將被自動釋放。變量命名規(guī)則 變量名以字母、漢字或下劃線開頭,由數(shù)字、字母、漢字或下劃線組成。名稱最長可達254個字符。A 、Class_2、年齡 合法的變量名3Grade、b* 非法的變量名 不要使用VFP的保留字作為變量名。 =STORE TO 計算表達式的值,再將該值賦給內(nèi)存變量。內(nèi)存變量的賦值等號=一次只能給一個變量賦值,Store可同時給多個變量賦同一個值。多個變量之間用逗號隔開。簡單變量賦值時無需事先聲明或定義。當變量被賦值時,若該變量此時還不存在,系統(tǒng)將建立此變量,即在內(nèi)存中為其定義一個存儲區(qū)域。變量的
34、值和數(shù)據(jù)類型由最后賦予它的表達式?jīng)Q定。當變量被重新賦值時,其值發(fā)生改變。若新值為其他數(shù)據(jù)類型,則變量的數(shù)據(jù)類型也相應地發(fā)生改變。 內(nèi)存變量的賦值 n1=3 &把數(shù)值3賦給內(nèi)存變量n1, n1是數(shù)值型內(nèi)存變量 name=王波 &把字符串賦給內(nèi)存變量name, name是字符型內(nèi)存變量例題 store 2008/6/1 to 日期1,日期2 &把日期常量2002年9月12日同時賦給內(nèi)存變量日期1和日期2,日期1和日期2是日期型內(nèi)存變量l=.t. &把邏輯真值.t.賦給內(nèi)存變量l,l是邏輯 型內(nèi)存變量 n2=n1 &計算表達式n1的值為3,將n2賦值為3n1的值不受影響n2=n2+1 &計算表達式n
35、2+1的值為4,將n2賦值為4n2=n2+1 &將字符串n2+1賦值給變量n2, n2是字符型內(nèi)存變量例題 ? ? 計算表達式的值,將其顯示在窗口工作區(qū)。?命令首先換行,在當前行的下一行顯示表達式的值。?命令不換行,在當前行的光標處顯示表達式的值。?/?可接多個表達式,表達式之間用逗號隔開。 顯示表達式的值?n1=,n1 &n1=為字符型常量,n1為變量,窗口工作區(qū)顯示n1=3?n2 &窗口工作區(qū)另起一行,顯示n2+1?name &窗口工作區(qū)在n2+1的后面顯示王波例題LIST/DISPLAY MEMORY LIKE TO PRINTER| TO FILE 顯示內(nèi)存變量的當前信息,包括變量名、
36、作用域、類型、取值。 內(nèi)存變量的顯示使用LIST MEMORY,在屏幕上以滾動方式顯示,不分屏顯示;使用DISPLAY MEMORY,分屏顯示,即顯示了一屏后,顯示暫停,提示“按任意鍵繼續(xù)”,按下任意鍵后,繼續(xù)顯示下一屏。內(nèi)存變量的顯示LIKE 通配符表示只顯示與通配符相匹配的內(nèi) 存變量。通配符*表示任一串字符,?表示任一個字符。VFP有74個系統(tǒng)變量。如果用戶只要求顯示所有自定義變量,可以使用命令DISPLAY MEMORY LIKE *。內(nèi)存變量的顯示TO PRINTER子句,表示將顯示的信息同時送打印機打印。TO FILE 子句,表示將顯示的信息存入指定的文本文件,文件的擴展名為txt。
37、 內(nèi)存變量的顯示display memo like * &顯示用戶定義的全部內(nèi)存變量display memo like n* &顯示以字母n開頭的所有內(nèi)存變量,即n1,name和n2 display memo like n? &顯示以字母n開頭,且名稱不多于兩個字符組成的內(nèi)存變量 即n1和n2例題RELEASE 清除內(nèi)存變量內(nèi)存變量的清除RELEASE ALL LIKE | EXCEPT CLEAR MEMORY提示在輸入命令時,命令中的保留字可只輸入前4個字符。例如display memory 可簡化為disp memo CLEAR MEMORY和RELEASE ALL清除內(nèi)存中所有內(nèi)存變量
38、。RELEASE內(nèi)存變量名表清除指定的內(nèi)存變量。使用LIKE子句,清除符合通配符的變量;使用EXCEPT子句,清除不符合通配符的變量。內(nèi)存變量的清除Release 日期1,日期2 &清除變量日期1和日期2Release all like n* &清除所有變量名以n開始的變量,即n1,n2和name。Disp memo like * &此時,顯示的變量有l(wèi)例題2.1.3 數(shù)組內(nèi)存變量又分為簡單內(nèi)存變量和數(shù)組。每一個簡單變量只占用內(nèi)存中的一個存儲區(qū)域,存儲一個值。而一個數(shù)組在內(nèi)存中占用連續(xù)的一組存儲區(qū)域,由多個數(shù)組元素組成。每個數(shù)組元素占用一個存儲區(qū)域,相當于一個簡單變量。用戶通過數(shù)組名和下標來訪
39、問數(shù)組元素。DIMENSION (, ),DECLARE (, ),DIMENSION和DECLARE兩種命令的功能相同,定義多個一維數(shù)組或二維數(shù)組數(shù)組的下標下限規(guī)定為1,一維數(shù)組的元素個數(shù)為下標上限1,二位數(shù)組的元素個數(shù)為下標上限1*下標上限2。 數(shù)組的創(chuàng)建DIMENSION m(4),n(2,3)命令定義了數(shù)組m和n。&m是一維數(shù)組,4個數(shù)組元素:m(1)、m(2)、m(3)、m(4)。&n是二維數(shù)組,有6個數(shù)組元素:n(1,1)、n(1,2)、n(1,3)、n(2,1)、n(2,2)、n(2,3)。可以用一維數(shù)組的形式訪問二維數(shù)組。例如二維數(shù)組n如果用一維數(shù)組表示,依次為n(1)、n(2
40、)、n(3)、n(4)、n(5)、n(6)。即n(4)和n(2,1)是同一個數(shù)組元素。例題數(shù)組創(chuàng)建后,系統(tǒng)自動給每個元素賦以邏輯值假。通過對數(shù)組名賦值,可以將同一個值同時賦給全部的數(shù)組元素。每個數(shù)組元素可分別賦值,同一數(shù)組中各數(shù)組元素類型可以不同 數(shù)組的賦值DIMENSION m(4),n(2,3) &定義了一維數(shù)組m和二維數(shù)組n。? m(1),n(1,1) &數(shù)組創(chuàng)建后,每個數(shù)組元素的初值為邏輯值假。m=5 &通過對數(shù)組名賦值將所有數(shù)組元素賦值為5?m(1),m(2),m(3),m(4)n(1,1)=1n(1,2)=中國n(1,3)=2008/10/1 &每個數(shù)組元素可分別賦值,數(shù)據(jù)類型可以
41、不同例題2.2 運算符與表達式表達式是由常量、變量、函數(shù)通過特定的運算符連結起來的有意義的式子。每一個表達式經(jīng)過運算,將得到一個具體的結果,稱為表達式的值。n1*0.85 + sqrt(9)變量運算符常量函數(shù)表達式根據(jù)表達式值的類型,可將表達式分為數(shù)值表達式、字符表達式、日期表達式和邏輯表達式。單個的常量、變量和函數(shù),也可以看作一種特殊的表達式。2.2.1 數(shù)值型表達式( )*或 (乘方) 2*4表示24 值為16* / %(求余) 10%3表示10除3的余數(shù)值為1+ 優(yōu)先級算數(shù)運算符?1+52*2 &結果為51。首先進行乘方運算,再進行乘法運算,最后進行加法。例題用表達式表示2*32 +1.
42、24+45?(2*32+1.2)/(4+4/5) &對于某些數(shù)學算式,注意利用括號來改變優(yōu)先級例題對于求余運算,余數(shù)的正負號與除數(shù)相同? ?10%3,10%(-3),-10%3,-10%-3 &結果為1,-2,-1,2 10-34余數(shù)為-210-3-3余數(shù)為1&表達式的值為-22.2.2 字符型表達式連接運算符+號:將前后兩個字符串連接起來,形成一個新的字符串。 號:將前后兩個字符串連接起來,若第一個字符串的尾部有空格,則將空格移到合并后字符串的尾部,其他位置的空格不改變位置。 字符型運算符?“This “+”is”&表達式的結果為“This is”保留前一字符串的尾部空格?“This “-”
43、is”&表達式的結果為“Thisis ”將前一字符串的尾部空格移到最后?“This is “-”a book”&表達式的結果為“This isa book ”例題?“2+3”,2+3,“2”+“3”&字符常量2+3 2與3相加為5 字符2連接字符3結果為23例題2.2.3 日期型表達式日期1+天數(shù) 日期2 或天數(shù)+日期1 日期2 將日期向后推整數(shù)的天數(shù)得到新的日期日期1天數(shù) 日期2將日期向前推整數(shù)的天數(shù)得到新的日期日期1日期2 整數(shù)+1將兩個日期相減得到相差的天數(shù)排在后面的日期大于排在前面的日期日期型運算符日期時間1+秒數(shù) 日期時間2 秒數(shù)+日期時間1 日期時間2 將日期時間向后推整數(shù)的秒數(shù)得
44、到新的日期時間日期時間1秒數(shù) 日期時間2 將日期時間向前推整數(shù)的秒數(shù)得到新的日期時間日期時間1日期時間2 整數(shù)+1將兩個日期時間相減得到相差的秒數(shù)排在后面的日期大于排在前面的日期日期型運算符? 2008/10/1+7 &表達式的值為2008/10/8,將2008年10月1日向后推7天? 2008/10/1-7 &表達式的值為2008/9/24,將2008年10月1日向前推7天? 2008/10/1-2008/5/1 &表達式的值為153,兩個日期相差的天數(shù)例題? 2008-8-8 8 am+10000 &表達式的值為2008年8月8日8點46分40秒,將2008年8月8日上午8時向后推1000
45、0秒的時間 例題注意:+和-運算符必須遵循以上規(guī)則。例如,日期+日期就是一個非法的表達式。2.2.4 邏輯型表達式大于 =大于等于 =小于等于 或!=或# 不等于 $ 子串包含測試 =精確等于 比較兩個類型相同的數(shù)據(jù)(數(shù)值型、貨幣型、字符型、日期型、邏輯型)是否符合關系運算符規(guī)定的關系,若符合,返回邏輯真值,否則返回邏輯假值關系型運算符兩個數(shù)值型數(shù)據(jù)或貨幣型數(shù)據(jù)比較時,按數(shù)值的大小比較。兩個日期型數(shù)據(jù)比較時,越早的日期越小,越晚的日期越大。兩個邏輯型數(shù)據(jù)比較時,邏輯真值.T.大于邏輯假值.F.。關系型運算符? 1214&表達式的結果為邏輯假值.F.?5=5&表達式的結果為邏輯真值.T.=即大于
46、或等于?5!=5&表達式的結果為邏輯假值.F.例題?2008/5/12008/10/1&表達式的結果為.F.&因為2008年10月1日晚于2008年5月1日,故2008/10/1大于2008/5/1?(98).F.&表達式的值為.T. &因為98的結果為邏輯真值.T.,大于邏輯假值.F.。 例題字符型數(shù)據(jù)比較時,先比較第一個字符的大小,若第一個字符大,則該串大;若第一個字符相同,則比較第二個字符,直到比較出大小字符的比較次序VFP規(guī)定了Machine機內(nèi)碼、PinYin拼音、Storke筆畫三種字符的排序次序,默認為拼音次序。PinYin拼音次序:漢字按照拼音順序排列。西文字符中空格最小,小寫
47、abcd字母序列排在前面,大寫ABCD字母序列排在后面。 Machine機內(nèi)碼次序:漢字按照國標碼順序排列;西文字符按照字符的ASCII碼值大小排列。Storke筆畫次序:無論中文西文,按筆劃多少的順序排列。字符的比較次序數(shù)據(jù)選項卡工具(T)選項(O)字符的排序次序SET COLLATE TO 次序名為“MACHINE”或“PINYIN”或“STROKE”字符比較次序SET COLLATE TO MACHINE&按機內(nèi)碼排序?acbabc,a江蘇&表達式的值為.T.F.T.SET COLLATE TO PINYIN&按拼音排序?acbabc,a江蘇&表達式的值為.T.T.T.SET COLLA
48、TE TO STROKE&按筆畫排序?acbabc,a江蘇&表達式的值為.T.T.F.例題運算符=只能用于字符型數(shù)據(jù)的運算,當=兩旁的字符串完全相同時,返回邏輯真值,否則返回邏輯假值。字符型精確比較與EXACT設置使用等于運算符=比較兩個字符串時,運算結果與SET EXACT ON|OFF設置有關。系統(tǒng)默認EXACT狀態(tài)為OFF。若=兩旁字符串的字符個數(shù)不同,則只要=右邊字符串與=左邊字符串的前面部分相同,結果就為.T.。當設置EXACT狀態(tài)為ON時,若=兩旁字符串的字符個數(shù)不同,系統(tǒng)將在較少字符的字符串尾部添加空格,使兩個字符串字符個數(shù)相同,再來進行比較。在“選項”對話框的“數(shù)據(jù)”選項卡,可
49、設置EXACT狀態(tài)。字符型精確比較與EXACT設置SET EXACT OFF?湖南長沙=湖南&表達式的值為.T.?湖南=湖南長沙&表達式的值為.F.? 湖南長沙=長沙&表達式的值為.F.?湖南長沙=湖南&表達式的值為.F.例題SET EXACT ON? 湖南長沙=湖南&表達式的值為.F.?湖南=湖南長沙&表達式的值為.F.?湖南長沙=長沙&表達式的值為.F.?湖南長沙=湖南&表達式的值為.F.例題運算符$用于字符型數(shù)據(jù)的運算。若$左邊的字符串包含在$右邊的字符串中,即左邊字符串是右邊字符串的子串,則返回邏輯真值,否則返回邏輯假值。 包含運算符$?is$This,This$is&表達式的值為.T
50、.F.? Is$This&表達式的值為.F.,大小寫的英文字母不相等? Ts$This &表達式的值為.F.$左邊的字符串必須完整連續(xù)地被包含在$右邊的字符串中,才返回邏輯真值。例題NOT或! 邏輯非AND 邏輯與OR 邏輯或優(yōu)先級邏輯型運算符XYX AND YX OR YNOT X.F.F. .F. .F. .T.F.T. .F. .T.T.F. .F. .T. .F.T.T. .T. .T.邏輯型運算符對于邏輯與AND,當連接的兩個邏輯型數(shù)據(jù)均為真值時,結果才為真值;對與邏輯或OR,當連接的兩個邏輯型數(shù)據(jù)均為假值時,結果才為假值。邏輯型運算符注意:邏輯運算符的前后必須有圓點或空格與其他數(shù)據(jù)
51、分開。當編寫條件時,應寫出正確的邏輯表達式書寫判斷數(shù)值型變量x是否大于3且小于10的條件x3 and xx3,因為關系運算只能比較相同數(shù)據(jù)類型的數(shù)據(jù)書寫判斷字符型變量身份是否等于工作人員或教研人員的條件身份=工作人員 OR身份=教研人員&不能寫成 身份=“工作人員” OR “教研人員”,因為邏輯運算符只能連接邏輯型的數(shù)據(jù)書寫判斷性別為女的身份為工作人員或教研人員的條件性別=女 AND (身份=工作人員 OR身份=教研人員)& 因為AND 的優(yōu)先級高于OR ,所以要加上括號例題?NOT (2+3=6)NOT(5=6).NOT F.T.運算符優(yōu)先級 關系 邏輯 運算符優(yōu)先級括號數(shù)值、貨幣、字符、日
52、期?NOT (76) AND ABVABC OR 5*2=8NOT(.T.) AND ABVABC OR 5*2=8NOT(.T.) AND ABVABC OR 10=8NOT(.T.) AND .T. OR .F.F. AND .T. OR .F.F. OR .F.F.例題2.3 常用函數(shù)VFP提供200余種內(nèi)置函數(shù),實現(xiàn)數(shù)據(jù)的運算或轉換功能。每個函數(shù)有固定的名稱,后面加一對圓括號,括號內(nèi)有若干個自變量。根據(jù)系統(tǒng)對函數(shù)功能的定義,函數(shù)將返回一個值,稱為函數(shù)值。函數(shù)SQRT(9)函數(shù)名自變量函數(shù)值為32.3.1 數(shù)值函數(shù)ABS ( )返回指定數(shù)值表達式的絕對值絕對值函數(shù) ? abs(-20),
53、 abs(0), abs(20) &函數(shù)值為20,0,20 例題SIGN( )當?shù)闹捣謩e為正數(shù)、0、負數(shù)時,函數(shù)值分別為1、0、-1。 符號函數(shù) ? sign(-20), sign(0), sign(20) &函數(shù)值為-1,0,1例題MOD ( , )函數(shù)值為除以的余數(shù),函數(shù)值的正負號與相同。 求余數(shù)函數(shù)? mod(20,3) ,mod(20,-3), mod(-20,3) ,mod(-20,-3) &函數(shù)值為2,-1,1,-2 例題INT ( )返回數(shù)值表達式的整數(shù)部分CEILING( )返回大于或等于數(shù)值表達式的最小整數(shù)FLOOR( )返回小于或等于數(shù)值表達式的最大整數(shù)求整數(shù)函數(shù)STORE
54、 5.8 TO X?INT(X),INT(-X) 5 -5 ?CEILING(X),CEILING(-X) 6 -5?FLOOR(X),FLOOR(-X) 5 -6 例題ROUND ( , )返回數(shù)值表達式1在數(shù)值表達式2指定位置四舍五入后的結果若數(shù)值表達式2大于等于0,指要保留的小數(shù)位數(shù)若數(shù)值表達式2小于0,對整數(shù)部分四舍五入四舍五入函數(shù)? round(123.4567,2)&函數(shù)值為123.46? round(123.4567,0)&函數(shù)值為123? round(123.4567,-2)&函數(shù)值為100 例題SQRT ( )返回指定數(shù)值表達式的平方根數(shù)值表達式的值不能為負求平方根函數(shù)EXP
55、 ( )函數(shù)值為以e為底數(shù),以為指數(shù)的值。 指數(shù)函數(shù)LOG ( )函數(shù)值為的自然對數(shù)值。 自然對數(shù)函數(shù)?exp(3),log(148.51)&函數(shù)值為20.09 , 5例題RAND ( )函數(shù)值為一個0到1之間的隨機數(shù)。 隨機數(shù)函數(shù)MAX ( , , )返回各表達式的最大值MIN ( , , )返回各表達式的最小值表達式的類型可以是數(shù)值型、字符型、貨幣型、日期型、日期時間型,但所有表達式類型必須相同求最大值最小值函數(shù)? max(53,5*3,53)&函數(shù)值為125 ?min(53,5*3,53)&函數(shù)值為15? max(中國,美國,日本),max(2006-10-1,2008-1-1)&函數(shù)值
56、為中國,1/1/08例題PI ( )返回圓周率該函數(shù)無參數(shù)圓周率函數(shù)2.3.2 字符串處理函數(shù)TRIM ( )返回字符表達式值去掉前導空格后形成的字符串ALLTRIM ( )返回字符表達式值去掉前導和尾部空格后形成的字符串LTRIM ( )返回字符表達式值去掉尾部空格后形成的字符串刪除前后空格函數(shù)s= 湖南 ?alltrim(s)+長沙“&表達式值為湖南長沙? ltrim(s)+長沙“&表達式值為 湖南 長沙?trim(s)+長沙“&表達式值為 湖南長沙例題SPACE ( )返回由指定數(shù)目的空格組成的字符串空格字符串生成函數(shù)LEN ( )函數(shù)值為的長度,即包含的字符個數(shù)。其中,一個ASCII字
57、符長度為1,一個漢字長度為2。 字符串長度函數(shù)x=space(1)+HUNAN+space(2)+ 湖南+space(3)?len(x)&表達式值為15?len(alltrim(x)&表達式值為11?len(ltrim(x)&表達式值為14?len(trim(x)&表達式值為12例題LOWER ( )將字符表達式值中的大寫字母轉換成小寫字母,其他字符不變UPPER ( )將字符表達式值中的小寫字母轉換成大寫字母,其他字符不變大小寫轉換函數(shù)?upper(China中國)&函數(shù)值為CHINA中國 ?lower(China中國)&函數(shù)值為 china中國例題LEFT ( , )返回字符表達式值的右端
58、取指定長度的子串SUBSTR ( , , )返回字符表達式值從起始位置取指定長度的子串若缺省長度,則從起始位置取到最后一個字符RIGHT( , )返回字符表達式值的左端取指定長度的子串取子串函數(shù) y=“CHINA中國”?left(y,5)&函數(shù)值為CHINA? right(y,4)&函數(shù)值為中國?substr(y,6,2)&函數(shù)值為中? substr(y,6)&中國例題AT ( , , )若第一個字符串是第二個字符串的子串,返回第一個字符串的首字符在第二個字符串中的位置若不是子串,則返回0若指定,則函數(shù)值為在中按指定出現(xiàn)的位置。缺省時,默認值為1。 該函數(shù)區(qū)分大小寫字母。 求子串位置函數(shù)ATC
59、 ( , , )該函數(shù)功能與AT相同,但比較字符表達式時不區(qū)分字母大小寫。 求子串位置函數(shù)store This is Visual Foxpro TO z?at(Fox,z) &函數(shù)值為16? at(fox,z)&函數(shù)值為0?atc(fox,z) &函數(shù)值為16?at(is,z,3) &函數(shù)值為10例題OCCURS ( , )返回第一個字符串在第二個字符串中出現(xiàn)的次數(shù),函數(shù)值為數(shù)值型若第一個字符串不是第二個字符串的子串,函數(shù)值為0計算子串出現(xiàn)次數(shù)函數(shù) m=湖南長沙湖南大學?occurs(湖南,m)&函數(shù)值為2?occurs(長沙,m)&函數(shù)值為1?occurs(長沙大學,m) &函數(shù)值為0例題
60、 REPLICATE( , )函數(shù)值為一個字符串,將重復所指定的次數(shù)。 產(chǎn)生重復字符的字符串函數(shù) ?replicate(HUNAN,2)+replicate(湖南,3)&表達式的值為HUNANHUNAN湖南湖南湖南例題STUFF( , , , )用值替換中由起始位置和長度指明的一個子串。如果長度值是0, 則插在由指定的字符前面。如果是空串,那么中的由起始位置和長度指明的子串被刪去子串替換函數(shù)n=長沙湖南大學 ?stuff(n,5,4,中南林業(yè))&函數(shù)的值為長沙中南林業(yè)大學?stuff(n,5,0,岳麓山)&函數(shù)的值為長沙岳麓山湖南大學? stuff(n,5,4,)&函數(shù)的值為長沙大學例題CHR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東臨沂市羅莊區(qū)部分事業(yè)單位公開招聘綜合類崗位工作人員17人備考題庫附答案詳解
- 2026江西南昌市勞動保障事務代理中心招聘勞務派遣人員3人備考題庫及答案詳解(考點梳理)
- 2026山東濰坊市青州市宏德學校高薪誠聘學科骨干教師78人備考題庫及一套參考答案詳解
- 2025年嘉興職業(yè)技術學院招聘高層次人才28人備考題庫含答案詳解
- 2026年河北邯鄲凌云中學招聘儲備教師61名備考題庫參考答案詳解
- 2026年紅河州事業(yè)單位招聘工作人員備考題庫(1018人)及1套完整答案詳解
- 2026安徽黃山新城區(qū)投資有限公司及權屬子公司招聘14人備考題庫含答案詳解
- 2026廣西柳州市婦女兒童發(fā)展中心聘用人員招聘1人備考題庫及參考答案詳解一套
- 2026山東事業(yè)單位統(tǒng)考威海市環(huán)翠區(qū)招聘初級綜合類崗位38人備考題庫及一套完整答案詳解
- 責任區(qū)片除草工作檢查制度
- 瑞幸食品安全培訓題庫課件
- (一模)2026年沈陽市高三年級教學質量監(jiān)測(一)化學試卷(含答案)
- 2026年安徽糧食工程職業(yè)學院單招綜合素質考試備考題庫帶答案解析
- 2025年秋八年級全一冊信息科技期末測試卷(三套含答案)
- 2026年及未來5年市場數(shù)據(jù)中國海水淡化設備市場發(fā)展前景預測及投資戰(zhàn)略咨詢報告
- 2026年青島職業(yè)技術學院單招職業(yè)技能考試題庫含答案詳解
- 制造總監(jiān)年終總結
- 仇永鋒一針鎮(zhèn)痛課件
- 中小學校食堂建設配置標準(試行)
- 露天礦物開采輔助工技術考核試卷及答案
- DB63T 1933-2021無人機航空磁測技術規(guī)范
評論
0/150
提交評論