第三章數(shù)據(jù)表與記錄的操作課件_第1頁
第三章數(shù)據(jù)表與記錄的操作課件_第2頁
第三章數(shù)據(jù)表與記錄的操作課件_第3頁
第三章數(shù)據(jù)表與記錄的操作課件_第4頁
第三章數(shù)據(jù)表與記錄的操作課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、7/25/2022Visual FoxPro 6.0程序設(shè)計1第3章 數(shù)據(jù)表與記錄的操作 3.1 數(shù)據(jù)庫設(shè)計步驟3.2 設(shè)計數(shù)據(jù)表 3.3 記錄基本處理方法 3.4 數(shù)據(jù)分類排序 3.5數(shù)據(jù)的索引 3.6 數(shù)據(jù)的查詢 3.7 數(shù)據(jù)的統(tǒng)計 3.8多工作區(qū)操作 方叉紅捕赦柴妄泳窯遣測囤估旨遇憲姜皇定終沁掉莉汛靡拘聶蟻鄧明諺戒第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/202223. 1 數(shù)據(jù)庫設(shè)計步驟 數(shù)據(jù)庫設(shè)計步驟:確定建立數(shù)據(jù)庫的目的,這有助于確定需要VFP保存哪些信息;第1步:確定需要的表;在明確了建立數(shù)據(jù)庫的目的之后,就可以著手把信息分成獨立的主題。每個主題都可以是數(shù)據(jù)庫中的

2、一個表。第2步:確定所需字段;確定在每個表中保存哪些信息。在表中,每類信息稱為一個字段,瀏覽表時在表中顯示為一列。例如,在Student表中,可以有這樣的字段:“學(xué)號”、“姓名”、“性別”等。第3步:確定關(guān)系;分析每個表,確定一個表中的數(shù)據(jù)和其它表中的數(shù)據(jù)有何關(guān)系。必要時,可以在表中加入字段或創(chuàng)建一個新表來明確關(guān)系。隕能慫峨常瞧坪該描新藕鄧閨匯牽田記鑄匠模咀勞惶鎮(zhèn)涵困鑄掇姬況妒甫第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計33.1.1 數(shù)據(jù)庫表的確定確定數(shù)據(jù)庫表是數(shù)據(jù)庫設(shè)計過程中技巧性最強的一步。應(yīng)注意以下幾個方面的問題: 一個表

3、只保存一個主題的內(nèi)容;同一信息只保存一次,這將減少出錯的可能性; 防止刪除有用信息。以建立Gxglxt數(shù)據(jù)庫中的表為例:Student表和Grade表都與學(xué)生有關(guān),但關(guān)于學(xué)生個人情況的信息保存在Student表中,Grade表中只保存與成績有關(guān)的信息。當(dāng)一個班的學(xué)生畢業(yè)后,可能要刪除這個班級,但不能刪除這個專業(yè),最好的方法是建立一個“專業(yè)(Specialty)”表。艱嘲嫉苯宏作肄蛾疑濾容永咕撕匈銀韭隊鵑皮超邪撞陷咱卞卒邏隅軋噴妮第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計43.1.2 數(shù)據(jù)庫表字段確定 1、碇定表中字段及字段類型表

4、中的字段要以表的主題為中心,與主題無關(guān)的數(shù)據(jù)可放至其它表中。2、使用主關(guān)鍵字段 VFP不允許在主關(guān)鍵字中有重復(fù)值或null值。因此,不能選擇包含有這類值的字段作為主關(guān)鍵字。 返 回馭刃泌擴胰就雁餞牛靜飄遮有售閻昧缺葫腔督跟易例馴荔卵烤酬逮叁株辜第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計53.1.3數(shù)據(jù)庫表間關(guān)系設(shè)定 VFP是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。在每個不同的表中存儲的數(shù)據(jù)之間有一定的關(guān)系。通過在這些表之間定義關(guān)系后,可以利用這些關(guān)系來查找數(shù)據(jù)庫中有關(guān)的信息。 表之間有三種關(guān)系:即一對一關(guān)系、一對多關(guān)系和多對多關(guān)系 在一對一關(guān)

5、系中 如果兩個表的主關(guān)鍵字字段具有相同的意義,以此可建立一對一關(guān)系。 在一對多關(guān)系中要建立這樣的關(guān)系,就要把關(guān)系中“一方”的主關(guān)鍵字字段添加到“多方”的表中。在關(guān)系中,“一方”用主關(guān)鍵字或候選索引關(guān)鍵字,而“多方”使用普通索引關(guān)鍵字。 在多對多關(guān)系中向VFP正確指定關(guān)系之前,需要改變數(shù)據(jù)庫的設(shè)計,即創(chuàng)建第三個表,把多對多關(guān)系分解為二個一對多關(guān)系。這第三個表稱作“紐帶表”,紐帶表可能只包含這兩個表的主關(guān)鍵字,也可能包含其它信息。 浴逸縷糧應(yīng)眾宦個飾耕待戰(zhàn)懲匈拾繳討勢擋撻戀閃酵蔫香紀(jì)蘋幅蒼訖邱卿第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序

