【內(nèi)部資料】江蘇二級(jí)vfp要點(diǎn)_第1頁
【內(nèi)部資料】江蘇二級(jí)vfp要點(diǎn)_第2頁
【內(nèi)部資料】江蘇二級(jí)vfp要點(diǎn)_第3頁
【內(nèi)部資料】江蘇二級(jí)vfp要點(diǎn)_第4頁
【內(nèi)部資料】江蘇二級(jí)vfp要點(diǎn)_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、江蘇二級(jí)vfp第 PAGE 112 頁 共 NUMPAGES 112 頁第一章 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識(shí) (復(fù)習(xí)要點(diǎn)) 第一章 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識(shí) 1.1 數(shù)據(jù)庫系統(tǒng)概述 1. 數(shù)據(jù)處理 數(shù)據(jù): 是對(duì)事實(shí)、概念或指令的一種特殊表達(dá)形式,可以用人工的方式或自動(dòng)化的裝置進(jìn)行通信、翻譯轉(zhuǎn)換或者進(jìn)行加工處理。 它包括兩類:一類是能參與數(shù)字運(yùn)算的數(shù)值型數(shù)據(jù);一類是不能參與數(shù)字運(yùn)算的非數(shù)值型數(shù)據(jù),如文字、圖畫、聲音、活動(dòng)圖象等。 數(shù)據(jù)處理: 是對(duì)各種類型的數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、分類、計(jì)算、加工、檢索與傳輸?shù)倪^程。 包括:收集原始數(shù)據(jù)、編碼轉(zhuǎn)換、數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)輸出。 2. 數(shù)據(jù)庫系統(tǒng) (1) 數(shù)據(jù)庫(Da

2、taBase) 定義:是以一定的組織形式存放在計(jì)算機(jī)存儲(chǔ)介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。 特點(diǎn): 具有最小的冗余度、具有數(shù)據(jù)獨(dú)立性、實(shí)現(xiàn)數(shù)據(jù)共享、安全可靠、保密性能好 (2)數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System) 定義: 是操縱和管理數(shù)據(jù)庫的系統(tǒng)軟件。Visual FoxPro 屬于一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。 數(shù)據(jù)語言: 數(shù)據(jù)定義語言(DDL): 用來建立所需的數(shù)據(jù)庫。 數(shù)據(jù)操作語言(DML): 用來對(duì)數(shù)據(jù)庫進(jìn)行查詢和維護(hù)操作。 關(guān)系型數(shù)據(jù)庫使用的標(biāo)準(zhǔn)語言是結(jié)構(gòu)化查詢語言(Structured Query Language, SQL)。 (3)數(shù)據(jù)庫系統(tǒng)(Data

3、Base System) 定義: 是以數(shù)據(jù)庫應(yīng)用為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)。 組成: 數(shù)據(jù)庫 硬件(計(jì)算機(jī)硬件設(shè)備) 軟件(數(shù)據(jù)庫管理系統(tǒng) 、操作系統(tǒng)) 用戶(應(yīng)用程序設(shè)計(jì)員、終端用戶、數(shù)據(jù)庫管理員 ) 分類:層次型數(shù)據(jù)庫、網(wǎng)狀型數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫 分代:第一代 非關(guān)系型數(shù)據(jù)庫系統(tǒng),60年代末問世,包括層次型和網(wǎng)狀型。 第二代 關(guān)系型數(shù)據(jù)庫系統(tǒng)(RDBS),70年代中期問世。 第三代 對(duì)象-關(guān)系數(shù)據(jù)庫系統(tǒng)(ORDBS 、OOBDS),80年代中期至今。 上述三個(gè)概念之間的聯(lián)系:在數(shù)據(jù)庫系統(tǒng)中通過數(shù)據(jù)庫管理系統(tǒng)來建立和使用數(shù)據(jù)庫。 3關(guān)系模型 三個(gè)領(lǐng)域: 現(xiàn)實(shí)世界事物(對(duì)象、性質(zhì)) 觀念世界實(shí)體(對(duì)象

4、、屬性) 數(shù)據(jù)世界數(shù)據(jù)(記錄、字段) 實(shí)體模型:即反映事物聯(lián)系的實(shí)體。 數(shù)據(jù)模型:即描述實(shí)體模型的數(shù)據(jù)。 數(shù)據(jù)模型的分類: 層次模型(采用樹型結(jié)構(gòu)) 網(wǎng)絡(luò)模型(采用無向圖型結(jié)構(gòu)) 關(guān)系模型(采用二維表結(jié)構(gòu)) 關(guān)系模型的性質(zhì): 二維表的記錄數(shù)隨數(shù)據(jù)的增加而改變,但其字段數(shù)是相對(duì)固定的;二維表中的每一列均有唯一的字段名;二維表中不允許出現(xiàn)完全相同的兩行二維表中行的順序、列的順序均可以任意交換。 二維表的主關(guān)鍵字: 超關(guān)鍵字: 能唯一確定記錄的一列或幾列的組合 候選關(guān)鍵字:最簡(jiǎn)練的超關(guān)鍵字 主關(guān)鍵字: 候選關(guān)鍵字中的一個(gè) 外部關(guān)鍵字:當(dāng)A表的主關(guān)鍵字被包含到B表中時(shí),則稱A表的主關(guān)鍵字為B表的外部關(guān)

5、鍵字。 4. 微機(jī)關(guān)系型數(shù)據(jù)庫系統(tǒng)的發(fā)展 關(guān)系型數(shù)據(jù)庫: 即根據(jù)表、記錄和字段之間的關(guān)系進(jìn)行組織和訪問的一種數(shù)據(jù)庫。 名 稱運(yùn)行環(huán)境公司名稱發(fā)布時(shí)間 dBASE, dBASE, dBASE,dBASE PLUS, dBASEDOSAshton-Tate FoxBASE 1.0DOSFox軟件公司1987.2 FoxBASE + (2.00/2.10)DOSFox軟件公司87.7/88.7 FoxPro 1.0DOSFox軟件公司1989 FoxPro 2.0DOSFox軟件公司1991 FoxPro 2.5DOS 、 WINDOWS 3.x微軟公司1993.1 FoxPro 2.6DOS 、

6、Windows 3.x微軟公司1994 Visual FoxPro 3.0Windows 3.X微軟公司1996.1 Visual FoxPro 5.0Windows 95微軟公司1997.2 Visual FoxPro 6.0Windows 98微軟公司1998.1 12 Visual FoxPro 6.0概述 1. VFP6.0的特點(diǎn) 完善了關(guān)系型數(shù)據(jù)庫的概念,采用了Rushmore技術(shù),引入了SQL命令;支持多種數(shù)據(jù)交換格式;采用了可視化的面向?qū)ο蟮某绦蛟O(shè)計(jì)方式;提供了功能完善的集成環(huán)境和豐富的開發(fā)工具。 2. VFP6.0的用戶界面 圖例 界面基本組成:標(biāo)題欄、主菜單欄、工具欄、主窗口

7、、命令窗口、狀態(tài)欄 系統(tǒng)工具一覽表 各種菜單各種工具欄各種窗口各種設(shè)計(jì)器各種生成器各種向?qū)?文件菜單常用工具欄命令窗口數(shù)據(jù)庫設(shè)計(jì)器文本框生成器表向?qū)?編輯菜單表單控制工具欄瀏覽窗口表設(shè)計(jì)器組合框生成器交叉表向?qū)?顯示菜單布局工具欄代碼窗口表單設(shè)計(jì)器命令組生成器查詢向?qū)?格式菜單調(diào)色板工具欄調(diào)試窗口菜單設(shè)計(jì)器編輯框生成器本地視圖向?qū)?工具菜單打印預(yù)覽工具欄編輯窗口報(bào)表設(shè)計(jì)器表達(dá)式生成器表單向?qū)?程序菜單報(bào)表控制工具欄查看窗口標(biāo)簽設(shè)計(jì)器表單生成器一對(duì)多表單向?qū)?窗口菜單查詢?cè)O(shè)計(jì)器工具欄跟蹤窗口類設(shè)計(jì)器表格生成器報(bào)表向?qū)?幫助菜單表單設(shè)計(jì)器工具欄屬性窗口連接設(shè)計(jì)器列表框生成器一對(duì)多報(bào)表向?qū)?菜單菜單

