




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、二級Visual Foxpro完全筆記一、二級Visual Foxpro的基本框架和主要內容1.基本框架:總分總的模式 第一章:總述 第二九章:分述 第十章:總結 第十一章:上機指導2.重要章節及內容(見教材目錄)各個章節考試時都有涉及,其中第三、四和七章為重點。3.題型:1)筆試部分:單選題 2分*35題=70分(其中前十題在二級vf公共基礎知識中) 填空題 2分*15題=30分(其中前五題在二級vf公
2、共基礎知識中)2)機試部分:基本操作題 30分 簡單應用題 40分 綜合應用題 30分 (其中不涉及公共基礎知識,采取隨機抽題的方式)二、基礎知識1.vf的作用是要用來
3、處理現實中的問題,主要使用程序和數據來進行。程序師處理數據的一組命令;而數據就是被程序處理的對象。2.vf軟件的啟動:兩種方式 桌面上的快捷方式 開始菜單程序MSVF3.vf的安裝:兩種方式 光盤安裝:setup.exe 網絡安裝4.了解vf界面 標題欄 主菜單 常用工具欄 主窗口:顯示或輸出數據處理后的結果。 狀態欄:顯示數據處理時的狀態信息。 命令窗口:用戶對計算機發布的命令。5.vf中最常用命令介紹?表示隔行輸出。?表示同行輸出。&&+內容表示是對前面所
4、寫命令的注釋說明,可提高程序的可讀性,一般以綠色顯示。Clear表示對主窗口進行清屏,它本身就是命令,因而clear后不加()。三、數據與數據運算(一)簡單介紹vf系統中數據的形式和類型1.vf系統所處理的數據形式有四種: 常量 變量 表達式 函數2.上述四種形式的數據根據其組成和結構的不同又可分為六種類型: 數值型 貨幣型 字符型 日期型 日期時間型 邏輯型上述類型決定數據的存儲方式和運算方式。(二)常量1.含義:是用以表示一個具體的、確定的、不變的值。2.常量的類型:1)
5、數值型常量: 含義:也稱N型,用來表示數量的多少。 組成:由數字09,小數點和正負號構成。 可用科學計數法的形式來書寫,如:1500=1.5*10的3次方=1.5e3,其中的e/E表示10的n次方,n為整數(正整數、負整數、0均可)。 數值型數據在內存中用8個字節表示。2)貨幣型常量: 含義:也稱Y型,用來表示貨幣值。 組成:在數值型常量之前加上一個$符號即可。 在存儲和計算時采用4位小數,多于4位時自動四舍五入。 沒有科學計數法形式,在內存中占用8個字節。3)字符型常量 含義:也稱C型
6、或者字符串。 組成:用半角的單引號、雙引號或方括號作為定界符把字符串括起來,且定界符必須成對匹配。但定界符不是字符型常量的內容。 定界符內的字符可為數字、漢字、英文、空格或者無內容。 不包含任何字符的字符串為空串;完全以空格為字符的字符串為空格字符串。4)日期型常量: 含義:用來顯示日期,也稱D型。 組成:它的定界符是一對花括號,并且花括號內第一個字符必須是脫字符,花括號內括年月日三部分內容,各部分內容之間用分隔符-分隔。而斜杠則是系統在主窗口顯示日期型數據使用的默認分隔符。yyyy-mm-dd。 日期型常量也用8個字節表
7、示。 影響日期格式的設置命令:Set date to ymd/dmy/mdy功能是設置日期顯示時的格式。Set mark to “-”或者”/”或者”功能是用于設置顯示日期型數據時的分隔符。若未指定分隔符則表示恢復系統默認斜杠分隔符。Set century on/off功能是設置年份是以(on)4位或(off)2位來顯示。5)日期時間型常量: 含義:用來顯示日期和時間,也稱T型。 組成:yyyy-mm-dd hh:mm:ss am/pm。 日期時間型常量也用8個字節存儲。注:上述所有關于日期和日期時間的設定在vf界面的工具菜單選項區域中進行操作。
8、6)邏輯型常量: 含義:它只有邏輯真和邏輯假兩個值,也稱L型。 組成:邏輯真.t. .T. .y. .Y. 邏輯假.f. .F. .n. .N. 前后的兩個點作為定界符必不可少,但是只占1個字節。(三)變量1.定義:是指在成都之行進程中,其值可以被改變的量。2.變量的命名原則: 以漢字、字母或下劃線開頭,可以含有數字,但不能含有非法字符如小數點、空格或通配符(*/?)。
9、 要盡量做到見文知義。3.變量的分類:1)字段變量:在表文件中記錄屬性內容的變量。表中的每一個列標題就稱為一個字段變量。列標題的名稱就是這個字段變量的名稱,其下的具體內容就是這個字段變量的值,即字段值。 注意一:表的每一行被稱為一條記錄,鼠標指向某一行時會變成指針的標志,指針所指向的行即此字段當前的值,當輸出這個字段變量時,就會在主窗口顯示當前行的值。 注意二:若字段變量名和內存變量名重名的現象時,優先輸出字段變量的值;若想輸出內存變量的值,則需在變量名前加上前綴M.(或M->)。2)系統變量:是由vf系統自定義的變量,其名稱是由系統預先定義好的,通常以下劃線_開
10、頭。例如:_screen. fontsize=20 可更改主窗口所顯示字的字號大小; _screen. backcolor=rgb(0,255,45) 可更改主窗口的背景顏色。_vfp. Caption=”任意字符” 可更改vf標題欄上顯示的標題名。3)內存變量: 含義:表示內存中臨時存放數據的單元格,它的類型取決于其中存放數據的類型。 內存變量的賦值:即把一個數據存放到內存變量中。兩種方法:格式一:store 表達式/數據 to 變量名 可把同一個值賦給不同的變
11、量,各內存便另名之間要用逗號隔開。格式二:變量名=表達式/數據(注意:數據為常量時必須加”)可通過對內存變量重新賦值來改變其內容和類型。 內存變量的顯示:list/display memory like */? 用來顯示內存變量的信息。 內存變量的清除:格式一:clear memory/release all 表示清除全部內存變量格式二:release 變量名表 表示清除制定內存變量,可為若干個格式三:release all like */?或except */? 表示清除相匹配或不相配的內存變量。 數組:含義
12、:數組是一種特殊的內存變量,表示內存中連續的若干個存儲單元。用來存儲一系列數值,其中的每個值稱為數組的一個元素,可通過下標來顯示,下標用()或括起來。一個數組中的各個元素的值的數據類型可以不同。創建數組的命令:dimension/declare 數組名(元素個數)。注意:若定義了一個數組aa,再給數組名aa賦值,則表明是給aa數組中的每個元素都賦予了一個相同的值。數組分類:一維數組:一行多列 dimension 數組名(數值表達式)二維數組:多行多列dimension 數組名(數值表達式1,數值表達式2)其中,數值表達式1指定其行,數值表達式2指定其列,若只有一個數值,則為一維數組。一維數組與
13、二維數組的轉換:例如:dimension aa(3)aa(1,1),aa(1,2),aa(1,3)這是將一維數組轉換為二維數組。 dimension bb(2,3)bb(1),bb(2),bb(6)這是將二維數組轉換為一維數組。(四)表達式1.定義:通過特定的運算符將常量、變量和函數連接起來的式子,通過運算后,表達式都會生成一個值。2.形式:1)單一的運算對象,如常量、變量或函數。2)由運算符將運算對象鏈接起來的式子。3.作用:1)賦值2)輸出4.常用表達式的類型:1)數值表達式 定義:由算術運算符
14、將數值型數據連接起來形成的式子。 運算符:( ) 括號 *或 乘方*/和% 乘除和求余運算+和- 加和減這四類運算符的優先級依次降低,同類之間具有相同的優先級。 運算結果的類型:它的值仍是數值型。 注意求余運算符%的用法:它的被除數與出書都必須是整數,除數不能為0。求余三原則表述如下: 若c=a%b 做這種題的時候先算出c=a%b的值,然后c必須與a同號。還
15、要注意的是:若a與b同號,則當前余數就是c 若a與b異號,則當前余數結果是b+c例如:?10%3,-10%-3,10%-3,-10%3 1 -1 -2 22)字符表達式
16、 定義:由字符串運算符將字符型數據連接起來形成的式子。 運算符:+ 表示前后兩個字符串首尾連接成一個新的字符串 - 表示連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。 這兩個運算符之間不分優先級。 運算結果的類型:它的值仍是字符型。例如:a=”hello ” b=”everyone!” ?a+b,a-b hell
17、o everyone! hello everyone! 3)日期時間表達式 定義:用運算符將日期或日期時間型數據連接起來形成的式子。 運算符:也是+和-。 格式:格式結果及類型日期+天數日期型;指定日期若干天后的日期日期-天數日期型;指定日期若干天前的日期日期-日期數值型;兩個日期相差的天數日期時間-秒數日期時間型;指定日期時間若干秒前的日期時間日期時間+秒數日期時間型;指定日期時間若干秒后的日期時間日期時間-日期時間數值型;兩個指定日期時間相差的秒數4)關系表達式
18、; 定義:通常也簡稱為簡單邏輯表達式,它通過關系運算符將兩個運算對象連接起來形成的式子,即表達式1 關系運算符 表達式2。 運算符:< 小于> 大于= 等于<>、#或!= 不等于<= 小于等于>= 大于等于= 字符串精確比較$ 字符包含測試注意:=和$僅適用于字符型數據,其他運算符適用于任何類型的數據,但運算符前后的兩個運算對象的數據類型必須要保
19、持一致。數值型、貨幣型數據各自之間的比較按其數值的大小進行。日期型、日期時間型數據各自之間的比較,越晚日期或時間越大。邏輯型數據比較:.t.>.f.字串包含測試:字符表達式1 $ 字符表達式2 ,如果前者整體是后者的字串,即1包含于2,則結果為真,否則為假。字符串之間的比較原則是依次比較它們對應位置中的字符,若相同則繼續比較,若不同則根據這兩個字符的排序序列決定字符串的大小。但是,根據不同的排序方式,所出的結果也是不同的。² 排序方式設置:set collate to “排序次序名”排序次序名可以是machine、pinyin和stroke。Machine的原則是:空格<
20、數字<大寫字母(其中A最小)<小寫字母(其中a最小);(測asc碼函數:asc(字符表達式),可測比如”A”a”的asc碼為65和97)Pinyin的原則是:排在字母表后面的字母>排在前面的字母,若字母相同則大寫>小寫;Stroke的原則是:漢字的筆畫誰多誰大。² 字符串的精確比較與exact設置:“=”只有兩個字符串完全相同時,運算結果為邏輯真,否則為邏輯假。在“=”比較兩個字符串時,運算結果與set exact on/off有關:off表示只要右邊字符串整體與左邊字符串的前面部分內容相匹配,即可為真,否則為假;on則表示比較到兩個字符串全部結束,先到短的字
21、符串尾部加空格,使兩個字符串的長度相等,然后進行比較, 運算結果的類型:邏輯型。作用是比較兩個表達式的大小。5)邏輯表達式 定義:由邏輯運算符將邏輯型數據連接起來而形成的式子,格式為:關系式1 邏輯運算符 關系式2。 運算符:not/! 邏輯非 And
22、 邏輯與 Or 邏輯或其優先級的順序是由高到低。 運算結果的類型:仍是邏輯型數據的式子,即邏輯表達式。注意:不同類型的運算符之間的優先級順序為:先執行算術運算符、字符串運算符和日期時間運算符,其次執行關系運算符,最后執行邏輯運算符。(五)常用函數1.定義:函數是用程序來實現的一種數據運算或轉換,也就是預先定義好的程序段。可有若干運算對象,但只能有
23、一個運算結果,成為函數值或返回值。2.格式:函數名() 若括號內有變量則為有參函數,括號內無變量則為無參函數。但無論怎樣,括號都不可省略。3.常用函數的類型:1)數值函數:自變量和函數值為數值的一類函數。8個& 求絕對值函數格式:abs(數值表達式)功能:返回指定數值表示的絕對值結果:為N型,且必然>=0& 求符號函數格式:sign(數值表達式)功能:返回指定數值表達式的符號結果:為N型,當表達式的運算結果
24、為正、負和零時,函數值分別為1、-1和0& 求平方根函數格式:aqrt(數值表達式)功能:返回指定表達式的平方根,自變量表達式的值需>=0結果:為N型,且且必然>=0& 求圓周率函數格式:pi()功能:返回圓周率,該函數沒有自變量結果:為N型,即為3.14& 求整函數格式:int(數值表達式) 只求整,不四舍五
25、入 ceiling(數值表達式) floor(數字表達式)功能:返回指定數值表達式的整數部分 返回大于或等于指定數值表達式的最小整數 返回小于或等于指定數值表達式的最大整數結果:N型& 四舍五入函數格式:round(數值表達式1,數值表達式2)功能:返回指定表達式在指
26、定位置四舍五入的結果,數值表達式2指定四舍五入的位置。若數2>0,表示的是對數1要求的所保留的小數位數;若數2=0,表示的是對數1取整數,并四舍五入;若數2<0,表示的是對數1的整數位舍入的位數,并四舍五入。結果:為N型& 求余函數格式:mod(數值表達式1,數值表達式2)功能:返回兩個數值相除后的余數。數1是被除數,數2是除數。其他原則與求余運算符%的用法相同:被除數與除數都必須是整數,除數不能為0。求余三原則表述如下: 若c=a%b 做這種題的時候先算
27、出c=a%b的值,然后c必須與a同號。還要注意的是:若a與b同號,則當前余數就是c 若a與b異號,則當前余數結果是b+c結果:為N型注意:判定x是否能被i整除的方法有: mod(x,i)=0
28、x%i=0 int(x/i)= x/i& 求最大值和最小值函數格式:max/min(表達式1,表達式2表達式n) 其表達式的類型任意,但寫入括號內的必須是同一類型的表達式。功能:計算各自變量表達式的值,并返回其中的最大值或最小值結果:根據括號內表達式的類型而定2)字符函數:自變量一般是字符型數據的函數。10個& 求字符串長度函數格式:len(字符表達式)
29、功能:返回指定字符表達式值的長度,即所包含的字符個數。結果:N型& 大小寫轉換函數格式:upper/lower(字符表達式)功能:將指定表達式中的小寫字母轉換成大寫字母或者將指定表達式中的大寫字母轉換成小寫字母,其他字符不變結果:C型& 空格字符串生成函數格式:space(數值表達式)功能:返回由指定數目的空格組成的字符串結果:C型&
30、 刪除前后空格函數格式:trim(字符表達式) ltrim(字符表達式) alltrim(字符表達式)功能:返回指定字符表達式值去掉尾部空格后形成的字符串 返回指定字符表達式值去掉前導空格后形成的字符串 返回指定字符表達式值去掉前導和尾部空格后形成的字符串結果:C型&
31、 取子串函數格式:left(字符表達式,長度) right(字符表達式,長度) substr(字符表達式,起始位置,長度)若缺省長度,表示從指定位置一直取到最后一個字符功能:從指定表達式值的左端取一個指定長度的字串作為函數值 從指定表達式值的右端取一個指定長度的字串作為函數值 從指定表達式值的指定起始位置取一個指定長度的字串作為函數值結果:C型&
32、amp; 計算子串出現次數函數格式:occurs(字符表達式1,字符表達式2)功能:返回第一個字符串在第二個字符串中出現的次數,若字符串1不是字符串2的字串,函數值為0結果:N型& 求子串位置函數格式:at(字符表達式1,字符表達式2,數值表達式) 區分大小寫 atc(字符表達式1,字符表達式2,數值表達式)不區分大小寫功能:若字符表達式1是字符表達
33、式2的字串,則返回字符表達式1值的首字母在字符表達式2值中的出現位置;若不是字串返回0;第三個變量數值表達式用于表明要在字符表達式2值中搜索字符表達式1值的第幾次出現的位置,數值表達式的默認值是1。結果:N型& 子串替換函數格式:stuff(字符表達式1,起始位置,長度,字符表達式2)功能:用字符表達式2的值替換字符表達式1中由起始位置和長度指明的一個子串,替換和被替換的字符個數不一定相等。如果長度值是0,字符表達式2則插入由起始位置指定的字符前,如果長度值是空串,那么字符表達式1中由起始位置和長度指明
34、的字串被刪去。結果:C型& 字符替換函數格式:chrtran(字符表達式1,字符表達式2,字符表達式3)功能:當字符表達式1中的一個或多個字符與字符表達式2中的某個字符相匹配時,就用字符表達式3中的相同位置上的對應字符替換這些字符。如果字符表達式3包含的字符個數少于字符表達式2包含的字符個數,因為沒有對應字符那么字符表達式1中相匹配的各個字符將被刪除;如果字符表達式3包含的字符個數多于字符表達式2包含的字符個數,多余字符被忽略。結果:C型&
35、0; 字符串匹配函數格式:like(字符表達式1,字符表達式2)功能:比較兩個字符串對應位置上的字符,若所有對應字符都相匹配,函數值返回邏輯真,否則返回邏輯假;字符表達式1中可以包含通配符*和?,*可與任何數目的字符相匹配,?可以與任何單個字符相匹配。結果:L型3)日期和時間函數:自變量一般是日期型或日期時間型數據的函數。& 系統日期、系統時間和系統日期時間函數格式:date() time() &
36、#160; datetime()功能:返回當前系統日期 返回當前系統時間 返回當前系統日期時間結果:D型C型T型& 求年份、月份和天數函數格式:year(日期表達式/日期時間表達式) month(日期表達式/日期時間表達式) day(日期表達式/
37、日期時間表達式)功能:從指定的日期表達式或日期時間表達式中返回年份從指定的日期表達式或日期時間表達式中返回月份從指定的日期表達式或日期時間表達式中返回天數結果:N型& 求時、分、秒函數格式:hour(日期時間表達式) minute(日期時間表達式)sec(日期時間表達式)功能:從指定的日期時間表達式中返回小時部分(24小時制)從指定的日期時間表達式中返回分鐘部分從指定的日期時間表達式中返回秒數部分結果:N型4)數據類型轉換函數:其功能就是將某一
38、種類型的數據轉換成另一種類型的數據。5個& 數值轉換成字符串格式:str(數值表達式,長度,小數位數)功能:將數值表達式的值轉換成字符串,需要時自動四舍五入設數值表達式原長度為m,指定長度為n若n>m,返回結果自加前導空格若整數位<=n<=m,優先取整數部分,再根據指定長度中剩下的位數確定小數位,注意整數位中不包括小數點若n<整數位,返回結果為一串星號*,即不能正常轉換。注意:長度的默認值是10,小數位數的默認值是0結果:C型&
39、0; 字符串轉換成數值格式:val(字符表達式)功能:將由數字符號(包括正負號、小數點)組成的字符型數據轉換成相應的數值型數據。若字符串內出現非數字字符,那么只轉換前面部分;若字符串的首字符不是數字符號,則返回數值零,但忽略前導空格。 結果:N型& 字符串轉換成日期或日期時間格式:ctod(字符表達式)ctot(字符表達式)功能:將字符表達式的值轉換成日期型數據將字符表達式的值轉換成日期時間型數據結果:D型或T型&
40、; 日期或日期時間轉換成字符串格式:dtoc(日期表達式/日期時間表達式)/dtoc(日期表達式/日期時間表達式 ,1) ttoc(日期時間表達式)/ttoc(日期時間表達式 ,1) 注意:,1表示去掉年月日之間的分隔符功能:將日期型數據或日期時間型數據的日期部分轉換成字符串 將日期時間型數據轉換成字符串結果:C型,結果分別為8個和14個字符&
41、60; 宏替換函數格式:&字符型變量.功能:替換出字符型變量的內容,若該函數與其后的字符無明確分界,則用.作為函數結束標識結果:由字符型變量的內容決定5)測試函數:主要用來測試當前操作對象的狀態。11個& 值域測試函數格式:between(表達式1,表達式2,表達式3)功能:判斷表達式1的值是否在表達式2和表達式3的值之間,若表達式1的值大于等于表達式2的值并且小于等于表達式3的值,那么函數值為邏輯真,否則為邏輯假。若表達式2和表達式3
42、的值中有一個是null值,那么函數值也為null值結果:L型或null值& null值測試函數格式:isnull(表達式)功能:判斷表達式的運算結果是否為null值,是則返回邏輯真,否則邏輯假結果:L型& “空值”測試函數格式:empty(表達式)功能:判斷指定表達式的運算結果是否為“空值”,是則返回邏輯真,否則邏輯假結果:L型注意:不同類型數據的“空”值規定:數據類型空值數據類型空值數值型0雙精度型0字符型空串
43、、空格、制表符、回車、換行日期型空(ctod()貨幣型0日期時間型空(ctot()浮點型0邏輯型.f.整型0備注型字段空(無內容)& 數據類型測試函數格式:vartype(表達式)功能:測試指定表達式的類型,返回一個大寫字母表示某個類型的數據結果:C型注意:各大寫字母的含義如下:C字符型或備注型 N數值型、整型、浮點型或雙精度型Y貨幣型 L邏輯型 O
44、對象型 G通用型 D日期型 T日期時間型 Xnull值 U未定義注意:關于表文件也有一系列的測試函數,vf為每個打開的表設置了一個內部記錄指針,指向正在被操作的記錄,該記錄稱為當前記錄,記錄指針的作用是標識表的當前記
45、錄。表文件的邏輯結果如下圖所示:文件開始標識(表文件首/BOF)首記錄(top)第2個記錄第n個記錄尾記錄(bottom) 文件結束標志(表文件尾/EOF)& 表文件首測試函數格式:bof(工作區號/表別名)功能:測試指定表文件中的記錄指針是否指向文件首,是則返回邏輯真,否則返回邏輯假結果:L型注意:若缺省自變量則測試當前表文件若表文件中不包含任何記錄則 函數返回邏輯真&am
46、p; 表文件尾測試函數格式:eof(工作區號/表別名)功能:測試指定表文件中的記錄指針是否指向文件尾,是則返回邏輯真,否則返回邏輯假結果:L型注意:若缺省自變量則測試當前表文件若表文件中不包含任何記錄則函數返回邏輯真& 記錄號測試函數格式:recno(工作區號/表別名)功能:測試指定表文件中當前記錄指針所指記錄的記錄號結果:N型注意:若缺省自變量則測試當前表文件若指定工作區沒有打開的表文件,函數值為0&
47、; 記錄個數測試函數格式:reccount(工作區號/表別名)功能:返回指定表文件中的記錄個數結果:N型注意:若缺省自變量則測試當前表文件若指定工作區沒有打開的表文件,函數值為0& 條件測試函數格式:iif(邏輯表達式,表達式1,表達式2)功能:測試邏輯表達式的值,若為邏輯真,函數返回表達式1的值,若為邏輯假,函數返回表達式2的值結果:根據表達式1和表達式2的類型而定注意:表達式1和表達式2的類型不要求相同&
48、160; 記錄刪除測試函數格式:deleted(工作區號/表別名)功能:測試指定的表文件中的當前記錄是否有邏輯刪除標記,有則返回邏輯真,沒有則返回邏輯假結果:L型四、VF數據庫及其操作(一)數據庫及其相關操作1.概念:1)含義:數據庫是一個邏輯上的概念和手段,它通過一組系統文件將相互關聯的數據庫表及其相關的數據庫對象統一組織和管理。2.建立數據庫文件:3種方法1)打開項目管理器數據選項卡數據庫新建新建數據庫輸入數據庫文件名保存2)文件新建文件類型:數據庫輸入數據庫文件名保存3)create database 數據庫文件名(此命令輸入后
49、數據庫文件已建立,但其數據庫設計器并未顯示,只需再輸入modify database 數據庫文件名即可顯示)3.打開數據庫文件:3種方法1)打開項目管理器數據選項卡選中相應的數據庫打開/關閉2)文件打開文件類型:數據庫選中相應的數據庫確定3)open database 數據庫文件名4.修改數據庫文件:3種方法即調用數據庫設計器1)打開項目管理器數據選項卡展開數據庫至相應的數據庫修改2)文件打開文件類型:數據庫選中相應的數據庫確定3)modify database 數據庫文件名(文件名存在是修改,不存在即為新建)5.關閉數據庫文件:2種方法1)close database 關閉當前數據庫(之后不
50、加當前庫文件名)2)close all 關閉所有打開的數據庫6.刪除數據庫文件:2種方法1)打開項目管理器數據選項卡展開數據庫至相應的數據庫移去移去2)delete database 數據庫文件名注意:& 做題前切記設置好自己的存盤位置,未存至指定位置,不得分。& 項目、項目文件、項目管理器使用項目管理器時,先要建立項目文件(.pjx)項目文件的建立方法:2種鼠標法:文件新建文件類型:項目輸入項目文件名保存項目管
51、理器 命令法:create/modify project 項目文件名項目是指文件、數據、文檔和vf對象的集合項目管理器是vf中處理數據和對象的主要組織工具,為系統開發者提供了極為便利的工作平臺;功能:組織和管理數據以及編譯。項目管理器各選項卡的具體內容: 全部選項卡:數據 文檔 類 代碼 其他 數據選項卡:數據庫 自由表 查詢 文檔選項卡:表單 報表 標簽 類選項卡:無
52、 代碼選項卡:程序 API庫應用程序 其選項卡他:菜單 文本文件 其他文件(二)數據庫表及其相關操作1.概念:數據庫表是數據的載體,擴展名為.dbf。2.建立數據庫表:4種方法1)打開項目管理器數據選項卡展開相應數據庫至表新建新建表輸入數據庫表文件名保存2)打開數據庫設計器擊右鍵/數據庫菜單新建表輸入數據庫表文件名保存3)文件新建文件類型:表輸入數據庫表文件名保存4)create 表名.dbf注意:建立數據庫表時窗口必須打開相對應的數據庫。3.打開數據庫表:2種方法1)文件打開文件類型:表選中相應表
53、確定2)use 表名(有表名是打開相應表,無表名是關閉表)4.修改數據庫表:4中方法1)打開項目管理器數據選項卡展開數據庫至相應的表修改2)數據庫設計器選中相應表擊右鍵/數據庫菜單修改3)選中相應表顯示菜單表設計器修改即可4)modify structure5.刪除數據庫表:3種方法1)打開項目管理器數據選項卡展開數據庫至相應的表移去刪除2)數據庫設計器選中相應表擊右鍵/數據庫菜單刪除/移去刪除3)drop table 數據庫表名6.表的瀏覽:4種方法1)打開項目管理器數據選項卡展開數據庫至相應的表瀏覽2)數據庫設計器選中相應表擊右鍵/數據庫菜單瀏覽3)選中相應的表顯示菜單瀏覽4)browse
54、 表名(之前需用use 命令選定當前表)7.向表追加記錄(都是追加在原有記錄之后)² append blank 在所有記錄后追加一條空白記錄,等價于表菜單-追加新記錄² append 在所有記錄后追加若干條新記錄8.向表插入記錄² insert 在當前記錄之后插入若干條記錄² insert before 在當前記錄之前
55、插入若干條記錄² insert blank 在當前記錄之后插入一條記錄² insert before blank 在當前記錄之前插入一條記錄9.刪除表記錄邏輯刪除:只是在記錄旁作刪除標記,必要時還可去掉刪除標記恢復表記錄² delete 刪除表中當前記錄² delete for 條件表達式 刪除表中滿足條件的所有記錄物
56、理刪除:真正從表中刪除記錄² pack 將當前表中具有邏輯刪除標記的記錄物理刪除² zap 將當前表中所有記錄物理刪除,無論是否由邏輯刪除標記10.恢復表記錄² recall 恢復表中當前記錄² recall all 恢復表中所有被刪記錄² reca
57、ll for 條件表達式 恢復表中滿足條件的所有被刪記錄11.更新表記錄² replace all 字段名 with 表達式 把表中全部記錄的字段名更新為表達式的值² replace 字段名 with 表達式 只把表中當前記錄的字段名更新為表達式的值²
58、60; replace 字段名 with 表達式 for 條件表達式 只把表中滿足條件的記錄的字段名更新為表達式的值12.顯示表記錄² list 默認顯示當前表中所有記錄² dispay 默認顯示當前表中當前記錄²
59、0; list/display 字段名1字段名n for 條件表達式 顯示表中滿足調價的記錄² list next n(n為正整數或負整數)顯示從當前記錄往后/往前算起的n條記錄13.查詢定位記錄² go n(此處n為記錄號)將指針定位于第n條記錄,即記錄號為n的記錄² go to
60、p 將指針定位于首記錄² go bottom 將指針定位于尾記錄² skip n(n為正整數或負整數,默認為1) 指針從當前記錄向下/向上跳n² 條件定位:locate for 定位表達式 將指針定位于當前表中滿足條件的第一條記錄上為了判斷指針所指向的記錄是否滿足條件,可用foun
61、d()函授測試,返回邏輯真值,表示滿足條件,并且還可通過continue命令繼續查找表中其他滿足條件的記錄。(三)自由表及其與數據庫表之間的轉換1.自由表:即不屬于任何數據庫的表。它的建立方法與數據庫表的方法相同,但是窗口必須要沒有打開的數據庫。2.自由表與數據庫表之間的轉換1)將自由表添加到數據庫中 打開項目管理器數據選項卡展開數據庫至表添加選中自由表確定 打開數據庫設計器擊右鍵/數據庫菜單添加表選中自由表確定 add table 自由表名2)從數據庫中移為自由表
62、; 打開項目管理器數據選項卡展開數據庫至表移去移去 打開數據庫設計器擊右鍵(刪除)/數據庫菜單(移去)移去 remove table 自由表名(四)索引及其相關操作1.概念:索引是由指針構成的文件,這些指針邏輯上按照索引關鍵字值進行排序,創建一個指向(.dbf)文件記錄的由指針構成的文件,新創建的索引文件和.dbf文件分別存儲,并不改變原表中記錄的物理順序。2.作用:可加速對表的查詢操作。3.分類:1)主索引:建立主索引的字段值不允許重復,一個表只能有
63、一個主關鍵字,所以一個表只能創建一個主索引,自由表不能建立主索引。2)候選索引:也要求建立候選索引的字段值不允許重復,一個表可建多個候選索引,自由表也可建立候選索引。3)唯一索引:為分類排序,建立唯一索引的字段值可以重復,它以指定字段的首次出現值為基礎,選定一組記錄并對記錄進行分類且排序,一個數據庫表或自由表中可建多個唯一索引。4)普通索引:建立普通索引的字段值可以重復,并且索引項中也允許出現重復值,系統默認為普通索引。一個數據庫表或自由表可建多個普通索引。4.索引的建立:2種方法1)用鼠標在表設計器進行,方法如下:打開表設計器字段選項卡選中相應字段名選擇升/降序索引選項卡選擇索引類別確定2)
64、通過命令建立,格式如下:index on 字段名 to 單獨索引文件名/tag 索引項名 asce(默認升序,可省略不寫)/desc(降序) unique(唯一索引)/candidate(候選索引)注意:to 單獨索引文件名建立的是單獨索引文件,它的擴展名是(.idx),一般只在建立臨時索引時才可使用,其中只有一個排序,并且只能建立唯一索引或普遍索引。tag索引項名短語是建立結構符合索引,即多個索引可建立在一個索引文件中,其文件名與相關的表同名,并且有.cdx為擴展名,其中包含多個排序。5.索引的使用1)打開索引文件:set index to 結構復合索引文件名.cdx
65、 set index to 單獨索引文件名.idx2)在使用一個特定的索引項進行查詢顯示時,必須指定當前索引項:set order to 索引項名/序列號3)使用索引快速定位:seek 字段值 order 索引項名/序列號作用:根據某個索引項將指針快速定位于相關字段值的第一條記錄4)刪除索引:delete tag 索引項名 刪除指定索引delete tag all 刪除當前表中所有索引(五)數據完整性1.
66、概念:是保證數據正確的特性,一般包括實體完整性、域完整性和參照完整性等。2.實體完整性1)概念:是保證表中記錄唯一的特性,即在一個表中不允許有重復的記錄。2)實現方法:在vf中利用主關鍵字(主索引)或候選關鍵字(候選索引)來保證表中記錄的唯一性。3.域完整性1)概念:即字段有效性,是字段值的取值范圍。只有數據庫表中才可建立域完整性。2)域約束規則:也稱為字段有效性規則,即通過對字段類型、字段寬度或定義的取值范圍來對輸入數據進行正確性檢驗。3)建立方法:打開表設計器選中相應的字段編輯其約束性規則確定 編輯其約束性規則時的要求: 規則:邏輯表達式確定
67、字段值取值范圍 信息:字符串表達式若違背上述規則時窗口的提示信息alter table 表名 alter 字段名 set/drop check(規則)邏輯式 error(信息)字符表達式 默認值:所寫數據類型由字段類型決定alter table 表名 alter 字段名 set/drop default(默認值)默認值的值4.參照完整性1)含義:當插入、刪除或修改一個表中的數據時,通過參照引用相互關聯的另一個表中的數據,來檢驗對表的數據操作是否正確。2)三原則:插入原則、刪除原則和修改原則3)建立和編輯參照完整性原則的方法:3步²
68、60; 建立表之間的聯系(兩表必須在同一數據庫中)打開數據庫設計器父表建立主索引,字表建立普通索引建立相應表之間的聯系(鼠標從主索引拖拽至普通索引即可,表之間會生成一條細實線,右擊可刪除聯系)² 清理數據庫(即指物理刪除數據庫中各個表中所有帶有刪除標記的記錄,相當于pack)打開數據庫設計器數據庫菜單清理數據庫(若清除未成功,則close all,然后再以獨占方式打開數據
69、庫重新清理即可)² 設置參照完整性原則打開數據庫設計器擊右鍵/編輯參照完整性規則 更新規則規定了當更新父表中連接字段(主關鍵字)值時,如何處理相關的子表中的記錄:級聯則用新的連接字段值自動修改子表中的相關所有記錄;限制若子表中有相關記錄,則禁止修改父表中的連接字段值;忽略則不作參照完整性檢查,可以隨意更新父表中的連接字段值。刪除規則規定了當刪除父表中記錄時,如何處理子表相關的記錄: 級聯則自動刪除子表中相關所有記錄; 限制若子表中有相關的記錄
70、,則禁止刪除父表中的記錄; 忽略則不作參照完整性檢查,即刪除父表的記錄時與子表無關。插入規則規定了當插入子表中的記錄時,是否進行參照完整性檢查: 限制若父表中沒有匹配的連接字段值則禁止插入子表記錄; 忽略則不作參照完整性檢查,即可以隨意插入子表記錄。(六)多個表的同時使用與建立表之間的臨時關聯1.多個表的同時使用1)vf中共有32767個工作區,每一個工作區只能打開一張表;若需在同一時刻打開多個表,則只需在不同的工作區中打開不同的表。2)指定工作區的命令格式: 格式一:select 工作區號(1-32767)/系統別名(a-j,w11-w3276
71、7)/0(即選定當前最小工作區) 注意:此格式最后一次所選工作區為當前工作區格式二:use 表名 in 工作區號/系統別名/0 注意:此格式第一次所選工作區為當前工作區3)測試當前工作區號的函數:selected()2.建立表之間的臨時關聯1)含義:永久聯系是指基于索引建立的表之間的關聯,顯示為表索引之間的細實線,每次使用時不需重新建立,但它不能控制工作區中記錄指針的聯動。臨時關聯:能夠控制表之間記錄指針關系的臨時聯系(父動子動)。2)建立方法:²
72、60; 分工作區打開相應表² 分別為不同工作區的表中的外部關鍵字建立索引(普通索引)² 建立臨時關聯命令格式為:set relation to 索引關鍵字(外部關鍵字)into工作區號/系統別名/表名注意:當前工作區的表為父表。而into 短語后的工作區中的表為子表。3)解除臨時聯系:set relation to 取消當前記錄到所有表的
73、臨時關聯;set relation off into工作區號/系統別名/表名 取消某個具體的臨時聯系。五、關系數據庫標準語言SQL(一)SQL概述1.SQL的基本概況1)含義:SQL是structured query languge的縮寫,它是關系數據庫的標準數據語言,所有的關系數據庫管理系統都支持。2)功能:數據查詢、數據操作和數據定義2.特點1)一體化:包括數據定義、查詢和操作等方面功能,可以完成數據庫活動中的全部工作;2)高度非過程化:只需告訴計算機用戶“做什么”,SQL便可自動完成全部工作;3)非常簡潔:只有為數不多的幾條命令組成;4)它可以直接以命令方式使用,也可以嵌入到
74、程序設計語言中以程序方式使用。3.主要短語及其含義1)select-說明要查詢的數據2)from-說明查詢的數據來自哪些表,可對單表或多表進行查詢3)where-說明查詢條件,即選擇元組的條件4)group by-用于對查詢進行分組,可用它對數據進行分組匯總5)having-必須跟group by短語一起使用,用來限定分組必須滿足的條件6)order by-用來對查詢的結果進行排序(二)SQL的查詢功能1.簡單查詢1)適用范圍:即單表查詢,查詢的字段信息和查詢條件都來自于同一張表2)語法格式:select 字段名1,字段名n from 表名 where 條件式3)查詢細節:ü di
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園小班數學教案《找圓形》
- 2025年中小學心理健康教育教師考試試題及答案
- 保密協議、競業禁止協議與培訓
- 針灸科胃痛病例分享
- 小學教育教學知識
- 2025年工程管理與咨詢能力測試卷及答案
- 2025年教育技術學期末考試試題及答案
- 2025年社會調查與統計分析考試試卷及解答
- 2025年社區護理認證考試試題及答案
- 2025屆北京市101中學英語七下期末學業質量監測模擬試題含答案
- 70歲以上的換領駕駛證三力測試題答案
- 藥品售后服務承諾書
- 露天礦防火安全知識講座
- 2024年山東煙臺財金集團招聘筆試參考題庫含答案解析
- GB/T 43234-2023成型模斜導柱
- 馬工程版《中國經濟史》各章思考題答題要點及詳解
- 中建公路工程10T龍門吊安拆方案
- 2023年石獅市國企招聘考試基礎題庫
- OBE理念下的一流專業和課程建設
- 游戲俱樂部群公告范本
- 國家玩具安全技術規范
評論
0/150
提交評論