6、設(shè)計63.1.4 數(shù)據(jù)字典的作用 數(shù)據(jù)字典(Date Dictionary)是包含數(shù)據(jù)庫中所有表信息的一張表。存儲在數(shù)據(jù)字典中的信息稱之為元數(shù)據(jù)(Metadata),換言之,其記錄關(guān)于數(shù)據(jù)的數(shù)據(jù)。主要存儲以下內(nèi)容:主關(guān)鍵字和候選索引關(guān)鍵字。數(shù)據(jù)庫中表間的永久關(guān)系。長表名和長字段名。各字段的標(biāo)題,日后它們作為標(biāo)題頭顯示在“瀏覽”窗口和表格中。字段的默認值。表單中使用的默認控件類。字段的輸入掩碼和顯示格式。字段級規(guī)則和記錄級規(guī)則。觸發(fā)器。存儲過程。與遠程數(shù)據(jù)源的連接。本地視圖與遠程視圖。對每個字段、表和數(shù)據(jù)庫的注釋。返 回逃遭添賢未捧劫舟枝宣羊疑褲階涉磷慎身旗昌責(zé)搪突翹區(qū)把臂茵飾件么眩第三章數(shù)據(jù)表

7、與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計73. 2 數(shù)據(jù)表的設(shè)計 1、創(chuàng)建數(shù)據(jù)庫 2、將表加入到數(shù)據(jù)庫 要將一個或多個表加入到數(shù)據(jù)庫中時,可以在“項目管理器”中選擇“數(shù)據(jù)”選項卡,再從列表中選擇“數(shù)據(jù)庫”項下的“表”,最后選擇【添加】按鈕。要添加的表必須具備下列條件:該表是一個有效的.DBF文件;項目管理器不允許與數(shù)據(jù)庫中已有的表同名。表不能同時放在另一個數(shù)據(jù)庫中。返 回晰荷之舶鉆炳緞雙大走眺濘彪旦莽你搬請鞍檬羽牡企睡銑淤府揀欄勘胞束第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)

8、計83.2.1 建立表前的準(zhǔn)備 在建立表結(jié)構(gòu)以前,首先應(yīng)該根據(jù)用戶的需求,明確所要創(chuàng)建的表中應(yīng)該包含哪些字段,每個字段的名稱、類型和寬度。創(chuàng)建Gxglxt中的Student(學(xué)生情況)表基本情況應(yīng)包括:學(xué)號、姓名、性別、出生日期、班級、電話等內(nèi)容 。結(jié)構(gòu)如下:祭姿賊鋤吭畜烤漣待喚孵民跨鵑轄瘤敦臃喲滾帶膏忌陋械并四蛻循嘲目定第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計93.2.2 建立表基本結(jié)構(gòu) 使用命令建立表結(jié)構(gòu):格式: CREATE 功能:建立一個表文件。說明:輸入命令后,按Enter鍵,屏幕上會出現(xiàn)“表設(shè)計器”對話框,利用該對

9、話框即可建立表的結(jié)構(gòu)。說明:輸入命令后,按Enter鍵,屏幕上會出現(xiàn)“表設(shè)計器”對話框,利用該對話框即可建立表的結(jié)構(gòu)。若表定義了備注型字段,則同時建立了一個.FPT為擴展名的表備注文件。若在文件名前指定了驅(qū)動器標(biāo)識符,則文件建立在指定的驅(qū)動器上,否則建立在當(dāng)前驅(qū)動器上。不指定文件擴展名時,缺省擴展名為.DBF。傣天萊貨湍犯祟批緩終谷軌煙跨揣筷萎魄洼僳氈杭廢危犬曳舉硯縮助杏相第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計103.2.3 表結(jié)構(gòu)的基本處理方法 功能:顯示當(dāng)前表結(jié)構(gòu)的有關(guān)信息。包括表文件名、記錄個數(shù)、最后一次修改日期、各字

10、段的字段號、字段名、類型、寬度和小數(shù)位,一條記錄的字節(jié)總數(shù)。1、顯示表結(jié)構(gòu)格式一:LIST STRUCTURE TO PRINTERPROMPT /TO FILE格式二: DISPLAY STRUCTURE TO PRINTERPROMPT /TO FILE著糜含館搶搔爹攘堂諜礬蠟或皖隨釁摳奸壯撾遠勝詛沛慧故儈嘛襖蠱科逐第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計112、 修改表文件的結(jié)構(gòu)格式:MODIFY STRUCTURE功能:顯示表設(shè)計器,修改當(dāng)前表文件的結(jié)構(gòu)。(1)、刪除字段 第一步:將光標(biāo)移到要刪字段的任一位置或單擊該字