8、報(bào)表設(shè)計(jì)器工具欄通用字段窗口查詢和視圖設(shè)計(jì)器參照完整性生成器標(biāo)簽向?qū)?數(shù)據(jù)環(huán)境菜單數(shù)據(jù)庫設(shè)計(jì)器工具欄遠(yuǎn)程視圖向?qū)?表單菜單項(xiàng)目管理器窗口數(shù)據(jù)環(huán)境設(shè)計(jì)器自動(dòng)格式生成器郵件合并向?qū)?項(xiàng)目菜單導(dǎo)入向?qū)?查詢菜單選項(xiàng)組生成器圖形向?qū)?報(bào)表菜單數(shù)據(jù)透視表向?qū)?表菜單分組/總計(jì)報(bào)表向?qū)?數(shù)據(jù)庫菜單 類菜單 3. VFP 6.0的工作方式 (1) 菜單操作方式 根據(jù)所需的操作從菜單中選擇相應(yīng)的命令(與WORD類似)。每執(zhí)行一次菜單命令,命令窗口中一般都會(huì)顯示出與菜單對(duì)應(yīng)的命令內(nèi)容。 利用工具菜單中的向?qū)Э梢院芊奖愕赝瓿沙R?guī)任務(wù)。 (2) 命令交互方式 根據(jù)所要進(jìn)行的各項(xiàng)操作,采用人機(jī)對(duì)話方式在命令窗口中按格

9、式要求逐條輸入所需命令,按回車后,機(jī)器逐條執(zhí)行。 (3) 程序執(zhí)行方式 先在程序編輯窗口中編完程序,再從程序菜單中選擇執(zhí)行,或從命令窗口中輸入DO 命令,讓機(jī)器執(zhí)行。 4. VFP 6.0常用文件類型 VFP 6.0常用的文件擴(kuò)展名及其關(guān)聯(lián)的文件類型 擴(kuò)展名文件類型擴(kuò)展名文件類型 .app生成的應(yīng)用程序.frx報(bào)表 .exe可執(zhí)行程序.frt報(bào)表備注 .pjx項(xiàng)目.lbx標(biāo)簽 .pjt項(xiàng)目備注.lbt標(biāo)簽備注 .dbc數(shù)據(jù)庫.prg程序 .dct數(shù)據(jù)庫備注.fxp編譯后的程序 .dcx數(shù)據(jù)庫索引.err編譯錯(cuò)誤 .dbf表.mnx菜單 .fpt表備注.mnt菜單備注 .cdx復(fù)合索引.mpr生

10、成的菜單程序 .idx單索引.mpx編譯后的菜單程序 .qpr生成的查詢程序.vcx可視類庫 .qpx編譯后的查詢程序.vct可視類庫備注 .scx表單.txt文本 .sct表單備注.bak備份文件 5. 創(chuàng)建文件 新建各種類型的文件時(shí),可以利用系統(tǒng)提供的相應(yīng)工具,以提高工作效率。新建文件時(shí)可用的設(shè)計(jì)器和向?qū)А?1.3 項(xiàng)目管理器 1. 項(xiàng)目管理器簡(jiǎn)介 項(xiàng)目: 是一種文件,用于跟蹤創(chuàng)建應(yīng)用系統(tǒng)所需要的所有程序、表單、菜單、庫、報(bào)表、標(biāo)簽、查詢和一些其他類型的文件。 項(xiàng)目管理器:圖例 是開發(fā)VFP應(yīng)用系統(tǒng)的一個(gè)工具,它生成一個(gè)項(xiàng)目文件,項(xiàng)目文件的擴(kuò)展名為 .PJX,項(xiàng)目備注的擴(kuò)展名為:.PJT。

11、 項(xiàng)目管理器窗口的組成: 由6大類數(shù)據(jù)項(xiàng)(全部、數(shù)據(jù)、文檔、類、代碼、其他)和10個(gè)命令按鈕(新建、添加、修改、瀏覽、關(guān)閉、打開、預(yù)覽、運(yùn)行、移去、連編)組成。 注:粗斜體表示的命令按紐根據(jù)用戶選擇的不同對(duì)象相應(yīng)地出現(xiàn)。 項(xiàng)目菜單的組成:13個(gè)子菜單(其中一部分與項(xiàng)目管理器中的命令按鈕功能相同)。 項(xiàng)目管理器的功能:組織和管理所有與應(yīng)用系統(tǒng)有關(guān)的各種類型的文件。 2. 創(chuàng)建項(xiàng)目文件 用菜單方式: 打開文件菜單 新建 項(xiàng)目 新文件 給出合適的項(xiàng)目文件名及保存位置 進(jìn)入項(xiàng)目管理器 開發(fā)應(yīng)用系統(tǒng) 完成后關(guān)閉窗口退出。 用命令方式: 語法:CREATE PROJECT 功能:打開項(xiàng)目管理器窗口進(jìn)行應(yīng)用

12、系統(tǒng)的開發(fā)。 3. 修改項(xiàng)目文件 用菜單方式: 打開文件菜單 打開 找到所需的項(xiàng)目文件并確定之 進(jìn)入項(xiàng)目管理器 修改應(yīng)用系統(tǒng) 完成后關(guān)閉窗口退出。 用命令方式: 語法:MODIFY PROJECT 功能:打開項(xiàng)目管理器窗口進(jìn)行應(yīng)用系統(tǒng)的修改。 4. 項(xiàng)目管理器的使用 可以利用項(xiàng)目管理器來創(chuàng)建、打開、瀏覽、修改所有VFP文件并運(yùn)行其中的表單、報(bào)表、標(biāo)簽、菜單、程序等。特別是可以利用它來連編項(xiàng)目(追蹤這些文件的變化情況,包括它們之間的相關(guān)性、引用和連接等,確保引用的完整,并加入自上次連編之后更新了的一些組件)、應(yīng)用程序(擴(kuò)展名為.APP,在VFP環(huán)境下執(zhí)行)和可執(zhí)行文件(擴(kuò)展名為.EXE,能脫離V

13、FP環(huán)境執(zhí)行)。 1.4 VFP 6.0 的一些規(guī)則 1. VFP6.0 的命名規(guī)則: 只能使用字母、下劃線和數(shù)字。 使用字母或下劃線作為名稱的開頭。 名稱可以是 1 至 128 個(gè)字符,但自由表的字段名和索引標(biāo)識(shí)最多只能有 10 個(gè)字符。 避免使用 Visual FoxPro 的保留字。 文件的命名遵循操作系統(tǒng)的約定。 2. 命令和子句的書寫規(guī)則 (1) 以命令動(dòng)詞開始; (2) 各部分之間要用空格隔開; (3) 命令、子句、函數(shù)名都可簡(jiǎn)寫為前4個(gè)字符,大、小寫等效; (4) 一行只能寫一條命令,總長(zhǎng)度不超過8192個(gè)字符,超過屏幕寬度時(shí)用續(xù)行符“;”; (5) 變量名、字段名和文件名應(yīng)避免

