




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二部分 FoxPro語言程序設計考試的題型:1。填空題:基本的命令語法等。2。寫出運行結果3。完善程序程序填空skip continue locate i=i+14.程序改錯。第一章 緒論1。1數據庫的基本概念數據庫:database, db 存放數據的倉庫,不僅存放數據,而且還存放數據與數據之間的關系。一、從文件管理到數據庫管理記錄:行數據項:列二、數據庫系統的特點1。數據共享。提高了信息的可利用率。2。數據的冗余度低。減少了冗余,有冗余。3。數據獨立性高。4。實現了數據的結構化。聯系。數據庫與數據庫之間的關系。三、數據庫系統的分代1。第一代 非關系型數據庫系統包括網狀模型與層次模型。2。
2、第二代 關系型數據庫系統(RDBS)二維表格方式為基本的數據結構。學號姓名性別年齡成績001張一男10793。 第三代 對旬-關系數據庫系統面向對象的數據庫系統Visual FoxPro ORDBS四、數據庫系統的分類1。單用戶數據庫和多用戶數據庫FoxPro 2.5就是多用戶數據庫系統并行存取2。集中式數據庫和分布式數據庫存儲位置而言。3。傳統數據庫和智能數據庫五、數據庫語言和數據庫管理系統關系型數據庫使用的語言是關系數據語言。ISO:標準的SQL語言。結構化查詢語言。SQL是英文是什么:stru query language其中一的一部分是數據庫管理系統(DBMS):提供了定義和操縱數據庫
3、的功能。數據庫:DB數據庫系統:DBS數據庫管理員:DBA數據庫系統是由數據庫、數據庫管理系統和數據庫管理員構成。六、數據模型主要分為三種:層次型、網狀型、關系型七、關系數據模型數學上邏輯推理和標準制定的一種模型。符合二維表格具有一定的條件。1。每一列都是最基本的數據列,不可拆分。2。每一列都具有相同的數據類型。數據類型:這一列的數據形式是一致的。年齡:3。二維表格中不允許出現完全相同的行和列。4。二維表格中的行與列的順序可以任意顛倒八、相關術語1。二維表。一個二維表格,就是一個數據庫文件。是數據庫管理系統的最基本的操作單位。2。行。相當于數據庫中的記錄,也叫元組。行有一個行號,記錄號。3。列
4、:相當于數據庫中的字段。屬性。列名,叫字段名。它是一個字段名變量。4。關鍵字:能夠唯一確定一條記錄的字段。1。2 FoxPro概述dbaseII dbaseIIIfoxbase foxpro 2.0 foxpro 2.5 2.6全是英文版的。2.5和2.6有兩種版本:for dos for windows(windows 3.1)中文foxpro 2.5B因為其數據庫的字段名可以是中文的。VFP 3.0 VFP 5.0 VFP 6.0 VFP 7.0/8.0一、引例:認識FOXPROFOXPRO建立的數據庫文件采用二維表格的形式,符合人們的習慣FOXPRO采用命令式的語言,一條命令即可完成一項
5、功能。二、FOXPRO的語言成份1。命令FOXPRO總是以一個命令動詞開頭的,后隨一個或若干個子句。List for 主要設備1)一個命令即為一個功能,不要將兩個命令寫在一行上。2)操作對象,結果和條件均可用命令子句的形式給出。3)命令中只講對操作的要求。命令格式:命令動詞 范圍 子句 for /while fields 1)命令動詞,是完成一個功能的短語,可以簡寫為四個字母。Display:disp2)范圍:是針對記錄而言的,它是一種選擇操作。范圍有四種:all:全部記錄。Record n :第N條記錄Record 5Next n:表示從當前記錄向下N條記錄。Next 6Rest:表示從當前
6、記錄一直到記錄尾。List allList record 7G0 5List next 5List rest3)for /while for :最常用的一種。表示在指定范圍內,所有滿足條件的記錄。如果是全部,則范圍可省。While:不常用,表示在指定范圍內,從當前記錄開始,一直到不滿足條件 記錄為止。條件一定是一個邏輯值。4)fields 這是一個投影操作。從所有的字段中篩選幾個字段。List fields 學號,姓名5)子句根據需要進行設置。二、表達式1。數據類型就是一個數據的屬性。只有相同類型的數據才能運算。123+456(1)字符型(C)英文字母,數學、漢字、下劃線等,長度不超過254個
7、字符。凡是用雙引號、單引號、中括號括起來的所有式子,均是字符型?!?1/01/1998”“.t.”(2)數值型(N)數字、小數點、正負號。20位年齡、工資等。(3)浮點型(F)與數值基本相同,它可以進行科學計算。(4)邏輯型(L)只能是真或假。分別用.T. .F. .Y. .N.來表示。占位1位。如婚否。團員否。邏輯型數據在作關系表達式時,不允許出現等號。記住,直接書寫字段名,即為真值,如果為假值,前而加 .not.list for 婚否list for .not.婚否(5)日期型(D)年/月/日 占位8位。(6)備注型(M)占4位簡歷超過254個字符時使用的字段。數據內容是存放在備注型文件中
8、。該字段只存放指向備注型字段的指針。備注型文件擴展名為:.FPT當數據庫文件含有備注型字段時,才產生備注型文件。備注型文件與數據庫文件同名,擴展名不同。Aaa.fpt(7)通用型(G)是用來存放圖片的,占4位。他也存放在擴展名為.fpt的備注文件中。一個數據庫只能有一個備注文件。2。常量在程序運行過程中,其值不變的量叫常量。如“aaa” 常量主要有四種:(1)字符型常量凡是用雙引號、單引號、中括號括起來的,都是字符型常量。(2)數值型常量可以數字、小數點、正負號。一個數據寬度7位,小數位2位,問最大能表示多少,最小能表示多少。(3)邏輯型.t. .y. .f. .n.來表示。(4)日期型數據日
9、期型常量用大括號括起來?;蛴肅TOD函數轉換。1994/12/1394/12/13ctod(“94/12/13”)dtoc(94/12/13)3.變量是指在程序執行過程中其值不斷變化的量。變量分為兩種:(1)字段變量,在庫文件中的字段就是一個字段變量。字段變量是一個多值變量在引用字段變量時絕對不允許加引號等。性別=”男”有7種(2)內存變量與庫文件無關,是臨時存放在內存中的,用來存放中間數據和臨時結果的。整個FOXPRO退出后,內存變量數據丟失。只有存在文件中才能保存。1)系統內存變量由下劃線開頭的一批系統內存變量。_system2)用戶自定義內存變量內存變量有五種:屏幕型(S)對于變量的命名
10、1)變量名必須以字母或漢字開頭123 a1232)變量名不能超過10個字符。3)變量名不能與系統保留的關鍵字重名。Display4)變量名要見名思義。abc=”12345”變量的類型根據所賦值的類型而定。Abc=123Abc=.t.4。變量的賦值有兩種:變量=表達式此命令只能給一個變量賦一個值。A=”bbb” a=b=c=”bbbb”Store 表達式 to 變量名表該命令是將計算表達式的值送給各個變量中,只能將一個值送給多個變量。Store 123 to a1,a2,a3,a4Wait to 變量Accept to 變量Input to 變量6。表達式(1)運算符如下四類1)算術運算符+ -
11、 * / %(求余)%:兩數相除得的余數。10%3=1 10%-3=-2此運算符用于如顯示記錄號為1,5,9,13的記錄。List for record()%2=12)字符串運算符+:在字符串運算中,直接將左右兩串連接起來。原樣連接?!?23 “+”345”=”123 345”-:也是兩個字符串連接運算,將左邊字符串的尾部空格,移到連接后的尾部。“123 “-”45”=”12345 “123”-“ 45”=”123 45”3)關系運算符 = 或# = = $對于字符型比較:按內碼比較,也就是拼音字母。對于數值型比較:按數據的大小比較。對于日期型比較:按年月日的先后順序比較。=:精確比較。要求對
12、于字符串,左右兩邊必須完全相同。Set exac on 精確 set exac off 非精確=:非精確比較,如果在set exac off狀態下,是判斷右側字符串是否是左側字符串的前綴子串。Set exac off“1111”=”11” .t.“1213”=”11” .f.set exac on“1111”=”11” .f.“111”=”111” .t.set exac off“123456”=”12345” .f.$:包含的功能。判斷左側串是否是右側字符串的子串。Set exac offList for 姓名=”張”List for “賢”$姓名運算結果一定是邏輯型。4)邏輯運算符.and
13、. .not. .or.與 非 或!and not ! or 復習:1。數據庫文件管理階段、數據庫管理階段手工管理管理階段。2。數據庫管理的發展階段3。數據模型三種:層次、網狀、關系二維表格具有一定的條件:術語:4。FOXPRO的發展5。數據類型7種。C N D L M G F6。Foxpro的命令格式1)命令動詞list disp sum count skip2)范圍四種:針對記錄all record N next n rest3)for /while for :是指定范圍內,滿足條件的記錄。While :是指定范圍內,從當前記錄開始到不滿足的記錄最終止。一定是一個邏輯型。4)fields
14、投影 對列.7.常量四種。C N D L8.變量字段名變量內存變量:系統內存變量(下劃線開始的變量名)、用戶自定義的內存變量變量的命名:9。表達式(1)運算符1)算術運算符%:-10%-3=-12)字符串運算符+:原樣連接-:將左串的尾部空格,移到了連接后的尾部。3)關系運算符 = = # =:非精確比較。Set ecac off =:精確比較。111=123$:包含的功能“三” $ “張三” .t.“三”=“張三” .F.4)邏輯運算符.and. .not. .or. !表達式:1。算術表達式由數值、算術運算符、函數等構成的有意義的式子。常量、變量算術表達式運算結果一定是數值型。Na=6b=
15、a*7+5*40=242sqrt(16)+”123”4+4=82.字符串表達式運算結果一定是字符型。“1234”+substr(“abcdefg”,2,4)“1234bcde”3.關系表達式運算結果一定是邏輯型從左到右??梢宰鳛闂l件。4。邏輯表達式用and or not 連接的組合關系表達式。56 or 76 t5.日期表達式運算符只有+ 和-D-D=ND+N=DN+D=DD-N=D二數組數組是按一定順序排列的一組內存變量。下標變量。具有相同名稱的下標變量。A(1) a(2) a(3)等。數組中各個變量稱為數組元素。Dime a(5)A(1)A(5)下標的個數叫維數。1個下標的叫一維數組2個下
16、標的叫二維數組。Dime b(2,3)FOXPRO中只運用到二維。先定義后使用。1。定義數組dime/decl (下標1,下標2,),功能:定義一維或二維數組。下界值系統統一規定從1開始。Dime abc(6),bbb(2,3)Abc(4)Bbb(1,1) bbb(1,2) bbb(1,3)Bbb(2,1) bbb(2,2) bbb(2,3)FOXPRO允許存在3600個數組,且每個數組可以有3600個元素。數組在內存中占用一個內存的存儲單元。數組元素尚未賦值前是邏輯假值。Dime a(5)A(1) a(5)= .f.2.數組的賦值(1)一個數組各元素的取值類型可以是不同的。Dime a(5)
17、A(1)=123A(2)=”aaa”A(3)=.t.(2)可以使用賦值命令對數組各元素賦值。Store “aaaa” to a(1),a(2),a(3)A=123(3)二維數組在內存中是按行順序存儲的。Dime bbb(2,3)Bbb(1,1) bbb(1,2) bbb(1,3)Bbb(2,1) bbb(2,2) bbb(2,3)二維數組可以當一維使用。Bbb(1,1)=b(1)Bbb(1,2)=b(2)Bbb(1,3)=b(3)B(1)=123Bbb(1,1)=123二維數組使用是一般利用雙層循來實現。外層表示行,內層表示列。掌握:1)數組的定義2)數組的元素,下界值從1開始3)數組定義后的
18、初值是邏輯.f.。4)數組的賦值三、FOXPRO文件的主要類型擴展名1。數據庫文件 .DBF2.數據庫備注文件 .FPT3.程序文件:.PRG4.程序文件:.fxp5.單索引文件:.idx6.復合索引文件:.cdx tag7.查詢文件:.qpr:實際上是一條sql語言。8.屏幕格式文件(表單文件) .scx .sct9.菜單文件: .mnx .mnt10.報表文件 .frx frt11.標簽文件:.lbx .lbt12.內存變量文件:.mem13.視圖文件:.vue14.文本文件:.txt四、FOXPRO的特點和技術指標1。特點1)windows界面。2)快速查詢技術3)支持多種工作方式命令交
19、互 程序執行 選單操作4)輔助設計工具5)支持使用多媒體數據2。FOXPRO的性能指標(1)數據庫文件1)庫文件最大記錄數:1092)記錄的字段數:225個3)記錄的最大長度:65000字節4)字符型字段最大長度:2545)數值字段最大長度:20位6)數值計算精度:16位7)日期長度:8位8)邏輯型長度:1位9)備注和通用:10位(2)內存變量內存變量總數:65000個數組總數:65000個一個數組元素數:65000(3)其它重要指標可以同時打開的數據庫文件數:225個。一個工作區可以打開1個庫文件。.cdx的索引碼最長:240字節命令行最大長度:2048字節。DO命令嵌套深度:32層Read
20、命令嵌套深度:5層.dbf文件關聯個數:不受限制五、FOXPRO的安裝與啟動1。3FOXPRO的界面風格與工作方式一、鼠標的操作二、FOXPRO的界面風格下拉式選單 彈出式選單。狀態條上顯示當前打開的庫文件,當前所在記錄號,總記錄數。使用的狀態和Numlock鍵的狀態。四、FOXPRO的工作方式三種:命令交互方式:每發出一條命令,立即執行得到結果。二、程序執行方式將FOXPRO的各條命令編成特定的序列,并將它們存入程序文件。用戶需要時,執行該文件即可。三、選單操作方式(菜單操作方式)函數根據函數的數據類型分為四種:字符型、數值型、邏輯型和日期型轉換函數函數:實際是一個黑盒子,無需了解其工作過程
21、。函數的格式:函數名(參數)參數:可以是一個,也可以是多個,如果是多個,中間一定要用,間隔。如sqrt(16) 這個參數叫實參函數一定有返回值。Sqrt(16)=4函數都有一個數據類型??雌浞祷刂档念愋?。1。輸出命令?/?表達式列表功能:在屏幕上輸出各個表達式的值。說明:1)?表示換行輸出,在當前行的下一行輸出。2)?表示在當前行的位置輸出。3)表達式可以是一個,也可以是多個,中間用,分隔。且表達式可以是一個常量,或一個變量或一個常量與變量構成的表達式。123+345a=89123+a直角三解形的九九表。1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9set talk off
22、store 1 to I,jdo while i=9 ? j=1do while j=i ?I,”*”,j,”=”,i*j j=j+1enddoi=i+1enddo1.數值計算函數(1)取整函數格式:int(數值表達式)功能:計算數值表達式的值,并去掉小數,取其整數部分,不作四舍五入。?int(123.56+23.78)147利用該函數可以判斷一個數是否是偶數。If x%2=0 ?”是一個偶數”else ?”不是一個偶數”endif2.四舍五入函數格式:round(數值表達式,保留位數)功能:計算并對保留位后面的數值進行四舍五入,注意保留位為正數,對小數位四舍五入,為負數是對整數位四舍五入。?
23、round(1234.7856,2)1234.79?round(1234.7856,-2)12003.求平方根函數格式:sqrt(數值表達式)返回數值表達式值的平方根sqrt(16)=44.求最大值、最小值函數max(數值表達式1,數值表達式2)返回數值、字符串、日期中最大值。?max(4,5)min(數值表達式1,數值表達式2)返回最小值。數值、字符串、日期。?min(“abc”,”ab”,”a”)“a”5.求指數、對數函數exp(數值表達式)log(數值表達式)6.求余函數格式:mod(數值表達式1,數值表達式2)?mod(5,2)1ABS(數值表達式)求絕對值二、字符處理函數1。宏替換函
24、數格式:&字符型變量.功能是:替換出字符型變量的內容,即&的值是變量中的字符串,如果該函數與其后的字符無明確分界則用.分隔。Use rsda第一條記錄姓名是“張三“abc=”姓名”?abc,&abcab=”567”cd=”b”?ab,cd,ab567 b 567有數據庫gz1,gz2 ,gz3三個庫,利用循環來顯示各庫結構i=1 do while i=3m=str(I,1)use gz&mlist strui=i+1enddo2.求子串位置函數格式:at(字符表達式1,字符表達式2)功能是:求第一串在第二串的起始位置,得到的是數值型。?at(“計算機”,”全國計算機等級考試”)5?at(“cd
25、”,”abcdef”)?at(“教師”,”教授”)03.取子串函數格式:substr(字符型表達式,起始位置,長度)功能:從起始位置,取指定長度字符形成子字符串。若省略長度,則一直取到串尾。?subs(“abcdefgh”,4,3)變量a等于“全國計算機等級考試”變量b等于“2005年9月”變量C等于”二級VFP下半年”要求得到2005年計算機考試9月下半年二級VFP。left(b,6)+subs(a,5,6)+subs(a,15,4)+subs(b,7)+subs(c,8)+subs(c,1,7)4.求左子串函數格式:left(字符串表達式,長度)功能:從左邊取長度的子字符串。?left(“
26、abcdef”,5)5.求右子串函數right(字符串表達式,長度)從右開始取指定長度的字符串。字符的順序不能顛倒。?right(“abcdef”,4)cdef6.生成空格函數格式:space(長度)功能是產生指定數目的空格字符串,最大空格254。?space(8)7.生成重復字符函數?repl(字符型表達式,個數)?repl(“aaaaaaaa”,10)8.大小寫變換函數(1)小寫轉大寫upper(字符表達式)?upper(“abcd”)ABCD(2)大寫轉小寫lower(字符串表達式)9.求字符串長度函數LEN(字符串表達式)?len(“全國計算機等級考試”)數值型10.刪除字符串右面空格
27、函數rtrim(字符表達式)a=rtrim(“abcde “)?len(a)511.刪除字符串左邊空格ltrim(字符串表達式)?ltrim(“ abc “)?len(ltrim(“ abc “)?len(ltrim(rtrim(“ abc “)312.直接刪除左右兩邊空格alltrim(字符表達式)?alltrim(“ abcd “)abcd13.字符串替換函數格式:stuf(字符表達式1,起始位置,字符個數,字符表達式2)?stuf(“abcdefghij”,5,3,”111”)abcd111hij?stuf(“abcdefghij”,5,3,”11”)abcd11hij?stuf(“ab
28、cdefghij”,5,1,”111”)abcd111fghij?stuf(“abcdefghij”,5,3,”)abcdhij復習:1。數組1)定義dime 2)數組元素下界從1開始的。3)數組如何賦值bbb(1)=9bbb=94)二維數組必須使用雙層循環。2。FOXPRO的性能指標3。FOXPRO的工作方式3種4。各種表達式5。函數?/?一、數值函數得到的結果一定是數值型。Max()Min()二、字符型函數left()right()subs()at() N型數據&a=”張三”&a張三len()三、日期類函數1、取系統日期計算機的日期date()功能:取當前的系統日期,格式為mm/dd/yy
29、 月/日/年set date to 日期型。2.取系統時間函數time()以時:分:秒的格式輸出。數據類型是字符型?!癮aaa”+time()3.求年、求月、求日函數1)year(日期表達式)year(“12/16/04”)求年份,四位。且數值型。Year(date()%4=0 and year(date()%1000 有一個數據庫,出生年月字段,求年齡。Year(Date()-year(出生年月)=2)求月month(日期表達式)月份,數值型。3)求日day(日期表達式)4。星期函數dow(日期表達式) cdow(日期型表達式dow是數值型。Cdow:字符型。四、數據類型轉換函數1。字符串轉
30、換成日期函數ctod(字符表達式)字符表達式一定是日期格式的字符表達式“12/16/1999”日期型。D2。日期轉字符dtoc(日期表達式)得到的函數結果是字符型3。數值轉換為字符型格式:str(數值表達式,長度,小數位)功能:將數值表達式的值轉換為字符型。轉換時要進行四舍五入。缺省小數位,則按整數處理。?str(123.56789,6,3)123.57?str(123.56,4)1244.字符轉換成數值函數val(字符表達式)遇到一個非數值字符即終止轉換。Val(123asb456)=123適合于同字符型字段操作。5。Asc(字符表達式)將字符串的第一個字母,轉換為ascii值。A-65a-
31、97?asc(“bbb”)6.chr(數值表達式)將數值轉換為字母。?chr(97)aff第二章 數據庫的基本操作2。1建立數據庫文件一個數據庫就是一個庫文件。在磁盤上以文件的方式存在。擴展名為.dbf。二維表中的一個欄目:字段二維表中的一個行:記錄建立數據庫分兩步:第一步:建立表頭,數據庫的結構。第二步:輸入記錄一、庫文件結構的建立1。設計數據庫結構4項:1)字段名:10個漢字、字母、數學、下劃線。2)字段類型(7種)CNDLFMG3)字段長度:規定了該字段存放的最大字符個數。只能規定N和C,對于N型數據是數據的總長度。4)小數位數:只有數值型和浮點型才有小數位數。.fpt2.建立庫文件結構
32、選擇File選單,NEW。選table/dbf再單選new出現對話框。輸入字段信息。按ctrl+w存盤。Ctrl+q:放棄存盤注意命令:在命令窗口中鍵入:create 數據庫名功能:建立數據庫的結構注意:如果省略數據庫名,系統會彈出輸入數據庫名的對話框。如果輸入將自動建立該數據庫。另外:如果在數據庫名前加上盤符,則在指定的盤上建立數據庫。二、庫文件數據的輸入1。數據輸入窗口結構建立后,系統會提示,是否輸入記錄?。是,輸入,進入數據輸入窗口。只詢問一次。(1)若輸入數據已填滿,則自動跳到下一字段,如未輸滿,則按回車鍵。(2)邏輯型字段,它只接入Y N T F之一。(3)光標定位于MEMO或GEN
33、處。(4)ctrl+w ctrl+q 2.備注型、通用型字段的輸入ctrl+pgdn ctrl+pgup ctrl+home如果備注型、通用型字段有值了,則M大寫,G大寫。Memo Gen3.庫文件的關閉1)在命令窗口中,鍵入use 關閉當前的數據庫文件。2)使用view選擇close3)退出foxpro關閉。Quit三、庫文件內容的查看前提要打開數據庫文件:打開數據庫文件的命令:use 庫文件名use aaa然后使用命令:brow來瀏覽數據庫的內容。2。在brow窗口中查看庫文件的內容1)庫文件有兩種顯示方式;瀏覽和編輯在瀏覽窗口狀態下可以進行的操作有:修改、刪除、添加。但不能更改庫文件結構
34、。2。2FOXPRO的命令工作方式一、FOXPRo的命令和命令子句1。建立庫和查看庫的命令1)建立庫文件結構的命令create 數據庫名2)顯示數據庫結構的命令list/display stru3)顯示數據庫記錄的命令list/display all4)打開庫文件命令use 庫文件名5)顯示庫文件內容brow 2.常用子句list fields 編號,姓名3.數據的選擇顯示(1)display與list命令disp/list fields 范圍 for 條件while off to print prompt to file 文件名(1)fields 字段,字段之間用,間隔,功能是只顯示列出的字
35、段,其他字段不顯示,如果省略,全部都顯示。(2)可選項范圍 對記錄而言的,如果有范圍,則只顯示指定范圍的記錄。(3)for for的范圍是all(4)off:不顯示記錄號(5)to print to file to print送到打印機,to file送到文件。(6)list省略范圍和條件,則顯示所有記錄。List Disp命令省略范圍和條件,則只顯示當前記錄。一條。List 與disp all等價。關鍵掌握:范圍 和條件建立如下數據庫:xsda.dbf學號 C 6姓名 C 8性別 C 2出生年月 D 8團員否 L 1簡歷 M 輸入6條記錄。建立如下數據庫:xscj.dbf學號 c 6姓名 C
36、 8政治 N 3數學 N 3外語 N 3計算機 N 3數據庫 N 3總分 N 4輸入6條記錄,注意與xsda的學號姓名一致,。完成如下操作:1。對XSDA表顯示性別為男的記錄。Use xsdaList for 性別=”男”2。對XSDA表顯示團員且性別為女的記錄。3。對XSDA表顯示出生日期在1980年以前的記錄。4。對XSCJ數據庫顯示政治在70分以下的學生,且只顯示學號,姓名,政治。5。對XSCJ數據庫顯示各科成績均及格的學生信息。(2)預設過濾器與字段表1)預設過濾器篩選set filt to set filt to 性別=”男”list取消過濾:set filt tolist6.對XS
37、DA設置過濾條件性別為男,顯示記錄。7。對XSDA取消過濾條件。2)預設字段表fields 字段名表set fields to 字段名表/ALLset fields to 學號,姓名,性別listset fields to allset fields on/offclear fields二、表達式、數組和函數內存變量字段名變量內存變量(系統內存變量、自定義內存變量)1。內存變量的賦值兩種:變量=表達式一次只能給一個變量賦值。如aaa=5store 表達式 to 內存變量表將一個值送給多個變量。Store 5 to a1,a2,a32.內存變量文件的建立與調用為了保證內存變量在退出時不丟失,建立
38、一個內存變量文件。命令如下:save to 內存變量文件 all like /exce 說明:1)內存變量文件的擴展名為.mem2)all like 通配符,表示符合通配符的保存,不符合不保存。All exce 通本符,表示不符合保存,符合的不保存。3)通配符有?和*。缺省則是全部。8、建立6個變量,分別賦值,自定。變量名分別為a1,a2,b1,b2,c1,c29.將以a打頭的內存變量存入內存變量文件a.memsave to a.mem all like a*10.將除了以B打頭的內存變量保存在AC.mem中。Save to ac.mem all exce b*11。將第二個字母為2的內存變量
39、保存在2.mem文件中。Save to 2.mem all like ?2*恢復:restore from 內存變量文件 addiaddi:如果有ADDI,則在當前內存中追加內存變量。如果沒有,則清除當前內存變量,恢復為內存變量文件中的變量。12、退出FOXPRO,再進入FOXPRO,建立一個內存變量D1,值自定。將ac.mem內存變量文件,恢復到當前內存,且要求追加。3。清除內存變量release 內存變量表 all like/exac 通配符4.內存變量的顯示disp/list memory all like /exac 通配符13.顯示當前的所有內存變量list memory2.3修改數
40、據庫文件一、庫文件結構的修改1。選單操作2。命令方式modify stru前提是打開數據庫。14、對XSDA數據庫,修改結構,添加一個字段“聯系電話”,C 13。并輸入相應的記錄。二、記錄的插入、刪除與添加1。記錄的定位與插入(1)幾個概念1)當前記錄是指記錄指針所指向的記錄,注意在當前的工作區,同時刻只能有一條記錄為當前記錄。2)記錄指針在數據庫中隱藏著一個指針,隨時進行變化,則稱其為記錄指針。3)首記錄即為第一條記錄記錄號為1,即recn()=1測試記錄號函數:recn()4)尾記錄最后一條記錄。記錄號為N。N為記錄總數。5)首標志記錄到了首標志,數據庫指針到頭了。記錄號仍為16)尾標志尾
41、記錄的下一條記錄,有一條虛記錄。記錄號為N+1。Bof():測試記錄指針是否到達首標志。真到達。假未到達。EoF():測試記錄指針是否到達尾標志。真到達。假未到達。(2)記錄的定位絕對定位:go/goto N /top/bottom解釋:1)go /goto一樣。全是絕對定位的命令。2)數值表達式是指向第N條記錄。Go n 是絕對定位到記錄號為N的記錄上。3)go top:指向首記錄。指向關鍵字最大名最小的記錄上。4)go bottom:指向尾記錄,對于未索引的。對于索引的,指向關鍵字最大或最小的記錄上。相對移動:skip +/- N該命令是相對移動,是指從當前記錄向上或向下移動N條記錄。Go
42、 6Skip 4?recn()go topskip -1?recn(),bof()go bottskip?recn(),eof()N+1 .t.15、對XSCJ記錄,將記錄指針定位于第4條記錄上,并顯示該記錄。Go 4disp條件: for list field 姓名,學號for 性別=女 and 賦值:內存變量的保存:save to 內存變量文件名.mem all like 通配符內存變量的恢復:restor from 文件名內存變量的清除release 內存變量列表 all like 內存變量的顯示disp/list memolist /disp list for 性別=”女” and 團
43、員否recn() 顯示記錄號?recn()bof()eof()建立數據庫:create 庫名顯示數據庫結構:list/disp stru 顯示數據庫記錄:list /disp修改數據庫的結構: modi stru記錄的絕對定位:go/goto n /top /bottomgo 5記錄的相對定位:skip +/-nlist 命令直接回車后,記錄指針到了N+1 eof()為真值。2。記錄的刪除與恢復Foxpro中記錄的刪除有兩種:邏輯刪除:表示只在數據庫記錄前打上了刪除標記。 *,能恢復。物理刪除:將記錄從數據庫中徹底刪除,不能恢復。(1)給記錄打上刪除標記dele 范圍 or while 功能:
44、給指定范圍內滿足條件的記錄打上刪除標記。即邏輯刪除。注意:1)省略范圍和for條件。即delete 則刪除當前記錄。一條。2)范圍:四種。3)for 條件:刪除性別為男且非團員的學生。Delete for 性別=”男” and not 團員否(2)取消刪除標記(恢復記錄)recall 范圍 for while 功能:恢復打上刪除標記的記錄。省略范圍和條件,則只恢復當前記錄。Reca for 性別=”男”(3)徹底刪除打上刪除標記的記錄pack功能:將所有帶刪除標記的記錄從庫文件中刪除。注意刪除后,不能恢復了。Pack所以說delete 命令與pack命令是配對使用的。(4)刪除全部記錄zap功
45、能:刪除所有記錄,即不論是否打上刪除標記,全部刪除了。清庫的命令。Zap與dele all pack 等價以上命令只刪除記錄,不刪除結構。3。記錄的添加(1)追加記錄append blank功能:在數據庫的尾部添加一條記錄。說明:blank:如果有此項,表示在數據庫的尾部追加一條空記錄,不彈出編輯窗口。適合于在程序中使用。如果沒有此項,表示在數據庫的尾部追加一條記錄,彈出編輯窗口,供用戶輸入記錄內容。(2)文件追加appe from 文件名 fields 字段名 for 條件。功能:從另一個數據庫中向當前數據庫追加指定的記錄。當前數據庫:你正在使用的數據庫。說明:1)appe from 原則上
46、適合于兩個相同數據庫結構的數據庫進行記錄追加。但也可以不同。2)fields 字段名表 表示只從另一個數據庫中提取指定的字段,添加到當前數據庫的同名字段中。Use xs1Appe from xs2 field 姓名,性別 for 性別=”男”3)for 條件,將另一個數據庫中滿足條件 記錄添加到當前數據庫。4)此命令添加的不僅是數據庫,也可以是文本文件,擴展名為.txt ,要求必須在命令后,加入 SDFsystem data format4.備注型和通用型字段的數據修改雙擊該字段即可。在瀏覽窗口下。三、記錄數據的替換replace with 表達式1addi, with 表達式2 addi 范
47、圍 for 功能:在當前數據庫中,指定記錄,將有關字段的值用命令中相應的表達式去替換。如果對命令有范圍或條件,則對范圍內的記錄修改,如果省略范圍和條件,則只替換當前記錄。說明:1)只有對備注型字段才能用addi。2)如果同時替換多個字段,則各個表達式之間用,號間隔。對xscj表,計算每個人的總分。Repl 總分 with 政治+數學+外語 all對數學成績在50分以上的,提為及格。Repl 數學 with 60 for 數學=50 and 數學60Repl 總分 with 20+總分 for 職務=”班長” or 職務=”學委”此命令適合于程序操作修改數據庫。在程序中原則上不允許使用all復習
48、:一、記錄的刪除邏輯刪除和物理刪除delete 范圍 for recall 范圍 for packzap二、記錄的追加添加appe blank appe from 庫文件名 sdf for 條件三、記錄的替換適合于程序中進行記錄的的修改。適合于有規律的數據替換。適合于橫向求和(計算)repl 字段名 with 表達式delete reca repl disp 省略范圍和條件則只對當前記錄操作。四、單個記錄與數組間的數據傳送一個記錄可以將其存放到數組中。也可以將數組中各元素的值添加到記錄中。1。將記錄傳送到數組只能把當前的記錄各字段值送到數組中的各元素中。格式:scat fields memo
49、to 數組名功能:將當前庫文件中的當前記錄按fields字段的順序依次送入指定的數組各元素中。說明:(1)如果省略了fields ,則將數據庫中的所有字段,存放數組。(2)如果數組未存在,則建立數組,如果數組元素個數小于字段個數,自動擴充。2。把數組數據傳送到庫文件記錄中。Gather from 數組名 fields memo功能:把數組中數據依次傳送到當前庫文件的當前記錄。說明:1)如果有fields,則按fields的次序進行替換。2)如果有memo則將備注型的數據添入。3)使用該命令進行數據替換,必須要進行記錄指針的定位。1)對xsda數據庫,將第三條記錄的學號、姓名、性別、出生年月送到
50、數組ccc中。Use xsdaGo 3Scat fields 學號、姓名、性別、出生年月 to ccc2)在XSDA數據庫中追加一條空記錄,并將ccc數組中各元素值替換到當前空記錄上。Use xsdaAppe blankGo bottGath from ccc fields 學號、姓名、性別、出生年月3.記錄與一組內存變量間的數據傳送scat fields字段名表 memo memvar blankmemvar:將當前記錄各字段值送到一組內存變量中,且內存變量的名字、類型與字段名完全一致。Gath from 數組名/memvar fields 字段名表 memo記錄與數組:scat to 數組
51、名 gath from 數組名記錄與內存變量:scat memvargath memvar2.4復制數據庫文件一、庫文件結構與數據的復制1。復制記錄且復制結構copy to 文件名 范圍 for fields 功能:將當前數據庫指定范圍內滿足條件的記錄復制到另一個數據庫文件中。生成一個新的數據庫文件,有結構有記錄。說明:(1)含有MEMO(備注)型字段與其他字段一起進行復制。(2)fields 表示新生成的數據庫含有的字段及其順序。如果省略,表示復制所有字段。(3)復制后新生成的數據庫必須打開才能使用。Use 新庫使用該命令復制相當于復制了兩個文件:一個是庫文件,一個是備注型文件。1)對xsda數據庫,將學號、姓名、性別
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省朔州市朔城區四中學2025年初三下學期期末質量調查語文試題含解析
- 山東省菏澤市鄆城縣侯咽集鎮2024-2025學年數學四下期末質量跟蹤監視模擬試題含解析
- 響水縣2024-2025學年小升初總復習數學測試題含解析
- 內蒙集寧二中2025屆高三下學期第三次調考英語試題含解析
- 山西省太原志達中學2025年初三第六次質量檢測試題語文試題含解析
- 產品銷售代理合同協議書實例
- 房屋采購合同范本共
- 企業間租賃合同的優異典范
- Brand KPIs for pet supply online shop Zen Animal in Brazil-外文版培訓課件(2025.2)
- 小班藝術《魚眾不同》+教案
- 《工程勘察設計收費標準》(2002年修訂本)
- 家具采購安裝方案、家具采購服務方案和計劃
- 2023年中國計量科學研究院招聘筆試真題
- 兒童系統性紅斑狼瘡診斷與治療評析
- 度假酒店的規劃與開發
- 《中國文化遺產》課件
- 酒店管理授權委托協議
- 制造業勞務外包質量控制制度
- 2024年代打包發貨合作協議書模板
- 主動脈夾層完整版課件
- 醫院感染相關法律法規課件
評論
0/150
提交評論