11、段的任意位置;第二步:按Ctrl+D刪除該字段或單擊【刪除】命令按鈕;(2)、插入新字段 第一步:將光標(biāo)移到要插入字段的下一行的任一位置第二步:按Ctrl+I或單擊【插入】按鈕,便可插入一個新的空字段。(3)、修改字段名、寬度、類型和小數(shù)位 將光標(biāo)移到要修改處直接進行修改。按Ctrl+W或單擊【確定】按鈕存盤,返回命令窗口。 畝視神叫絨顫妹沸件紐哪百低蕪置囪喉溺怠慈哄焰托杰舵撐姻蔣甫臘翅歐第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計123、復(fù)制表結(jié)構(gòu) 格式:COPY STRUCTURE TO FIELDS 功能:將當(dāng)前打開的表文件

12、結(jié)構(gòu)的部分或全部復(fù)制為所指定的一個表的結(jié)構(gòu)。 4、將表結(jié)構(gòu)文件還原成表結(jié)構(gòu) 格式:CREATE FROM 功能:將表結(jié)構(gòu)文件還原成為普通表文件。新建的表文件是一個只有結(jié)構(gòu)部分而沒有記錄的表結(jié)構(gòu)框架。圃銻疑窘蠅祥藕臆喘畝諱柿旅濃曲階焚凡相襄鵑面醋腮逢丙肪震用趕詠貼第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計133.3.1 表的打開與關(guān)閉 使用任何一個表以前,都必須首先打開表。 格式:USE EXCLUSIVE SHARED功能:打開指定的表文件。參數(shù)描述:指定要打開的表的名稱。EXCLUSIVE:在網(wǎng)絡(luò)上以獨占的方式打開表。SHAR

13、ED:在網(wǎng)絡(luò)上以共享的方式打開表。打開表時若表含有備注型字段,則FPT文件也同時被打開。每個表被打開時均賦于一個別名。若省略ALIAS,則其別名與主文件名相同。若不選擇任何參數(shù),表示關(guān)閉當(dāng)前工作區(qū)中已打開的表。在任一時刻,每個工作區(qū)最多允許打開一個表。如果指定工作區(qū)已有表打開,在打開新的表時,系統(tǒng)總是先自動關(guān)閉原來打3.3 記錄基本處理方法 洗蛆翅閹鵑乙各劊嗚禹悅礦世蝗祿學(xué)艙矚斑嚴(yán)肇惹氯三道徒吏比銹昏廊拽第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計14打開的表。打開表時,記錄指針指向第一條記錄。 3.3.2 錄入記錄 表的數(shù)據(jù)錄入

14、有多種方法:第一種方法是在表結(jié)構(gòu)建立時錄入數(shù)據(jù);第二種方法是在表結(jié)構(gòu)建成并存盤關(guān)閉了“表設(shè)計器”之后,利用命令向表中追加記錄。 格式:APPEND BLANK 參數(shù)描述:BLANK:在當(dāng)前表的末尾添加一條空記錄。 功能:在表的末尾添加一個或多個新記錄。返 回針邏擲螢團涌錫練探滑龐拾龐辰咯逞怯眠蛀半賃疲般暑亥豹凋鈉導(dǎo)等棺剔第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計15打開瀏覽窗口后通過追加方式添加記錄方法:在項目管理器中選定一個要添加記錄的表,然后單擊【瀏覽】,然后在系統(tǒng)菜單中選擇【顯示】|【追加方式】。添加記錄的數(shù)據(jù)返 回荒潭蔫

15、葷幌縮周俄雍崩炳垮哀胚奄乞掙蛙濁夾謂休粉料稻披琶燃座甘冠葬第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計163.3.3 記錄指針定位 記錄定位就是將記錄指針移到指定的記錄上,記錄指針指向的記錄稱為當(dāng)前記錄。VFP提供了下列絕對定位和相對定位兩類命令。1、記錄指針的絕對定位 格式一:GOTO RECORD /TOP/BOTTOM 格式二:GO RECORD /TOP/BOTTOM格式三: 功能:將記錄指針直接定位到指定的記錄上。參數(shù)描述:指定一個物理記錄號,記錄指針移至該記錄上。TOP:將記錄指針定位在表的第一個記錄上。 BOTTOM

16、:將記錄指針定位在表的最后一個記錄上。枕乍砸煙忠奇鋒牌嗓叛藏階簧繩蛤話凱棠寺勤貓阿畜垂另銑稱閃妹賢語供第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計172、記錄指針的相對定位 相對定位與當(dāng)前記錄有關(guān),它是把記錄指針從當(dāng)前位置作相對移動。 格式:SKIP 功能:將記錄指針向前或向后作相對若干條記錄的移動。參數(shù)描述:指定記錄指針作相對移動的記錄數(shù)據(jù)。說明:1、移動的記錄數(shù)等于的值,其值為正數(shù)時,記錄指針向下移動,當(dāng)是負數(shù)時,記錄指針向上移動。2、省略選擇項,約定為向下移動一條記錄,即SKIP 等價于SKIP 1。 返 回浩莖卑碳流餅薔紋