14、與命令動(dòng)詞、關(guān)鍵字或函數(shù)名同名,以免運(yùn)行時(shí)發(fā)生混亂。 (6) 命令格式中的符號(hào)約定: 命令中的 、| 、 符號(hào)都不是命令本身的語法成分,使用時(shí)不能照原樣輸入, 其中: 表示可選項(xiàng),根據(jù)具體情況決定是否選用 | 表示兩邊的部分只能選用其中的一個(gè) 表示可以有任意個(gè)類似參數(shù),各參數(shù)間用逗號(hào)隔開 表示其中內(nèi)容要以實(shí)際名稱或參數(shù)代入 3 命令工作方式中的常見錯(cuò)誤 (1) 命令動(dòng)詞寫錯(cuò) (2) 格式不符合要求 標(biāo)點(diǎn)符號(hào)不對(duì)(一定要用英文標(biāo)點(diǎn)符號(hào)) 缺少必需的空格或添加了不該有的空格 數(shù)據(jù)類型不一致,要注意字符型、數(shù)值型、日期型、邏輯型數(shù)據(jù)的書寫格式 (3) 打不開所需文件:沒有正確輸入盤符和路徑或文件名輸

15、錯(cuò) 第二章 VFP語言基礎(chǔ)(復(fù)習(xí)要點(diǎn)) 第二章 VFP語言基礎(chǔ) .1 程序設(shè)計(jì)概述 1. 程序設(shè)計(jì)方法簡(jiǎn)介設(shè)計(jì)方法主要概念設(shè)計(jì)過程程序執(zhí)行方式結(jié)構(gòu)化程序設(shè)計(jì)功能模塊(即過程、自定義函數(shù))編制各個(gè)功能模塊,再用主程序?qū)⑺鼈兇饋韺?yīng)用程序分解成若干功能模塊,通過各模塊的相互調(diào)用來完成整個(gè)執(zhí)行過程,是過程驅(qū)動(dòng)的。面向?qū)ο蟪绦蛟O(shè)計(jì)類、對(duì)象、屬性、事件、方法設(shè)計(jì)類、子類、對(duì)象(設(shè)計(jì)外觀、設(shè)置屬性、為事件編寫方法程序)將應(yīng)用程序分解成具有特定屬性的對(duì)象,通過調(diào)用各對(duì)象的不同方法來完成相關(guān)事件,是事件驅(qū)動(dòng)的。 2數(shù)據(jù)類型 VFP 包含下列數(shù)據(jù)類型: 通用的數(shù)據(jù)類型字符型 Character貨幣型 Curr

16、ency日期型 Date日期時(shí)間型 DateTime邏輯型 Logical數(shù)值型 Numeric 僅用于字段的數(shù)據(jù)類型雙精度型 Double浮點(diǎn)型 Float整型 Integer通用型 General備注型 Memo 3. 數(shù)據(jù)容器 VFP中用來存儲(chǔ)數(shù)據(jù)的容器有:常量、變量、數(shù)組、記錄和對(duì)象。 (1) 常量(constants): 一個(gè)在操作過程中保持不變的數(shù)值或字符串。 常用的常量類型 常量類型數(shù)值型常量字符型常量邏輯型常量日期型常量 表示方式-25.36abc,123,中國.T. .F.2005/07/10 (2)變量(variables): 是內(nèi)存中的一個(gè)存儲(chǔ)單元的位置,其中的內(nèi)容可以變

17、化,但標(biāo)識(shí)該存儲(chǔ)位置的名稱(即變量名)不變。 變量的命名習(xí)慣: 類型變量代號(hào) 如:cStud 、nCj 、dCsrq 分別代表一個(gè)字符型、數(shù)值型、日期型的變量名 變量的賦值方式: 1) 用 STORE 命令 如:STORE 王蘭 TO cStud 2) 用賦值操作符 = 如:cStud = 王蘭 變量的作用域: 即變量起使用的有效范圍。 變量作用域定義作用域的關(guān)鍵字特點(diǎn) 局部變量 local variable(本地變量)LOCAL只能在一個(gè)函數(shù)或過程中被訪問,其他過程或函數(shù)不能訪問此變量的數(shù)據(jù)。當(dāng)其所屬程序停止運(yùn)行時(shí),局部變量將被釋放。 私有變量 private variablePRIVATE

18、私有變量在 VFP 中是默認(rèn)的,不需要特殊的關(guān)鍵字定義。但是,如果在更高一級(jí)例程(routine)中已經(jīng)有同名變量,可以用PRIVATE 關(guān)鍵字予以聲明,以限定其范圍。當(dāng)定義此變量的例程結(jié)束時(shí),此變量也被相應(yīng)釋放??墒褂盟接凶兞吭诒徽{(diào)用的函數(shù)中共享數(shù)據(jù)。 公共變量 public variablePUBLIC可用于所有過程和函數(shù),而不限于定義該變量的過程和函數(shù)??墒褂萌肿兞吭诙鄠€(gè)過程或函數(shù)之間共享數(shù)據(jù),在命令窗口中創(chuàng)建的任何變量自動(dòng)具有全局屬性。 變量的訪問: 當(dāng)變量和字段同名時(shí),字段有優(yōu)先被訪問權(quán)。要在變量名前加 m. 或 m - 以示區(qū)別,如 m.cStud (3)數(shù)組(array): 是

19、存儲(chǔ)在一個(gè)變量中由單個(gè)變量名引用的有序數(shù)據(jù)集合。在 VFP中,一個(gè)數(shù)組中的數(shù)據(jù)不必是同一種數(shù)據(jù)類型。常用的有一維數(shù)組,二維數(shù)組。 數(shù)組元素的標(biāo)識(shí):通過一個(gè)數(shù)值下標(biāo)來引用,如 AA2,AA2,3 數(shù)組類型的聲明: 私有數(shù)組 用DECLARE 或 DIMENSION定義 全局?jǐn)?shù)組 用PUBLIC命定義 局部數(shù)組 用LOCAL定義 數(shù)組元素的賦值: 用賦值語句: 如 AA=45 用SCATTER從當(dāng)前記錄中取特定字段的值賦給數(shù)組: 如: scatter fields xh, xm, xb to aa (數(shù)組長(zhǎng)度、類型自動(dòng)與所給字段相同) 用 COPY TO ARRAY從當(dāng)前記錄中取所有字段的值賦給數(shù)

20、組: 如: copy to array aa (數(shù)組長(zhǎng)度、類型自動(dòng)與表中全部字段相同) 把數(shù)組中的數(shù)據(jù)傳給當(dāng)前表中的當(dāng)前記錄: gather from 數(shù)組名 fields 字段名表 用數(shù)組向當(dāng)前表添加記錄: append from array 數(shù)組名 for 條件 fields 字段名表 (用二維數(shù)組可以同時(shí)添加多條記錄) 數(shù)組處理的常用函數(shù): 排序SORT(),搜索ASCAN(),刪除ADEL(),插入AINS() (4) 記錄: 表中的一行,由字段組成。 (5) 對(duì)象: 對(duì)象是類的一個(gè)實(shí)例,類是對(duì)擁有數(shù)據(jù)和一定行為特征的對(duì)象集合的描述。VFP對(duì)象可以是表單、表單集、控件。 .2 VFP

21、6.0的語言成分 1. 命令 即:由用戶發(fā)出的、指示VFP進(jìn)行某種操作的指令。 如 USE aaa & 打開 一個(gè)名為 aaa.dbf的數(shù)據(jù)表 2. 函數(shù) 即:一個(gè)預(yù)先編制好的模塊,可由VFP程序在任何地方調(diào)用。 函數(shù)的使用方法:名稱、功能、參數(shù)、返回值 幾個(gè)常用函數(shù) 名稱命令格式示例 字符串截取函數(shù)SUBSTR( expC,expN1,expN2 )? SUBSTR(“ABCDEFG”,2,4) 結(jié)果是: BCDE LEFT( expC,expN )? LEFT(“ABCDEFG”,2) 結(jié)果是: AB RIGHT( expC,expN )? RIGHTT(“ABCDEFG”,4) 結(jié)果是:

