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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論