17、寂徘敞昌穆詠片娃癢吻膿富承偽巨偉繞斷伙氨僥培呵途第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計183.3.4 在表中插入記錄 1、INSRET命令 格式:INSERT BLANK BEFORE 功能:在當(dāng)前記錄之前或之后插入一條或多條新記錄。參數(shù)描述:選擇BEFORE子句,新記錄插在當(dāng)前記錄之前,當(dāng)前記錄和其后的記錄向后順序移動;否則插在當(dāng)前記錄之后,當(dāng)前記錄之后的記錄順序向后移動。選擇BLANK子句,則插入一條空記錄。 紡掂坡曳逗賈減銳儒貪侄盡宰朝旁搬纖座抹雀坯艦?zāi)室葏菭N陶禁礙吸轟疼第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作

18、7/25/2022Visual FoxPro 6.0程序設(shè)計192、INSERTSQL命令 格式一:INSERT INTO ( ,) VALUES (,)格式二:INSERT INTO FROM ARRAY / FROM MEMVAR 功能:在表尾追加一個包含指定字段值的記錄。 參數(shù)描述:指定要追加記錄的表文件名。中可以包含路徑,也可以是一個名稱表達式。 ( ,):指定要插入值的字段名。VALUES (,):新插入記錄的字段值。FROM ARRAY :指定一個數(shù)組,數(shù)組中的數(shù)據(jù)將被插入到新記錄中。 FROM MEMVAR:把內(nèi)存變量的內(nèi)容插入到與它同名的字段中。說明: 很向在窖堤喪恿錳踢匡綠狀

19、儲茁架組搞熙漱寞駒欄越策山嘿襟惦手熙甥趕第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計20INSERT INTO Student(學(xué)號,姓名,性別,出生日期,班級,宿舍,;電話) VALUES(99045002,張中強,男,1980/03/22,;99電子,3-311,2356306) 3、從另一個表中成批追加記錄 格式:APPEND FROM /? FIELDS FOR 功能:從一個表中讀入記錄,追加到當(dāng)前表的尾部。參數(shù)描述:指定要向當(dāng)前表中追加記錄的數(shù)據(jù)源。 :顯示“打開”對話框,從中選擇從哪個表中讀入數(shù)據(jù)。FIELDS :指定

20、添加哪些字段數(shù)據(jù)。FOR :為當(dāng)前選定表中每一條為“真”的記錄追加新記錄,直至達到當(dāng)前選定表的末尾。如果省略FOR子句,則整個源文件記錄都追加到當(dāng)前表中。返 回妙巡秦袖抖明插混摯廷灸美棄龔官牌僅為麥播糜聯(lián)慷網(wǎng)機戰(zhàn)覆氮較容藉彌第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計213.3.5 顯示表中的記錄 格式一:LIST OFF FIELDS FOR WHILE TO PRINTER PROMPT / TO FILE 格式二:DISPLAY OFF FIELDS FOR WHILE TO PRINTER PROMPT / TO FILE

21、 功能:顯示當(dāng)前表中的全部或部分記錄和數(shù)據(jù)。參數(shù)描述:OFF:使用OFF時,不顯示記錄號,否則顯示記錄號。:范圍為可選項,選擇時為ALL、RECORD(N)、 NEXT(N)、REST中的一個參數(shù),表示記錄顯示的范圍。FIELDS :若省略,則顯示當(dāng)前表中的所有字段,否則顯示指定的字段。如果備注字段名出現(xiàn)在中,則它的內(nèi)容按50個字符列寬顯示, 拴飄殖建橫娘彰綻婦屑啥動相吸喝惕豺瀾守吱閏庇駛餌偶瀝粘醞鄖凈撩敘第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計22FOR/WHILE:該子句用于有選擇地顯示某些記錄,省略時則顯示限定的全部記錄

22、。 TO PRINTER PROMPT / TO FILE :指定記錄列表的輸出方向。TO PRINTER PROMPT指定輸出到打印機。PROMPT參數(shù)的使用方法同前。TO FILE 指定輸出到所指定的文本文件中。 LIST和DISPLAY的區(qū)別:(1)DISPLAY每顯示一屏記錄時暫停一次,按任意鍵后繼續(xù)顯示剩余的記錄,而LIST沒有周期性暫停,連續(xù)向下顯示,直到記錄顯示完畢為止。(2)若省略所有可選項,則DISPLAY命令顯示當(dāng)前記錄,即范圍為NEXT 1,而LIST命令顯示全部記錄,即范圍為ALL。 返 回卒惜州售藉贖奮孟拈利總瘍柱糠貫篩背器抹蚌褥順漠換振梧鎮(zhèn)揖曾矗荷哭第三章數(shù)據(jù)表與記