22、 DEFG 字符串查找函數(shù)AT ( expC1 , expC2 expN )? AT(“B”, “ABCDE”) 結(jié)果是: 2 ? AT(“A”, “ABCDEASD” ) 結(jié)果是: 1 ? AT(“A”,“ABCDEASD”,2 ) 結(jié)果是: 6 大小寫字母轉(zhuǎn)換函數(shù)LOWER( expC )? LOWER(“DFGHa”) 結(jié)果是: dfgha UPPER( expC )? UPPER(“asdf”) 結(jié)果是: ASDF 數(shù)值函數(shù)MAX(exp1,exp1,exp3,)? MAX(15,23,4,56) 結(jié)果是: 56 MIN(exp1,exp1,exp3,)? MIN(15,23,4,56

23、) 結(jié)果是: 4 ABS( expN )? ABS(-15.83) 結(jié)果是: 15.83 INT( expN )? INT(25.62) 結(jié)果是: 25 壓縮空格函數(shù)ALLTRIM( expC )? ALLTRIM( AD B G ) 結(jié)果是: AD B G 類型轉(zhuǎn)換函數(shù)STR( expN1,expN2,expN3)? STR(789.678,6,2) 結(jié)果是: 789.68 CTOD( expC )? CTOD(“98/10/15”) 結(jié)果是: 98/10/15 VAL( expC )? VAL(123.45) 結(jié)果是: 123.45 DTOC( expD )? DTOC(98/12/15)

24、 結(jié)果是: 98/12/15 日期時(shí)間函數(shù)DATE()? DATE() 結(jié)果是: 2000/03/15 DATETIME()? DATETIME() 結(jié)果是: 2000/03/15 10:15:30 YEAR( expD )? YEAR(87/03/25) 結(jié)果是: 1987 數(shù)據(jù)庫函數(shù)RECNO( )DBC( )SEEK( )其它函數(shù)LEN( )DELETED() EOF( )BOF( )FOUND( )EMPTY(exp)INLIST(,) RECCOUNT( ) SELECT( )BETWEEN(,)IIF(,) TABLEREVERT( )LOCK( )CHR()ASC() TABLE

25、UPDATE( )FSIZE( )TAG()INKEY() 自定義函數(shù): 由用戶為自己的應(yīng)用程序創(chuàng)建的專用函數(shù),可作為獨(dú)立的程序文件保存在磁盤上也可作為過程文件存放在其他程序中。 3. 表達(dá)式 即:變量、操作符、常量、函數(shù)、字段名、控制以及屬性的組合,求值結(jié)果為單個(gè)值。 表達(dá)式的類型: 算術(shù)表達(dá)式:由算術(shù)操作符和數(shù)值型數(shù)據(jù)構(gòu)成的表達(dá)式。 字符表達(dá)式:由字符操作符和字符型數(shù)據(jù)構(gòu)成的表達(dá)式。 日期表達(dá)式:由日期操作符和日期、時(shí)間型數(shù)據(jù)構(gòu)成的表達(dá)式。 邏輯表達(dá)式:由邏輯操作符和邏輯型數(shù)據(jù)構(gòu)成的表達(dá)式。 名稱表達(dá)式: 由圓括號(hào)括起來的一個(gè)字符表達(dá)式,用來替換命令或函數(shù)中的名稱。 例: DBF_NAME

26、=學(xué)生成績(jī)登記表 USE (DBF_NAME) 宏替換:用宏替換符號(hào) & 表示,它與名稱表達(dá)式具有相似的作用。 例: 已知 A=1, B=2, C12=GOOD 則 C&A&B=GOOD 4. 操作符 數(shù)值操作符( ) 或 */%(取余數(shù))+ - 關(guān)系操作符 = 或 != 或 # = = 邏輯操作符()表達(dá)式分組NO或!(非)AND(和)OR (或) 日期和時(shí)間操作符+- 注意: 日期型: 天數(shù) 時(shí)間型: 秒數(shù) 字符操作符:+- $ 兩個(gè)特殊的操作符圓點(diǎn)操作符(.):用于分隔對(duì)象的名稱以及分隔對(duì)象中的屬性、事件、方法。 范圍轉(zhuǎn)變操作符(:):提供了從一個(gè)子類中調(diào)用一個(gè)父類的方法。 .3 程序設(shè)

27、計(jì)基礎(chǔ) 1. 基本概念 程 序:為解決某一問題而設(shè)計(jì)的一系列指令。 主程序:通常被用戶直接執(zhí)行的程序。 子程序:在程序中被調(diào)用的程序。 源程序: 由人用源語言編寫的計(jì)算機(jī)程序,必須翻譯成機(jī)器語言后才能被執(zhí)行。 目標(biāo)程序: 是源程序經(jīng)過編譯后所產(chǎn)生的機(jī)器語言程序。 可執(zhí)行程序: 源程序被編譯后產(chǎn)生的可被機(jī)器直接執(zhí)行的程序,具有 .EXE 擴(kuò)展名。在VFP中是指由項(xiàng)目管理器連編生成的、可脫離VFP環(huán)境運(yùn)行的程序。 應(yīng)用程序: 指為完成專門工作而設(shè)計(jì)的一組相互聯(lián)系的例行程序和子程序。在VFP中是指一組 Visual FoxPro 程序、表單、菜單和其他文件經(jīng)項(xiàng)目管理器連編后形成的單個(gè)程序,不能脫離V

28、FP環(huán)境運(yùn)行,擴(kuò)展名為.APP。 例行程序: 按某種順序排列的、使計(jì)算機(jī)能執(zhí)行某種任務(wù)的指令集合,可以是一種專用的程序或作為程序的一部分。它可由若干個(gè)子程序組成。 2. 程序控制 (1) 順序語句 即按程序中的語句順序依次執(zhí)行。 (2) 分支語句 條件語句:情況語句: IF 條件 命令組1 ELSE 命令組2 ENDIFDO CASE CASE 情況1 命令組1 CASE 情況2 命令組2 OTHERWISE 其它命令組 ENDCASE 3. 循環(huán)語句 FOR 循環(huán)語句(預(yù)知循環(huán)次數(shù))FOR 變量 = 初值 TO 終值 STEP 步長(zhǎng) 命令組 ENDFOR | NEXT DO WHILE 循環(huán)

29、語句(未知循環(huán)次數(shù))DO WHILE 條件 命令組 ENDDO SCAN 循環(huán)語句(針對(duì)全部記錄)SCAN 范圍 FOR | WHILE 條件 命令組 ENDSCAN 循環(huán)結(jié)構(gòu)中的LOOP命令和EXIT命令: LOOP是短路語句,表示從此開始下一次循環(huán); EXIT是退出語句,表示跳出循環(huán)。 4. 子程序 子程序的的形式可以是一個(gè)程序文件,也可以是一個(gè)過程或自定義函數(shù)。 子程序自定義函數(shù)過程 特點(diǎn)總是被其他程序調(diào)用而不單獨(dú)執(zhí)行,可以調(diào)用其他子程序,不一定要返回一個(gè)值。能以一個(gè)獨(dú)立的文件儲(chǔ)存,也可包含在調(diào)用程序中,必須返回一個(gè)值。是一個(gè)程序段,是程序的組成部分,一般放在程序的最后。 定義方法與程序

30、相同,只是在子程序的結(jié)尾加需一條返回命令: RETURN 表達(dá)式 |TO MASTER |TO 程序文件名FUNCTION 函數(shù)名 或:MODIFY COMMAND 函數(shù)名 PARAMETERS 數(shù)表 命令組 RETURN 表達(dá)式 注:用此命令定義的函數(shù)以獨(dú)立的文件形式儲(chǔ)存。PROCEDURE 過程名 PARAMETRS 參數(shù)表 命令組 RETURN 調(diào)用方法DO 子程序名WITH 參數(shù)表 = 函數(shù)名 ( 參數(shù)表 )DO 過程名 WITH 參數(shù)表 3. 創(chuàng)建應(yīng)用程序 方法一: 在命令窗口中輸入: MODIFY COMMAND 程序名 方法二: 單擊文件菜單 新建 程序 新文件 在編輯窗口中編輯

