




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第7章 記錄的定位與查詢7.1 7.1 記錄的定位概念記錄的定位概念無條件記錄定位:goto skip有條件記錄定位:直接(順序)定位和索引(快速)定位 定位命令僅僅是對記錄指針進行定位的一種操作,它并不能顯示定位的記錄內容。如要顯示,則需要使用并且只能使用Display命令。 7.2 7.2 順序順序( (直接直接) )定位定位 所謂順序定位是指在表中從第一條記錄開始,按照順序搜索表,把記錄指針定位在滿足條件的第一條記錄上。 順序定位適合于復雜條件或小型表的定位。命令格式:1)找首條: Locate For 范圍2)找后續(xù)(繼續(xù)查詢): Continue &按照Locate指定的條件繼續(xù)定位
2、下一條記錄參數說明: Locate是直接在表文件(不需要對表進行排序或索引)中,按照范圍、For從表文件的頭至尾順序來定位符合條件的第一條記錄。如果存在多條滿足For的記錄,可以使用Continue命令繼續(xù)定位下一條記錄。 Continue命令的作用是從當前相匹配記錄的下一條記錄位置開始,繼續(xù)執(zhí)行由Locate命令指定的范圍、滿足條件的下一條記錄的定位操作。Continue只能和Locate配套使用,不能單獨使用。 如果Locate命令定位成功,即在當前表中找到了一條與條件相匹配的記錄,就將記錄指針指向該條記錄。這時,Found()函數返回邏輯真.T.,Eof()函數返回邏輯假.F.。Recn
3、o()函數返回相匹配記錄的記錄號。 如果Locate命令定位不成功,即在當前表中沒有找到任何一條與條件相匹配的記錄,則Found()函數返回邏輯假.F.,Eof()函數返回邏輯真.T,Recno()函數返回Recc()+1的值。 Locate 命令支持模糊查詢,也就是說,只要知道查詢數據的部分內容時(主要指字符型數據)就可以進行查詢,實現模糊查詢要用到包含函數$。例:在學生擋案表.Dbf表中,定位顯示班級為“99212”并 且籍貫為“浙江”的記錄。 Use 學生擋案表 Locate For 班級=”99212”.And.籍貫=”浙江” Display &顯示第一條滿足條件的記錄 ? Found
4、() &返回邏輯真.T. ? Eof() &返回邏輯假.F Continue Display &無記錄顯示 ? Found() &返回邏輯假.F. ? Eof() &返回邏輯真.T Use例:在學生擋案表.Dbf表中,定位計算機系99級或98級并且年齡小于20的學生。注:學號的第一、二位表示年級,第三位為“2”的表示計算機系。 Use 學生擋案表 Locate For (Subs(學號,1,3)=”992” .Or. Subs(學號,1,3)=”982”).And.年齡20 ?Found() &如Found()函數為.T. ?Eof() & Eof()的結果是什么? Display &是否有記
5、錄顯示? Continue &繼續(xù)定位下一個記錄,如果不用 Continue而用Locate For (Subs(學號,1,3)=”992”.Or.Subs(學號,1,3)=”982”).And.年齡23,其結果會如何? ?Found() & Found()函數為.F說明什么? ?Eof() & Eof()的結果是什么?例: 在學生擋案表.Dbf表中,查找姓“王”的學生。 Use 學生擋案表 Locate For Subs(姓名,1,2)=”王” &如果用Locate For 王$姓名可能會產生什么問題? Display &顯示查詢結果 Continue &繼續(xù)定位查詢下一個記錄 ?Found
6、() & Found()函數為.T. Display &顯示第二條”王”姓記錄 Continue &“End Of Locate Scope”顯示定位結束 ?Eof() & Eof()函數為.T.7.3 7.3 索引定位索引定位 索引定位是一種快速定位記錄的方法,利用索引定位將明顯提高查詢效率,適用于大型表的查詢。 它要求數據表文件的記錄是有序的,所以,事先必須對數據表文件進行索引,而且要求查詢內容所在的字段或表達式必須是索引文件的索引關鍵字段或表達式。 (查什么按什么索引) 索引定位有兩種命令格式:索引定位有兩種命令格式:格式一:Seek 格式二:Find 1.FIND1.FIND命令命令(
7、1) 命令方式 命令格式: FIND /功能: 在打開的以查詢內容所在字段為索引關鍵字的索引文件中,快速查找關鍵字段等于等于或的第一個記錄。說明: 執(zhí)行命令前,必須首先建立以查詢內容所在字建立以查詢內容所在字段或表達式為索引關鍵字的索引文件段或表達式為索引關鍵字的索引文件,若已存在則打開該索引文件,且將其設置為主索引。 FIND命令通常適用于字符數據類型及數值型字符數據類型及數值型,字符串中的字符可以不用定界符。 可以用內存變量代替字符串作為查找的數據,但必須用宏代換函數(必須用宏代換函數(& &)。 如果查找成功,則把記錄指針指向邏輯順序中第一條符合條件的記錄,且FOUND()函數的值為.T
8、.,否則,記錄指針指向文件未尾,FOUND()函數的值為.F.。例題:例題1:在學生檔案中,用FIND命令查找學號為“9832101”的學生。 USE 學生檔案表 index on 學號 to xh FIND 9832101 DISPLAY例題2.在學生檔案表.DBF數據表文件中,以變量的形式,用FIND命令查找姓名為 “劉麗紅”的學生(以姓名為索引關鍵字的索引文件XM.IDX已建立)。2.SEEK2.SEEK命令命令 FIND命令不能對日期型和邏輯型的數據進行查找,在某些情況下使用起來不方便,為此,系統(tǒng)中又提供了功能更強的SEEK命令。格式:SEEK 功能:在打開的以查詢內容所在字段為索引關
9、鍵字的索引文件中,快速查找關鍵字段等于值的第一個記錄。其中:(1)SEEK命令適用于一切數據類型(C、N、D、L),表達式可以是常量、變量和函數所組成,但必須與索引表達式一致。表達式為C、D、L(.T.,.F.)常量時,必須使用相應的定界符,如:“ ”、 。(2)表達式為變量時,要直接使用,不不需要用宏代換函數。 (3)如果查找成功,則把記錄指針指向邏輯順序中第一條符合條件的記錄,且FOUND()函數的值為.T.,否則,記錄指針指向文件未尾,FOUND()函數的值為.F.。例題3:在學生檔案XSDA.DBF數據表文件中,用SEEK命令查找學號為“9921201”的學生(以學號為索引關鍵字的索引
10、文件XH.IDX已建立)。 USE xsda INDEX xh &打開以學號為索引關鍵字的索引文件XH.IDX SEEK “9921201” &必須使用定界符 DISPLAY例題4.在學生檔案表.DBF數據表文件中,以變量的形式,用SEEK命令查找姓名為“劉麗紅”的學生(以姓名為索引關鍵字的索引文件XM.IDX已建立)。 USE 學生檔案表 INDEX xm STORE “劉麗紅” TO a1 SEEK a1 &不需使用宏代換函數 DISPLAY例題5.在學生檔案XSDA.DBF數據表文件中,以常量的方式查找班級為“98321”、籍貫為“浙江”的學生。小結小結:(1)LOCATE和SEEK、F
11、IND都是用于在數據表文件中查詢 定位記錄指針,即把記錄指針定位在滿足條件的記錄 上。特別強調:僅僅是定位記錄指針。如要顯示定位的 記錄內容,則需要用DISPLAY命令。(2) LOCATE和SEEK、FIND的不同之處: LOCATE是順序查詢定位,可以直接利用原數據表進行 定位操作,而SEEK、FIND命令是索引查詢定位,必須 首先對原數據表按定位數據所在字段或表達式進行索 引,建立相應的索引文件或打開相應的索引文件、索引 標識的前提下才能進行定位操作。 LOCATE和CONTINUE相配合可以連續(xù)查詢定位多條記 錄,而SEEK、FIND只能查詢定位單條記錄。 LOCATE是用條件表達式的形式來定位,而SEEK、 FIND是用常量、變量或變量組成的表達式的形式來定位。(3) SE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學捐書活動方案
- 大連美食生日活動方案
- 在商場搞活動方案
- 大潤發(fā)招聘活動方案
- 塑教師形象活動方案
- 地理實踐社活動方案
- 夏天戲水活動方案
- 城市科普拓展活動方案
- 大班音樂教研活動方案
- 大運會工會活動方案
- 馬鞍山二中理科創(chuàng)新人才實驗班招生考試物理試題
- GB/T 44198-2024空間站科學實驗系統(tǒng)集成與驗證要求
- 新教材人教版高中物理選擇性必修第三冊全冊各章節(jié)知識點考點
- 安徽省馬鞍山市2024-2025學年高一數學下學期期末考試試題含解析
- 車庫業(yè)主與租賃者安裝充電樁協(xié)議書
- 勞務班組施工合同范本(2024版)
- RBA管理體系程序文件(系列)
- 四川省眉山市2023-2024學年高一下學期期末考試英語試題(無答案)
- 2022-2023學年浙江省寧波市江北區(qū)人教PEP版三年級下冊期末統(tǒng)考英語試卷
- 期末考試卷2《心理健康與職業(yè)生涯》(原題卷)高一思想政治課(高教版2023基礎模塊)
- 數字圖像處理與機器視覺智慧樹知到期末考試答案章節(jié)答案2024年溫州理工學院
評論
0/150
提交評論