23、錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計233.3.6 修改表中的記錄 1、全屏幕編輯命令(1)利用菜單瀏覽和修改表中的數(shù)據(jù) 第一步:在項目管理器中選擇【數(shù)據(jù)】選項卡第二步:在數(shù)據(jù)庫中選擇一個表第三步:單擊項目管理器中的【瀏覽】按鈕橙威持濁窩講蹤巾詩寄喳疾椒白筑剎潰椽闌訪銥隕倪交墻井儲銅叢署迫描第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計24VFP系統(tǒng)打開全屏幕瀏覽窗口第四步:在瀏覽窗口中修改數(shù)據(jù)記錄標(biāo)志位當(dāng)前記錄標(biāo)志刪除標(biāo)志位關(guān)閉按鈕第五步:修改結(jié)束后單擊關(guān)閉按鈕關(guān)閉瀏覽窗口在

24、瀏覽窗口中可以去除、恢復(fù)垂直分隔線,也可以改變字段的顯示寬度。 爺晰哦瑯扎呢斌樞鑿宗尚睬稽醉嚷惺爺潑悅溫渣拱漠扯育診令疵陳試褂沃第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計25(2)利用命令瀏覽和修改表中的數(shù)據(jù) 格式:BROWSE FIELDS LOCK LAST FOR 功能:在屏幕上打開一個瀏覽窗口,在窗口中顯示表的記錄。參數(shù)描述: Fields: 指定在瀏覽窗口中顯示的表的字段。LOCK :將瀏覽窗口一分為二,指定在左窗口中顯示的字段數(shù)。LAST:按最后一次關(guān)閉瀏覽窗口的方式打開瀏覽窗口。FOR :指定在瀏覽窗口中顯示的記錄

25、所要求滿足的條件。說明:1、BROWSE命令可以帶有很多任選項,命令格式中只介紹了BROWSE命令的最基本的任選項。 撣汪冀臥周瓦忽援予蹤聾埃輩輝檀疵高吧萊宰概異程潮卵釋騙擋蹭噎岸驗第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計262、記錄值替換命令 格式:REPLACE ADDITIVE , WITH ADDITIVE FOR WHILE 功能:不進入全屏幕編輯方式,根據(jù)命令中指定的條件和范圍,用表達式的值去更新指定字段的內(nèi)容。 參數(shù)描述: 指定要替換值的字段。WITH :指定用來進行替換的表達式或值。:指定進行替換時的記錄范圍。

26、FOR :指定要進行替換字段值的記錄應(yīng)滿足的條件。WHILE :當(dāng)記錄的條件不滿足時結(jié)束替換。用以按條件中的字段建立了索引的表。說明:WITH后面的表達式的類型必須與WITH前面的字段類型一致 。返 回吶綸油歪儀坤吵罩倡巢泡楔娘距介訖弄燴拔稽吸犬酞綢匣賓締貴悄腸揣僵第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計273.3.7 刪除記錄 在VFP中刪除記錄是分為兩步來進行的,第一步是將要刪除的記錄做上刪除標(biāo)記,第二步才是將記錄真正從表是徹底刪除。1、邏輯刪除(為記錄做上刪除標(biāo)記) 格式:DELETE FOR WHILE 功能:對當(dāng)前表

27、文件中指定的記錄做刪除標(biāo)記。GO 7DELETEGO 4DELETE NEXT 3 LIST執(zhí)行上述命令后屏幕顯示結(jié)果:疑謾愿期勛樂斑舊托馭洼陰儀竄賴毅梢緩權(quán)找躺嘗罐吟稗鉀痘敬琴敵跌港第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計282、物理刪除(清除帶有刪除標(biāo)記的記錄) 格式:PACK DBF MEMO 功能:省略選擇項,該命令將從當(dāng)前表中刪除所有帶刪除標(biāo)記的記錄。選擇DBF,表示僅清除邏輯刪除的記錄而不壓縮備注文件,選擇MEMO表示僅壓縮備注文件中無用的空間而不清除被邏輯刪除的記錄。不帶任何選擇項時,PACK命令既清除邏輯刪除的

28、記錄,又壓縮備注文件。說明:用PACK命令刪除的記錄是不可被恢復(fù)的。所以在使用PACK命令前一定要檢查刪除標(biāo)記是否加的正確。 例:PACKLIST執(zhí)行上述命令后屏幕顯示的結(jié)果:注意:在進行這一步操作前先備份數(shù)據(jù)廣障京羞潑澆騎實瞥涉踴帕定恕炙離柑嫌搪碰艷彪榨社睜猙煌帖頓技寬太第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計293、 恢復(fù)帶刪除標(biāo)記的記錄 格式:RECALL FOR WHILE 功能:恢復(fù)當(dāng)前表中帶刪除標(biāo)記的記錄,即去掉刪除標(biāo)記“*”號。當(dāng)省略所有的選項時,僅恢復(fù)當(dāng)前記錄。(先從備份的數(shù)據(jù)中恢復(fù)Student表中的數(shù)據(jù))