31、程序 完成后關(guān)閉 給出合適的程序名及保存位置 。 程序的注釋: 方法1: * | NOTE 可出現(xiàn)在程序中的任何地方 方法2: & 一般用于命令的尾部 給程序加注釋的目的是為了提高程序的可讀性。 面向過程的程序設(shè)計(jì)三步曲: 輸入 處理 輸出 4. 修改應(yīng)用程序 方法一: 在命令窗口中輸入: MODIFY COMMAND 程序名 | ? 注: ? 表示不知道程序名,要從打開對(duì)話框中選定。 方法 二: 單擊文件菜單 打開 選擇所需程序并打開 在編輯窗口中對(duì)程序進(jìn)行修改 完成后關(guān)閉退出。 5. 執(zhí)行應(yīng)用程序 方法一: 在命令窗口中輸入: DO 程序名 | ? 方法二:從程序菜單中選擇執(zhí)行從打開對(duì)話框

32、中選擇所需程序并執(zhí)行之。 6. 程序設(shè)計(jì)的基本步驟 (1)對(duì)問題進(jìn)行說明 (2)分解問題 (3)編制各模塊 (4)測(cè)試并完善各模塊 (5)組裝全部模塊 (6)整體測(cè)試 第三章 表的創(chuàng)建和使用(復(fù)習(xí)要點(diǎn)) 第三章 表的創(chuàng)建和使用(復(fù)習(xí)要點(diǎn)) 第三章 表的創(chuàng)建和使用 .1 VFP6.0表 1. 表的概念 表(數(shù)據(jù)表): 是指存放在磁盤文件中的一張二維表。(相當(dāng)FoxPro 2.x 版本中的數(shù)據(jù)庫) 自由表:不屬于任何數(shù)據(jù)庫的表。 數(shù)據(jù)庫表:包含在一個(gè)數(shù)據(jù)庫中的表。 表文件名: 表名可以由字母、數(shù)字或下劃線組成,系統(tǒng)自動(dòng)給出的擴(kuò)展名為 .DBF。 備注文件名: 當(dāng)表中有備注型或通用型字段時(shí),系統(tǒng)自動(dòng)

33、生成與所屬數(shù)據(jù)表的表名相同、擴(kuò)展名為:.FPT的文件名。 表結(jié)構(gòu):存儲(chǔ)表記錄的公共結(jié)構(gòu)。(就是指一張表的表頭結(jié)構(gòu),即字段的屬性)。 記錄:表中的一行。它是多個(gè)字段的集合,同一張表的每個(gè)記錄都有相同的字段。 字段:表中的一列。它規(guī)定了數(shù)據(jù)的特征。 關(guān)系型數(shù)據(jù)表的特點(diǎn): (1)每一個(gè)字段不可再分解,也不能有名字相同的字段; (2)每一列中的數(shù)據(jù)都有相同的數(shù)據(jù)類型; (3)表中沒有內(nèi)容完全相同的行(記錄)。 2. 字段的基本屬性 字段的屬性: 包括:字段名、數(shù)據(jù)類型、字段寬度、小數(shù)位數(shù)、空值支持 字段名: 即每個(gè)字段的名字,必須以字母開頭,可由字母、數(shù)字、下劃線組合而成,字母大、小寫無區(qū)別,但其中不

34、許有空格或其它字符。自由表的字段名最多由10個(gè)字符組成,數(shù)據(jù)庫表的字段名支持長(zhǎng)名,最多可達(dá)128個(gè)字符。如果從數(shù)據(jù)庫中移去一個(gè)表,那么此表的長(zhǎng)字段名將被截短成 10 個(gè)字符。 VFP允許長(zhǎng)字段名和長(zhǎng)表名,但使用長(zhǎng)名稱對(duì)于跨平臺(tái)的操作可能遇到難以預(yù)料的結(jié)果。 數(shù)據(jù)類型:指該字段的數(shù)據(jù)特征。 字段寬度:指該字段所能容納數(shù)據(jù)的的最大字節(jié)數(shù)。 小數(shù)位數(shù):指數(shù)值型數(shù)據(jù)將保留幾位小數(shù)。此時(shí)的字段寬度 = 整數(shù)位數(shù)+1+小數(shù)位數(shù)。 NULL 值(空值): 無明確的值。NULL 值不等同于零或空格。一個(gè) NULL 值不能認(rèn)為比某個(gè)值(包括另一個(gè) NULL 值)大或小,相等或不同。 VFP 6.0表中字段的數(shù)據(jù)

35、類型 字段類型代號(hào)說明字段寬度使用示例 字符型C字母、漢字和數(shù)字型文本每個(gè)字符為1個(gè)字節(jié),最多可有 254 個(gè)字符學(xué)生的學(xué)號(hào)或姓名, 8199101 或 李立 貨幣型Y貨幣單位8 個(gè)字節(jié)工資, $1246.89 日期型D包含有年、月和日的數(shù)據(jù)8 個(gè)字節(jié)出生日期, 1980/07/08 日期時(shí)間型T包含有年、月、日、時(shí)、分、秒的數(shù)據(jù)8 個(gè)字節(jié)上班時(shí)間, 2005/02/20 9:15:15 AM 邏輯型L“真”或“假”的布爾值1 個(gè)字節(jié)課程是否為必修課, .T. 或 .F. 數(shù)值型N整數(shù)或小數(shù)在內(nèi)存中占 8 個(gè)字節(jié);在表中占1 至20個(gè)字節(jié)考試成績(jī), 83.5 雙精度型B雙精度浮點(diǎn)數(shù)8 個(gè)字節(jié)實(shí)

36、驗(yàn)要求的高精度數(shù)據(jù) 浮點(diǎn)型F與數(shù)值型一樣 整型I不帶小數(shù)點(diǎn)的數(shù)值4 個(gè)字節(jié)學(xué)生的數(shù)量 通用型GOLE 對(duì)象在表中占 4 個(gè)字節(jié)圖片或聲音 備注型M不定長(zhǎng)度的一段文字在表中占 4 個(gè)字節(jié)學(xué)生簡(jiǎn)歷 字符型(二進(jìn)制)C任意不經(jīng)過代碼頁修改而維護(hù)的字符數(shù)據(jù)每個(gè)字符用1個(gè)字節(jié),最多可有 254 個(gè)字符 備注型(二進(jìn)制)M任意不經(jīng)過代碼頁修改而維護(hù)的備注數(shù)據(jù)在表中占 4 個(gè)字節(jié) 3. 表的基本操作 表的創(chuàng)建:設(shè)計(jì)表名和表結(jié)構(gòu)、輸入記錄、建立索引 數(shù)據(jù)維護(hù):增加記錄、修改記錄、刪除記錄 創(chuàng)建表的主要步驟: 設(shè)計(jì)表結(jié)構(gòu) 輸入記錄 建立索引 數(shù)據(jù)維護(hù) 4關(guān)于表操作的幾個(gè)基本命令 命令格式功能 CREATE 表文

37、件名創(chuàng)建一個(gè)新的自由表的結(jié)構(gòu) USE 表文件名打開指定的表文件 USE關(guān)閉當(dāng)前表文件 LIST ALL顯示當(dāng)前表的全部記錄內(nèi)容(類似于DOS 命令中的dir) DISPLAY ALL分屏式地顯示當(dāng)前表的全部記錄內(nèi)容(類似于DOS中的dir/p) DISPLAY STRUCTURE顯示當(dāng)前表的結(jié)構(gòu)(分屏顯示) LIST STRUCTURE顯示當(dāng)前表的結(jié)構(gòu)(不分屏顯示) MODIFY STRUCTURE調(diào)出表設(shè)計(jì)器,修改當(dāng)前表的結(jié)構(gòu)。 CLEAR清除主窗口中的所有內(nèi)容 注意: (1)必須先打開所需的數(shù)據(jù)表才可進(jìn)行以上操作; (2)當(dāng)帶有命令子句時(shí),只對(duì)指定的記錄進(jìn)行操作; (3)LIST 命令的默