29、RECALL ALLBROW執(zhí)行上述命令后屏幕顯示的結(jié)果4、 清除所有記錄 格式:ZAP 功能:從當(dāng)前表中清除全部記錄,僅保留表的結(jié)構(gòu)。ZAP命令與DELETE ALL 和PACK兩條命令執(zhí)行的結(jié)果相同,區(qū)別在于ZAP執(zhí)行的速度更快,當(dāng)表中的記錄很多時尤為明顯。 返 回衷唱鉑某叔愿圭垃六播耐溺晚揩備模征雅鐘隧跨褐仆糖煩宜瓦認繃徑頹肚第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計303.4 數(shù)據(jù)分類排序分類:將關(guān)鍵字段值相同的記錄按順序存放在一起,生成一個新的表文件。格式:SORT TO ON /A | /D /C , /A | /D

30、 /C . ASCENDING|DESCENDING FOR WHILE FIELDS 功能:對當(dāng)前選定的表排序,并將排序后的記錄輸出到新表中。參數(shù)描述:指定經(jīng)過排序后所生成的新表的表文件名。 ON :在當(dāng)前選定的、要排序的表中指定關(guān)鍵字段,字段的內(nèi)容和數(shù)據(jù)類型決定了記錄在新表中的順序。 /A | /D /C:指定排序順序(升序或降序)。/A指定為按升序排序,/D指定按降序排序。如果在字符型字段名后面包含/C,則忽略大小寫??梢园?C選項與/A或/D選項組合起來。返 回閣祭裕遏垢淑給泛貸燥駿換祭桔誹猖邱踞賭冒秉趕榜猾丟店鎂卑洽弊試剃第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/20

31、22Visual FoxPro 6.0程序設(shè)計31ASCENDING:將所有不帶/D的字段指定為升序排列。DESCENDING:將所有不帶/A的字段指定為降序排列。如果省略ASCENDING 和DESCENDING參數(shù),則排序默認為升序。:指定需要排序記錄的范圍。默認范圍為ALL。FOR :在當(dāng)前表中指定排序中只包含邏輯條件為“真”的記錄。 WHILE :指定一個條件,在當(dāng)前表中只要的計算值為“真”,則依據(jù)此條件,排序中包含這條記錄。FIELDS :指定用SORT命令排序時所創(chuàng)建的新表中要包含的原表中的字段。如果省略FIELDS子句,新表中將包含原表中的所有字段。忿讀竅沖媽锨央核卜簍交暮巡鈔決

32、孟荷悸鎖倪啄間內(nèi)柬妥派恥劉掉吶歷菊第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計323.5 數(shù)據(jù)的索引 索引文件有二種,單索引文件和復(fù)合索引文件,而復(fù)合索引文件又可分為結(jié)構(gòu)復(fù)合索引文件和非結(jié)構(gòu)復(fù)合索引文件兩種。VFP對結(jié)構(gòu)復(fù)合索引文件提供了四種類型:主索引、候選索引、唯一索引和普通索引 。主索引是指關(guān)鍵字段或索引表達式中不允許出現(xiàn)重復(fù)值的索引,主要用于主表或被引用的表,用來在一個永久關(guān)系中建立參照完整性。一個表而言,只能創(chuàng)建一個主索引。 候選索引是可以作主關(guān)鍵字的索引,因為它不包含Null值或重復(fù)值。在數(shù)據(jù)表和自由表中均可以為每個表

33、建立多個候選索引。唯一索引不允許兩個索引具有相同的索引值,這種要求與主索引相同。為了保持與早期版本的兼容性,可以建立一個唯一索引,以指定字段的首次出現(xiàn)值為基礎(chǔ),選定一組記錄,并對記錄進行排序。普通索引可以用來對記錄排序和搜索記錄,它不強迫記錄中的數(shù)據(jù)具有唯一性。在一個表中可以有多個普通索引。 航肚明維屜躇詛蔚一筷喀累扒疙拉亥辯戀瞞斤亞碳葡月到沫曝返右困貼特第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計331、單索引文件的建立 格式:INDEX ON TO UNIQUE FOR ADDITIVE 功能:對當(dāng)前表中滿足條件的記錄,按的值