38、認(rèn)范圍是所有記錄,DISPLAY 命令的默認(rèn)范圍是當(dāng)前記錄。 .2 表結(jié)構(gòu)的創(chuàng)建和修改 1. 表結(jié)構(gòu)的創(chuàng)建 創(chuàng)建表結(jié)構(gòu)其實(shí)就是設(shè)計(jì)字段的基本屬性??梢允褂帽碓O(shè)計(jì)器、表向?qū)Щ騍QL命令來創(chuàng)建表結(jié)構(gòu)。 (1)使用表設(shè)計(jì)器創(chuàng)建表 圖例 步驟: 從文件菜單中單擊新建 在新建對(duì)話框中選擇表并單擊新文件 在創(chuàng)建對(duì)話框中給出文件名并確定所需的保存位置 在表設(shè)計(jì)器對(duì)話框中逐個(gè)輸入所需字段(用或鼠標(biāo)換行),全部字段輸入完成后單擊確定。 (2)使用表向?qū)?chuàng)建表 步驟: 從文件菜單中單擊新建 在新建對(duì)話框中選擇表并單擊向?qū)г诒硐驅(qū)е凶龅?步:選取字段,完成后單擊下一步 在表向?qū)е凶龅?a步:選擇數(shù)據(jù)庫,完成后單擊下

39、一步 在表向?qū)е凶龅?步:修改字段設(shè)置,完成后單擊下一步 在表向?qū)е凶龅?步:為表建索引,完成后單擊下一步 在表向?qū)е凶龅?步:完成,選擇表的保存方法,完成后單擊完成 在另存為對(duì)話框中給出文件名并確定所需的保存位置。 注意: 先選擇一個(gè)與待建數(shù)據(jù)表類似的樣表,再從中挑選出所需的部分字段,然后在下一步根據(jù)實(shí)際需要修改或直接采用原字段的寬度。 (3) 使用 CREATE TABLE - SQL命令 該命令的一般格式為: CREATE TABLE |dbf (字段名1 字段類型(字段寬度,小數(shù)位數(shù)),字段名2 字段類型(字段寬度,小數(shù)位數(shù)) 例:CREATE TABLE xscj(xh c(8),x

40、m c(6),xb c(2),;cj n(5,1),ksrq d) 2. 表結(jié)構(gòu)的修改 (1)用表設(shè)計(jì)器修改 用菜單調(diào)出表設(shè)計(jì)器: 打開所需的表文件 單擊顯示菜單中的表設(shè)計(jì)器 在表設(shè)計(jì)器對(duì)話框中對(duì)字段進(jìn)行修改 修改完畢單擊確定并在消息框中選擇是。 用命令調(diào)出表設(shè)計(jì)器: USE MODIFY STRUCTURE (2) 使用 ALTER TABLE - SQL命令 功能命令格式示例 添加字段ALTER TABLE xscj ADD COLUMN kcmc C(14) 重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc 刪除字段ALTER TABLE xs

41、cj DROP COLUMN kc .3 表記錄的處理 1 記錄的輸入 (1) 立即輸入方式: 設(shè)計(jì)好表的結(jié)構(gòu)后,系統(tǒng)會(huì)提示是否直接進(jìn)入數(shù)據(jù)輸入狀態(tài)。若選是,則進(jìn)入編輯窗口,輸完后單擊“X”按鈕退出,系統(tǒng)自動(dòng)存盤。需輸入備注型或通用型字段的數(shù)據(jù)時(shí),雙擊“memo” 或“gen”,在新打開的編輯窗口中輸入所需內(nèi)容,輸完后單擊“X”按鈕系統(tǒng)自動(dòng)存盤,退回到原窗口 ,此時(shí)字段中的“memo” 或“gen”變成“Memo” 或“Gen”。 (2) 追加方式: 若設(shè)計(jì)好表的結(jié)構(gòu)后并沒有及時(shí)輸入數(shù)據(jù),則可以用追加方式: 從文件菜單中(或從命令窗口中輸入:USE 表文件名) 打開所需表文件 從顯示菜單中選擇

42、瀏覽 再從顯示菜單中選擇追加方式 在瀏覽窗口中輸入所需記錄。 不同追加方式適用的場(chǎng)合 追加記錄的方式適用的場(chǎng)合 顯示菜單中的追加方式在現(xiàn)有數(shù)據(jù)表的尾部添加一個(gè)或多個(gè)新記錄 表菜單中的追加新記錄在現(xiàn)有數(shù)據(jù)表的尾部添加一個(gè)新記錄 表菜單中的追加記錄從其它數(shù)據(jù)表中將符合要求(字段名和字段類型相同)的記錄添加在當(dāng)前數(shù)據(jù)表的尾部 APPEND BLANK在當(dāng)前表的末尾自動(dòng)添加一個(gè)或多個(gè)新記錄。相當(dāng)于顯示菜單中的追加方式。有BLANK時(shí)添加一個(gè)空記錄,相當(dāng)于表菜單中的追加新記錄。 APPEND FROM 表文件名 FIELDS 字段名1,字段名2 FOR 條件 從其它數(shù)據(jù)表中將符合要求(字段名和字段類型相

43、同)的記錄添加在當(dāng)前數(shù)據(jù)表的尾部。相當(dāng)于表菜單中的追加記錄。 APPEND FROM 文本文件名 SDF將符合要求的文本文件全部追加在當(dāng)前數(shù)據(jù)表的尾部。 注意:文本內(nèi)容要與表中的字段結(jié)構(gòu)相適應(yīng)。 文件菜單中的導(dǎo)入 將其它類型的文件轉(zhuǎn)換成一個(gè)完整的VFP數(shù)據(jù)表。 (3) 使用INSERT-SQL命令 該命令的一般格式為: INSERT INTO (字段名1,字段名2 ) VALUES (表達(dá)式1,表達(dá)式2 ) 例:INSERT INTO xscj(xh,xm,cj) VALUES (81991001, 張良, 85.5) 2. 記錄的瀏覽 (1) 通過瀏覽窗口 (2) 通過BROWSE 命令 B

44、ROWSE命令用來打開表的瀏覽窗口,可通過不同的子句來實(shí)現(xiàn)對(duì)特定記錄的瀏覽。 VFP命令中的常用子句 1) 范圍子句 子句格式功能 ALL表示對(duì)表文件的全部記錄進(jìn)行操作 NEXT n表示對(duì)從當(dāng)前記錄開始的共n個(gè)記錄進(jìn)行操作, n為正整數(shù) RECORD n指明操作對(duì)象是表文件的第n號(hào)記錄 REST對(duì)從當(dāng)前記錄起到文件結(jié)尾的全部記錄進(jìn)行操作 2) FOR子句 用于指明進(jìn)行操作的條件。 格式: FOR 指明只對(duì)指定范圍中那些符合給定條件的進(jìn)行當(dāng)前操作。 例如: list NEXT 6 FOR cj 85 3) WHILE 子句 也用于指明進(jìn)行操作的條件。 格式: WHILE 例如: list NEX

45、T 6 WHILE cj 85 4) FIELDS 子句 用于指明當(dāng)前的操作涉及到表文件的哪些字段。 格式:BROWSE FIELDS 字段名1,字段名2 例如:BROWSE FIELDS xh,xm,cj 3. 記錄的定位 (1) 系統(tǒng)對(duì)記錄的三個(gè)控制標(biāo)志 記錄開始標(biāo)志:位于第一個(gè)記錄之前。其值用函數(shù)BOF()進(jìn)行測(cè)試。 記錄指針標(biāo)志:指向當(dāng)前記錄。其值用函數(shù)RECNO()進(jìn)行測(cè)試。 記錄結(jié)束標(biāo)志:位于最后一個(gè)記錄之后。其值用函數(shù)EOF()進(jìn)行測(cè)試。 記錄指針可以理解為保存當(dāng)前記錄號(hào)的變量,它的初始值總是1,不可能為0或負(fù)數(shù),最大值是表中記錄總數(shù)+1。 剛打開表時(shí)記錄指針的情況 表中記錄情況