34、建立一個索引文件,并打開此索引文件,其缺省的文件擴展名為.IDX。參數(shù)描述: 用以指定記錄重新排序的字段或表達式。3.5.1 建立索引可以是字段名,也可以是含有當(dāng)前表中字段的合法表達式。UNIQUE:指定UNIPUE子句時,若有多條記錄的的值相同時,則只把第一次遇到的記錄進行排序加入到索引文件中.扭遠接晰罩貯將殘滅雙痊蒙貧靳墓呆汰我氫百浦俘紗雨邁求賀著盼尸疙玲第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計342、復(fù)合索引文件的建立復(fù)合索引文件是由索引標(biāo)記組成的,每個復(fù)合索引文件可包含多個索引標(biāo)記,每個索引標(biāo)記都有標(biāo)記名,一個索引標(biāo)記

35、相當(dāng)于一個單索引文件。 格式:INDEX ON TAG OF FOR ASCENDING | DESCENDING UNIQUE功能:建立和修改復(fù)合索引文件,并打開此索引文件,其缺省的文件擴展名為.CDX。 參數(shù)描述:、FOR 、ADDITIVE:與上相同。TAG OF :創(chuàng)建一個復(fù)合索引文件。在TAG 參數(shù)中不包含可選的OF 子句時,便可以創(chuàng)建結(jié)構(gòu)復(fù)合索引文件。 摟捍居針穴皮招下皆泌朔痊堵磚濱挎迪拋鍺流蛛輩謗攏私無筋暗廉猖騎硒第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計35如果在TAG 參數(shù)后包含可選項OF 子句,則可以創(chuàng)建非結(jié)

36、構(gòu)復(fù)合索引文件。 ASCENDING | DESCENDING:ASCENDING 指定復(fù)合索引文件為升序,這是默認值。DESCENDING 指定復(fù)合索引文件為降序。UNIQUE:對于一個索引關(guān)鍵值,只有第一個滿足該值的記錄包含在.IDX文件或.CDX標(biāo)識中。利用UNIQUE子句可以避免顯示或訪問記錄的重復(fù)值。 祟郵狀類湊嬸肥炒欲厘靛讕鎂奠壬經(jīng)鮑貿(mào)雹蓖營砰東啊癟促粒宣雷者遲測第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計363.5.2 使用索引 1、打開索引文件 (1)在打開表時打開索引文件復(fù)合索引文件在打開表時將自動被打開。格式:

37、USE INDEX ORDER / /TAG OF ASCENDING/ DESCENDING 功能:打開指定的表,并且打開由指定的所有索引文件。說明:雖然可以同時打開多個索引文件,但同一時間只能有一個單索引文件或是復(fù)合索引文件中的一個索引標(biāo)識作為主控索引,記錄的操作和顯示由主控索引來控制。費舀掙扼憎眩杠的滑伍借恕加咸才考憋寢郭帛碩誦逢侮林鈞鴉舊旭吻瘁醒第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計372)在ORDER子句中也可以使用單索引文件名、索引標(biāo)記或數(shù)值表達式來規(guī)定主控索引。如:使用ORDER 則規(guī)定一個單索引文件作為主控索

38、引。3)使用ORDER TAG OF 規(guī)定一個子索引文件作為主控索引,ORDER子句中的索引可以是結(jié)構(gòu)復(fù)合索引文件中的索引標(biāo)記,也可以是已經(jīng)打開的非結(jié)構(gòu)復(fù)合索引文件中的索引標(biāo)記。4)使用ORDER 規(guī)定主控索引的序號,根據(jù)序號來確定主控索引文件。(2) 在打開表后打開索引文件格式:SET INDEX TO /? ORDER /TAG OF ASCENDING/DESCENDING功能:打開指定的索引文件或關(guān)閉索引文件。省略所有選項為關(guān)閉當(dāng)前工作區(qū)中除結(jié)構(gòu)復(fù)合索引文件外的所有索引文件。旁琢參德糙勃渤幸曉靶吧凌卯雅遁薄臘州信望痢遠腹聚狽澀式錨車喻涉非第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作

39、7/25/2022Visual FoxPro 6.0程序設(shè)計382、設(shè)置主控索引 如果在打開索引文件時未指定主控索引,打開索引文件之后需要指定主控索引,或者希望改變主控索引,可使用下面的命令。 格式:SET ORDER TO /TAG OF ASCENDING/DESCEN-DING 功能:在打開的索引文件中指定主控索引。痞瑣赴團害并牡諾系謹鎊漿黍譜捻堅邢石撬吏母億刮求肅瞪闌擂陶沽犬鈾第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計393、索引文件的重建或更新當(dāng)表中的記錄當(dāng)生變化時,如果未打開索引文件,索引文件(結(jié)構(gòu)復(fù)合索引文件除外)

40、不會自動更新,要更新這些索引文件,可用下列命令: 格式:REINDEX 功能:重建當(dāng)前打開的所有索引文件。返 回湍袱婆煽刑黎插硬穢燥縮灰場立甫好酒玉涸技表腮愚渠衰纏功物翅衷舟崇第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計403.6 記錄的查詢 4.3.1 直接查詢命令 返 回退 出4.3.2 快速查詢命令 4.3.3 對話查詢 筏窟眩棗沮旭毫噬朗獎拙淳喪巫情狡腆物瑚遁悼擒忽歧毖笛擊勿淵膘豪底第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計413.6.1 直接查詢命令 直接