46、BOF()的值RECNO()的值EOF()的值 無記錄.T.1.T. 有記錄.F.1.F. (2)記錄的定位方式 絕對(duì)定位:是指把指針移到指定的位置。 相對(duì)定位: 是指把指針從當(dāng)前位置開始,相對(duì)于當(dāng)前記錄向前或向后移動(dòng)若干個(gè)記錄位置。 條件定位: 是指按一定的條件在整張表或表的某個(gè)指定范圍中查找符合該條件的記錄。 通過菜單進(jìn)行定位 從表菜單中選擇轉(zhuǎn)到記錄:記錄號(hào)實(shí)現(xiàn)絕對(duì)定位 定位 實(shí)現(xiàn)條件定位 通過命令進(jìn)行定位 記錄的定位 命令格式功能備注 絕對(duì)定位GO TOP將記錄指針定位到表文件之首或 GOTO TOP GO BOTTOM將記錄指針定位到表文件之尾或GOTO BOTTOM GO 將記錄指針

47、定位到指定的n號(hào)記錄 相對(duì)定位SKIP 將記錄指針從當(dāng)前記錄向上或向下移動(dòng)n個(gè)n為正值則向下移動(dòng) n為負(fù)值則向上移動(dòng) 無n向下移動(dòng) 1個(gè) 條件定位LOCATE FOR 范圍 按順序搜索表, 直到找到滿足指定條件的第一個(gè)記錄默認(rèn)范圍是所有記錄 4. 記錄的修改和刪除 一張表用非只讀方式打開后,即可通過菜單在瀏覽窗口(或編輯窗口)中或從命令窗口中用命令直接對(duì)其記錄進(jìn)行編輯、修改和刪除。 (1) 菜單方式 修改記錄: 從表菜單中選擇替換字段 在替換字段對(duì)話框中選擇待替換的字段并構(gòu)造出替換表達(dá)式及替換條件 替換。 刪除記錄: 從表菜單中選擇刪除記錄 在刪除對(duì)話框中選擇刪除范圍和刪除條件 單擊刪除按鈕

48、從表菜單中選擇徹底刪除 在消息框中單擊是。 刪除記錄包括兩步: 標(biāo)記要?jiǎng)h除的記錄 和 徹底刪除帶刪除標(biāo)記的記錄 恢復(fù)帶刪除標(biāo)記的記錄: 從表菜單中選擇恢復(fù)記錄 在恢復(fù)記錄對(duì)話框中選擇作用范圍和條件 單擊恢復(fù)記錄按鈕。 (2) SQL命令方式 (表事先可以不打開,適用于編程工作方式) 修改記錄: 用 UPDATE-SQL 命令。 命令格式: UPDATE SET 字段1 = 表達(dá)式1 ,字段2 = 表達(dá)式2 ; WHERE 條件表達(dá)式 例: UPDATE xscj SET cj = cj*1.05 WHERE cj80 刪除記錄: 用 DELETE-SQL 命令。 命令格式: DELETE FR

49、OM WHERE 條件表達(dá)式 例: DELETE FROM xscj WHERE cj60 (3) 在命令窗口中用VFP命令: 命令格式功能備注 插入 INSERT BLANKBEFORE在當(dāng)前表的指定位置上插入一個(gè)空記錄或若干新記錄BLANK :在當(dāng)前記錄后插入一個(gè)空記錄 BEFORE :在當(dāng)前記錄之前插入若干新記錄 修改CHANGE FIELDS 字段名1,F(xiàn)OR 條件 LEDIT REDIT在編輯窗口顯示要修改的字段LEDIT:調(diào)出編輯窗口 REDIT:調(diào)出瀏覽窗口 替換REPLACE 字段名1 WITH 表達(dá)式1 ADDITIVE, 字段名2 WITH 表達(dá)式2ADDITIVE 范圍

50、FOR 條件 把字段值用指定的表達(dá)式進(jìn)行替換。如: 工資單中給某些人長(zhǎng)工資默認(rèn)范圍是當(dāng)前記錄 ADDITIVE:把備注字段的替換內(nèi)容添加在原備注內(nèi)容的后面 刪除 DELETE 范圍 FOR 條件 對(duì)當(dāng)前表中指定范圍內(nèi)滿足條件的記錄加上刪除標(biāo)記 *默認(rèn)范圍是當(dāng)前記錄 PACK MEMODBF將所有帶刪除標(biāo)記的記錄從表中抹去(不能再恢復(fù))DBF:不影響備注文件 MEMO:從備注文件中刪除未使用空間 ZAP刪除當(dāng)前表中所有記錄,只留下表的結(jié)構(gòu)相當(dāng)于 DELETE ALL + PACK 恢復(fù) RECALL 范圍 FOR 條件 取消當(dāng)前表中指定記錄上的刪除標(biāo)記默認(rèn)范圍是當(dāng)前記錄 5. 篩選記錄和字段 (

51、1) 用菜單方式 從表菜單中選擇屬性 在工作區(qū)屬性對(duì)話框中單擊數(shù)據(jù)過濾器框后的按鈕 在表達(dá)式生成器對(duì)話框中構(gòu)造所需的條件表達(dá)式并確定 單擊字段篩選按鈕 在字段篩選器中選擇所需字段并確定 單擊選項(xiàng)按鈕:字段篩選指定的字段 確定。 (2)用命令方式 命令格式: SET FILTER TO 條件表達(dá)式 例: SET FILTER TO xb =男 注意:SQL命令對(duì)記錄的訪問不受此篩選命令的限制。 .4 表的使用 1. 工作區(qū) 工作區(qū): 指用來標(biāo)識(shí)一張打開的表的區(qū)域。一個(gè)工作區(qū)在某一時(shí)刻只能打開一張表,但可以同時(shí)在多個(gè)工作區(qū)打開多張表,一張可以在多個(gè)工作區(qū)中多次被打開。每個(gè)工作區(qū)都有一個(gè)編號(hào)。 表的

52、別名: 在工作區(qū)中打開表時(shí)為該表所定義的名稱??梢宰远x別名,否則系統(tǒng)默認(rèn)就以表名作為別名。若一張表在多個(gè)工作區(qū)中被打開,系統(tǒng)默認(rèn)在表名后依次加_a 、_b。 自定義別名的格式: USE ALIAS 當(dāng)前工作區(qū): 正在使用的工作區(qū)。可以通過“數(shù)據(jù)工作期窗口”或用 SELECT命令把任何一個(gè)工作區(qū)設(shè)置為當(dāng)前工作區(qū)。 SELECT 命令格式: SELECT | 要操作非當(dāng)前工作區(qū)中的表,可以把其它工作區(qū)選為當(dāng)前工作區(qū),或在命令中強(qiáng)行指定工作區(qū)。 命令格式: IN | ALIAS(工作區(qū)號(hào))函數(shù): 測(cè)試指定工作區(qū)中的表的別名,無參數(shù)時(shí)指當(dāng)前工作區(qū)表的別名。 SELECT(別名)函數(shù): 測(cè)試指定別名的

53、表所在的工作區(qū)號(hào),無參數(shù)時(shí)指當(dāng)前工作區(qū)的區(qū)號(hào)。 2. 表的打開和關(guān)閉 打開表的途徑關(guān)閉表的途徑 文件菜單中的打開工具欄上的打開數(shù)據(jù)工作期窗口中關(guān)閉USE 數(shù)據(jù)工作期窗口中打開USE USE IN |CLOSE ALL USE IN USE AGAINCLOSE DATABASECLOSE TABLE USE ALIAS 退出VFP系統(tǒng),則關(guān)閉所有的表 3. 表的獨(dú)占與共享使用 獨(dú)占使用: 一張表只能被一個(gè)用戶打開。VFP6.0在默認(rèn)狀態(tài)以獨(dú)占方式打開。 共享使用: 一張表可以被多個(gè)用戶同時(shí)打開。 系統(tǒng)的默認(rèn)打開方式可以通過工具菜單中的選項(xiàng)來設(shè)置,或 用命令: SET EXCLUSIVE OFF