41、查詢也叫順序查詢,是按照記錄的物理順序逐個比較,逐個查詢。1、LOCATE命令 格式:LOCATE FOR WHILE 功能:按順序搜索表,從而找到滿足指定邏輯表達式的第一個記錄。2、CONTINUE命令 格式:CONTINUE 功能:它使LOCATE命令從當(dāng)前記錄開始繼續(xù)查找下一條滿足條件的記錄。浩燈瓊沸燴策蝸蹭茫濃深措傣氈勇儈貳抉偉兜桔關(guān)藥橙翱擠夕帳渙穢譽薩第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計423.6.2 快速查詢命令 VFP提供了快速查詢命令:FIND1、FIND命令: 格式:FIND / 功能:它在已經(jīng)建立索引并

42、且表文件和索引文件均已打開的表中查找索引關(guān)鍵值與指定的字符串或數(shù)值型常量相匹配的第一條記錄。如果找到,則把記錄指針指向該記錄,并且將FOUND()函數(shù)的值置為“真”;如果沒有找到與其相符的記錄,則將記錄指針指向表的末尾,且將FOUND()函數(shù)的值置為“假”,將EOF()函數(shù)的值置為“真”。 脊絡(luò)蕩站銥停妊裕行墩碑篆饞迫游攪凹悔攘豁俊刻減諺欄夷薛影豪識裳濫第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計433.7 數(shù)據(jù)的統(tǒng)計 3.7.1 求記錄個數(shù)的命令 3.7.2 求和命令 3.7.3 求平均值命令 啄敖咕撈沽罰斡斜岔蹤鰓涅垃郊圣否渠

43、明佑奴啞段域厘男額碾韋瑩袁肢喜第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計443.7.1 求記錄個數(shù)的命令 格式:COUNT FOR WHILE TO 功能:統(tǒng)計當(dāng)前表中指定范圍內(nèi)滿足條件的記錄個數(shù),并存于中。返 回3.7.2 求和命令 格式:SUM FOR WHILE TO 功能:對當(dāng)前表中指定范圍內(nèi)滿足條件的數(shù)值型字段或是由字段組成的數(shù)值型表達式累加求和,并把結(jié)果存放在對應(yīng)的標(biāo)識的變量中。犢靈饞灰霍系肖燦騰媳勇誡故彪汕墊塞頰儡速篙跑霸桂懊爛桔柬綜炮蟻芋第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visua

44、l FoxPro 6.0程序設(shè)計453.7.3 求平均值命令 格式:AVERAGE FOR WHILE TO 功能:對當(dāng)前表中指定范圍內(nèi)滿足條件的記錄的數(shù)值型字段求算術(shù)平均值,并把結(jié)果存入中或存入指定的數(shù)組中。返 回違蕊萄川詹址秀廂覆蝦伴俐飾畦腸蹄蕪愈掌蔥咕廉失盎茵淚疼引哨斗章最第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計463.8 多工作區(qū)操作 3.8.1 工作區(qū)與多個表 3.8.2 表的關(guān)聯(lián) 賂卯佯晚不搬膠劫眉愿勝賺硝祭隔啟秸似球壟簇墑潛擅褐無洛干郝進徘潛第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Vis

45、ual FoxPro 6.0程序設(shè)計473.8.1 工作區(qū)與多個表 1、工作區(qū)號與別名 VFP6提供了多達32767個工作區(qū),每個工作區(qū)都有一個工作區(qū)號,分別用132767表示,其工作區(qū)110還分別對應(yīng)有別名AJ。 每個打開的表也都有一個別名,當(dāng)用命令USE 打開表時,系統(tǒng)默認的表的別名就是該表的主文件名。如果在打開表時,在USE命令后面使用了ALIAS參數(shù)指定了表的別名,則可為表另外起一個別名,這時的表文件名就不再是表的別名。 打開表親為表指定一個別名命令:USE ALIAS IN 工作區(qū)號/工作區(qū)別名/表別名功能:在指定的工作區(qū)打開指定的表文件,并為該表文件起一個別名。若省略可選項時,系統(tǒng)將取表的主文件名作為該表文件的別名,并且是在當(dāng)前工作區(qū)中打開表文件。汰娟蛆佰陽撣勒袍胡廁釣臨礁檔囊免咨燙序慰怒兄錢扳繡首靳膘髓亮徐淳第三章數(shù)據(jù)表與記錄的操作第三章數(shù)據(jù)表與記錄的操作7/25/2022Visual FoxPro 6.0程序設(shè)計482、工作區(qū)的選擇與多表文件的打

溫馨提示

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

評論

0/150

提交評論