54、 & 默認(rèn)打開方式為共享 SET EXCLUSIVE ON & 默認(rèn)打開方式為獨(dú)占 或強(qiáng)行打開:USE cj SHARED & 以共享方式打開cj表 USE cj EXCLUSIVE & 以獨(dú)占方式打開cj表 4. 利用緩沖訪問表中的數(shù)據(jù) 數(shù)據(jù)緩沖: 先將對(duì)表記錄的修改存放在緩沖區(qū)中,用戶決定是否用緩沖區(qū)中的數(shù)據(jù)更新表文件。它是VFP6.0在多用戶環(huán)境下用來保護(hù)對(duì)表記錄所做的數(shù)據(jù)更新和數(shù)據(jù)維護(hù)操作的一種技術(shù)。 數(shù)據(jù)緩沖的類型: 記錄緩沖: 當(dāng)記錄指針移動(dòng)或關(guān)閉表時(shí),緩沖區(qū)自動(dòng)更新表中的相應(yīng)記錄。 表緩沖:當(dāng)發(fā)出更新表的命令或關(guān)閉表時(shí)更新表。 緩沖鎖定方式:有兩種:開放式 和 保守式。 .5 表

55、的索引 1. 基本概念 記錄的順序 : 物理順序:即表中記錄的存儲(chǔ)順序。用記錄號(hào)表示。 邏輯順序:表打開后被使用時(shí)記錄的處理順序。 索 引: 指按表文件中某個(gè)關(guān)鍵字段或表達(dá)式建立記錄的邏輯順序。它是由一系列記錄號(hào)組成的一個(gè)列表,提供對(duì)數(shù)據(jù)的快速訪問。索引不改變表中記錄的物理順序。表文件中的記錄被修改或刪除時(shí),索引文件可自動(dòng)更新。 索引關(guān)鍵字(索引表達(dá)式):用來建立索引的一個(gè)字段或字段表達(dá)式。 注意:1)用多個(gè)字段建立索引表達(dá)式時(shí),表達(dá)式的計(jì)算結(jié)果將影響索引的結(jié)果; 2)不同類型字段構(gòu)成一個(gè)表達(dá)式時(shí),必須轉(zhuǎn)換數(shù)據(jù)類型。 索引標(biāo)識(shí)(索引名): 即索引關(guān)鍵字的名稱。必須以下劃線、字母或漢字開頭,且不

56、可超過10個(gè)字。 索引類型:主索引、候選索引、普通索引、唯一索引。 主索引: 組成主索引關(guān)鍵字的字段或表達(dá)式,在表的所有記錄中不能有重復(fù)的值。主索引只適用于數(shù)據(jù)庫表的結(jié)構(gòu)復(fù)合索引中。自由表中不可以建立主索引;數(shù)據(jù)庫中的每個(gè)表可以且只能建立一個(gè)主索引。 候選索引: 在指定的關(guān)鍵字段或表達(dá)式中不允許有重復(fù)值的索引。在數(shù)據(jù)庫表和自由表中均可為每個(gè)表建立多個(gè)候選索引。 普通索引: 也可以決定記錄的處理順序,但是允許字段中出現(xiàn)重復(fù)值。在一個(gè)表中可以加入多個(gè)普通索引。 唯一索引: 參加索引的關(guān)鍵字段或表達(dá)式在表中可以有重復(fù)值,但在索引對(duì)照表中,具有重復(fù)值的記錄僅存儲(chǔ)其中的第一個(gè)。 2. 索引的作用 用途采

57、用的索引類型 排序記錄,以便顯示、查詢或打印使用普通索引、候選索引或主索引 在字段中控制重復(fù)值的輸入并對(duì)記錄排序?qū)?shù)據(jù)庫表使用主索引或候選索引,對(duì)自由表使用候選索引 準(zhǔn)備設(shè)置表關(guān)系依據(jù)表在關(guān)系中所起的作用,使用普通索引、主索引或候選索引 3索引文件的種類 索引文件種類特征關(guān)鍵字?jǐn)?shù)目限制 結(jié)構(gòu)復(fù)合索引文件 .CDX使用和表文件名相同的基本名,隨表的打開自動(dòng)打開??梢钥闯杀斫Y(jié)構(gòu)的一部分。多關(guān)鍵字表達(dá)式,稱為標(biāo)識(shí)。有效表達(dá)式限制在 240 個(gè)字符之內(nèi)。 非結(jié)構(gòu)復(fù)合索引文件 .CDX必須明確地打開,使用和表名不同的基本名。其中不能創(chuàng)建主索引多關(guān)鍵字表達(dá)式,稱為標(biāo)識(shí)。有效表達(dá)式限制在 符之240 個(gè)字內(nèi)

58、。 獨(dú)立索引文件 .IDX必須明確地打開,文件的基本名由用戶定義。一般作為臨時(shí)索引文件。單關(guān)鍵字表達(dá)式。有效表達(dá)式限制在 100 個(gè)字符之內(nèi)。 結(jié)構(gòu)復(fù)合索引文件(擴(kuò)展名為.CDX)的特點(diǎn): .在創(chuàng)建索引標(biāo)識(shí)時(shí)自動(dòng)創(chuàng)建。 .在打開表時(shí)自動(dòng)打開。 .在同一索引文件中能包含多個(gè)排序方案,或索引關(guān)鍵字。 .在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)。 4. 創(chuàng)建結(jié)構(gòu)復(fù)合索引 VFP中創(chuàng)建索引文件有兩種方式:表設(shè)計(jì)器方式和命令方式。 (1)表設(shè)計(jì)器方式 打開表文件 從顯示菜單中選擇表設(shè)計(jì)器 在表設(shè)計(jì)器中單擊索引 輸入索引名并選擇索引類型 選擇索引的方向(按升序或降序排列記錄) 在表達(dá)式框中輸入作為排序依據(jù)的索引關(guān)

59、鍵字 在篩選框中輸入篩選表達(dá)式 單擊確定,完畢。 (2) 命令方式 命令功能 INDEX ON TAG FOR 條件 ASCENDING | DESCENDING CANDIDATE | UNIQUE 用INDEX ON 命令建立一個(gè)索引文件 ALTER TABLE ADD PRIMARY KEY TAG 用SQL命令創(chuàng)建主索引 ALTER TABLE ADD UNIQUE TAG 用SQL命令創(chuàng)建候選索引 注意:1)備注型字段和通用型字段不能作為索引關(guān)鍵字段; 2)不要建立無用的索引,以免降低系統(tǒng)性能; 3)及時(shí)清理已無用索引標(biāo)識(shí),提高系統(tǒng)效率。 4)在復(fù)合索引的多個(gè)索引中,某一時(shí)刻只有一個(gè)

60、索引對(duì)表起作用。 5. 索引的修改和刪除 修改: 打開表設(shè)計(jì)器,在索引對(duì)話框中進(jìn)行所需修改; 或 用命令重新建立一個(gè)相同標(biāo)識(shí)名而索引表達(dá)式不同的索引。 刪除: 打開表設(shè)計(jì)器,在索引對(duì)話框中刪除不需要的索引標(biāo)識(shí)即可; 或 用命令: DELETE TAG ALL | 索引標(biāo)識(shí)1 , 索引標(biāo)識(shí)2 刪除不需要的索引標(biāo)識(shí),ALL表示全部標(biāo)識(shí)。 6. 索引的使用 功能命令格式 打開表的同時(shí)指定主控索引USE ORDER 為已打開的表確定主控索引SET ORDER TO ASCENDING | DESCENDING 搜索某張已建立索引的表FIND 搜索表中首次出現(xiàn)的記錄SEEK SEEK 12072第三章

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論