內(nèi)容文稿講稿_第1頁
內(nèi)容文稿講稿_第2頁
內(nèi)容文稿講稿_第3頁
內(nèi)容文稿講稿_第4頁
內(nèi)容文稿講稿_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本資料由人人公共主頁“計(jì)算機(jī)二級VFP”收集整理,資 歸原作者所有 第一部分常量、變量、表達(dá)式常量與變. 5.12×1012①.由前置(前導(dǎo))符號“$”開始, ①.用單引號、雙引號、方括號定界如'abcd'、"abcd"、 ②.定界符不能交叉, ’abcd”、”abcd]都是錯(cuò)誤的③.不包含任何字符的字符串("")叫空串,空串與包含空格的字符串 ")不同①.用大括號(花括號)定界, ③.日期型常量分 傳統(tǒng)日期格式與嚴(yán)格日期格式傳統(tǒng)日期格式(SETSTRICTDATETO0設(shè)置年可用2位,也可以用4位 如嚴(yán)格日期格式(SETSTRICTDATETO[1|2]設(shè)置{^yyyy-mm-書寫時(shí)大括號內(nèi)的第一個(gè)字符必須是脫字符包括日期與時(shí)間兩個(gè)部分,{<日期>,<時(shí)間>},如{^2006-03-邏輯型常量取值有 1.類代表字完整英文單長度特特CNYDTLFIBMG②.2.字符 用C表示數(shù)值 用N表示貨幣 用Y表示日期 用D表示日期時(shí)間 用T表示3.如 &&執(zhí)行該命令前a變量不存在,執(zhí)行該命令后a變量存在且其值為定義格式DIMENSION數(shù)組名>(<1>[,< 例如 &&定義一個(gè)名為a,共有5個(gè)單元的一維數(shù) &&定義一個(gè)名為a,4行5列共有20個(gè)單元的二維數(shù)例如 沒有三維數(shù)組,所以是錯(cuò)誤默認(rèn)數(shù)組的類型是邏輯 數(shù)組定義之后,初始化之前,其值為邏輯假(.F.Dime &&該指令執(zhí)行后,a數(shù)組的所有單元a(1)、a(2)、a(3)、a(4)均為邏輯假 &&該指令執(zhí)行后,a數(shù)組的所有單元a(1)、a(2)、a(3)、a(4)均為Dime 簡單賦值<內(nèi)存變量表達(dá)式例如批量賦值 <表達(dá)式 <內(nèi)存變量名表例如STORE 格式1?[<表達(dá)式表>] 格式 ??[<表達(dá)式表 不回車換行,直接顯示信格式 顯示內(nèi)存中變量(不暫停格式 DISPLAY 顯示內(nèi)存中變量(滿一屏?xí)和8袷? 格式 RELEASE<內(nèi)存變量表①.運(yùn)算符+、-、*、/、%、**、^、例?5%--5%-13①.運(yùn)算 +兩個(gè)字符串首尾連接,如 ?a+b- ?a-b3.日期時(shí)間表達(dá)式+、格結(jié)果及類格結(jié)果及類++--++--運(yùn)算說運(yùn)算說><=#、<>、$①.字符串大小比較規(guī)則漢字按漢字的全拼字母比 如:"王">"李"(相當(dāng)于"wang">字 "a"<"A"<"b"<"B"<…<"z"<邏輯表達(dá)式.NOT.(或!)、.AND.、6.運(yùn)算符優(yōu)先級算術(shù)運(yùn)算符>字符串運(yùn)算符>日期時(shí)間運(yùn)算符>關(guān)系運(yùn)算符>算術(shù)運(yùn)算乘方>>加、減例如?(1+2^(1+2))/(2+2)字符運(yùn) 加、減優(yōu)先級相日期運(yùn) 加、減優(yōu)先級相關(guān)系運(yùn) 大于、小于、大于等于、小于等于、不等、等于優(yōu)先級相邏輯運(yùn)算ORAND3.1數(shù)值函數(shù)格式ABS(<數(shù)值表達(dá)式 參數(shù)類型 函數(shù)值類型作用求<數(shù)值表達(dá)式>的絕對值例題?ABS(12), 格式SQRT(<數(shù)值表達(dá)式 參數(shù)類型 函數(shù)值類型作用求<數(shù)值表達(dá)式>的平方根說明數(shù)值表達(dá)式不能為負(fù)數(shù)格式★INT(<數(shù)值表達(dá)式 參數(shù)類型 函數(shù)值類型作用返回<數(shù)值表達(dá)式>整數(shù)部分(截尾取整)說明將一個(gè)數(shù)的整數(shù)部分取出來,不管小數(shù)部分例題?Int(9.99999)9格式ROUND(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式 參數(shù)類型 函數(shù)值類型作用返回<1>在<2>例題?Round(12.567,2), 格式★MOD(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式 參數(shù)類型 函數(shù)值類型作用返回<1>除以<2>的余數(shù)說明其規(guī)則與運(yùn)算符(%)相同3,MOD(-10,3,MD(- 格式MAX(<表達(dá)式1>,<表達(dá)式 參數(shù)類型函數(shù)值類型作用求各表達(dá)式中最大值。例題Max(12,15.5,4.23),Max("abc"ab"),Max("2","12","05"),Max("汽車","飛機(jī)","輪船 格式MIN(<表達(dá)式1>,<表達(dá)式 參數(shù)類 函數(shù)值類型作用3.2字符函數(shù)1.格式★L(fēng)EN(<字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用求<字符表達(dá)式>的字符長度(字符數(shù))說明空字符串的長度為0例題x="Visual2.格式★UPPER(<字符表達(dá)式 參數(shù)類 函數(shù)值類型作用將<字符表達(dá)式>中的小寫字符變?yōu)榇髮懽址f明其它字符不變例題Upper("中文Visual格式LOWER(<字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用將<字符表達(dá)式>3.格式★SPACE(<數(shù)值表達(dá)式 參數(shù)類型 函數(shù)值類型作用4.格式★TRIM(<字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用去掉<字符表達(dá)式>尾部空格說明其它空格保留(不去除)例題?"abc□"+"123",Trim("abc□")+"123" ★RTRIM(<字符表達(dá)式CC★L(fēng)TRIM(<字符表達(dá)式CCALLTRIM(<字符表達(dá)式CC作用去掉<字符表達(dá)式>前導(dǎo)空格和尾部空格說明中間空格保留(不去除)5.★L(fēng)EFT(<字符表達(dá)式>,<長度CC說明如果<字符表達(dá)式>字符數(shù)目小于<長度>時(shí),則取出所有字符例題?Left("中文VisualFoxPro6.0",4)★RIGHT(<字符表達(dá)式>,<長度參數(shù)類型C說明如果<字符表達(dá)式>字符數(shù)目小于<長度>時(shí),則取出所有字符例題?Right("中文VisualFoxPro6.0",4)格式★SUBSTR(<字符表達(dá)式>,<起始位置>[,<長度 參數(shù)類型 函數(shù)值類型作用從<字符表達(dá)式>中某位置開始取若干字符說明若缺省<長度>參數(shù),則取到末尾例題SUBSTR("VisualFoxPro6.0",5,6)6.格式★AT(<字符表達(dá)式1>,<字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用返回<1>的首字符在<2>中的位置“字符表達(dá)式”例題AT("ab","asabhjabh" 7.格式★STUFF(<1>,<起始位置>,<長度>,<2>)參數(shù)類型:C函數(shù)值類型:C作用用<2>替換<1>中從<起始位置>開始的若干字符,替換的字符數(shù)由說明若例題?Stuff("中文VisualFoxPro6.0",5,13,"Turbo")中文8.格式★L(fēng)IKE(<字符表達(dá)式1>,<字符表達(dá)式 參數(shù)類型 函數(shù)值類型說明<1>中可以包含通配符*和?。例題?Like("ab?","abc")3.3日期時(shí)間函數(shù)1.格式 參數(shù)類 函數(shù)值類型作用獲取系統(tǒng)當(dāng)前日期例題?Date()格式 參數(shù)類 函數(shù)值類型作用獲取系統(tǒng)當(dāng)前時(shí)間例題?Time()格式 參數(shù)類 函數(shù)值類型作用獲取系統(tǒng)當(dāng)前日期與時(shí)間例題?Datetime()10/12/0712:13:452.格式★YEAR(<日期表達(dá)式>|<日期時(shí)間表達(dá)式 參數(shù)類型 函數(shù)值類型作用從指定的<日期表達(dá)式>或<日期時(shí)間表達(dá)式>獲取年份例題?Year({^2007.12.11})格式★MONTH(<日期表達(dá)式>|<日期時(shí)間表達(dá)式 參數(shù)類型 函數(shù)值類型作用從指定的<日期表達(dá)式>或<日期時(shí)間表達(dá)式>獲取月份例題?Month({^2007.12.11})格式DAY(<日期表達(dá)式>|<日期時(shí)間表達(dá)式 參數(shù)類 函數(shù)值類型作用從指定的<日期表達(dá)式>或<日期時(shí)間表達(dá)>式獲取天例題?Day({^2007.12.11})3.格式HOUR(<日期時(shí)間表達(dá)式 參數(shù)類 函數(shù)值類型作用從指定的<日期時(shí)間表達(dá)式>獲取小時(shí)部分說明函數(shù)值為24小時(shí)制格式MINUTE(<日期時(shí)間表達(dá)式 參數(shù)類型 函數(shù)值類型作用從指定的<日期時(shí)間表達(dá)式>格式SEC(<日期時(shí)間表達(dá)式 參數(shù)類型 函數(shù)值類型作用從指定的<日期時(shí)間表達(dá)式>3.41.格式★STR(<數(shù)值表達(dá)式>[,<長度>[,<小數(shù)位 參數(shù)類型 函數(shù)值類型作用將<數(shù)值表達(dá)式>的值轉(zhuǎn)換成字符型數(shù)據(jù)L數(shù)值表達(dá)式>值的整數(shù)部分位數(shù)+<小數(shù)位數(shù)>+1(小數(shù)點(diǎn)如果<長度>值大于等于<數(shù)值表達(dá)式>值的整數(shù)部分位數(shù)(包括負(fù)號)L,則優(yōu)先滿足例題? str(123.456,6),str(123.456,6,2), 2.格式★VAL(字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用將<字符表達(dá)式>的值轉(zhuǎn)換成數(shù)值型數(shù)據(jù)例題?Val("123.4"),Val("123abd34"), 3.ASC格式ASC(字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用將“字符”轉(zhuǎn)換成對應(yīng)的ASCII值。若“字符表達(dá)式”是一個(gè)字符串(非一個(gè)字符ASCII碼"a"—97,"A"—65,"0"—例題 ASC("a"),ASC("abcd"),ASC("123"),ASC("中國 .格式CHR(數(shù)字表達(dá)式 參數(shù)類型 函數(shù)值類型例題 5.格式CTOD(字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用將<字符表達(dá)式>的值轉(zhuǎn)換成日期型數(shù)據(jù)“字符表達(dá)式”必須是日期格式,如例題?Ctod("12.21.07"),Ctod("13.21.07") 格式CTOT(字符表達(dá)式 參數(shù)類型 函數(shù)值類型作用將<字符表達(dá)式>6.格式DTOC(日期表達(dá)式|日期時(shí)間表達(dá)式 參數(shù)類型 函數(shù)值類型作用將<日期表達(dá)式>或<日期時(shí)間表達(dá)式>的值轉(zhuǎn)換成字符型數(shù)據(jù)例題下列程序執(zhí)行后的輸出結(jié)果為? 格式TTOC(日期時(shí)間表達(dá)式 參數(shù)類型 函數(shù)值類型作用將<日期時(shí)間表達(dá)式>7.格式★&<字符型變量 參數(shù)類型 函數(shù)值類型作用替換出<字符型變量>的內(nèi)容,即&的值是變量中的字符串。例題 例題 設(shè)N=886,M=345,K='M+N',表達(dá)式1+&K的值是 A、 D、3.5測試函數(shù)格式★ISNULL(<表達(dá)式 參數(shù)類型 函數(shù)值類型作用若<表達(dá)式>的值為null則返回.T.,否則返回null數(shù)據(jù),將全部返回.F.例題?isnull(.null.),isnull(12),isnull("") 格式★EMPTY(<表達(dá)式 參數(shù)類型 函數(shù)值類型作用若<表達(dá)式>的值為“空”則返回.T.,否則返回00空(0空(00例題?Empty(""), "),Empty("12"),Empty(0), 格式★VARTYPE(<表達(dá)式 參數(shù)類型函數(shù)值類型作用返回<表達(dá)式>CGNDYTLXNullOU格式IIF(<邏輯表達(dá)式>,<表達(dá)式1>,<表達(dá)式 參數(shù)類型函數(shù)值類型C/N/Y/L/D/T/I/F/B 說明若<邏輯表達(dá)式>的值為.T.則返回<表達(dá)式1>的值,否則返回<表達(dá)式2>的值例題iif(3>4,"正確","錯(cuò)誤格式EOF([<工作區(qū)號>|<表別名 參數(shù)類型 函數(shù)值類型作用測試當(dāng)前工作區(qū)或說明若指向文件尾返回.T.,否則返回.F.舉例 測試當(dāng)前工作區(qū)指針是否指向文件末格式BOF([<工作區(qū)號>|<表別名 參數(shù)類型 函數(shù)值類型作用測試當(dāng)前工作區(qū)或說明若指向文件首返回.T.,否則返回.F. 參數(shù)類型N/C 函數(shù)值類型N格式RECCOUNT([<工作區(qū)號>|<表別名 參數(shù)類型 函數(shù)值類型作用返回當(dāng)前工作區(qū)或<工作區(qū)號>|<表別名>工作區(qū)數(shù)據(jù)表文件記錄總數(shù)說明不受刪除標(biāo)記的影響格式DELETE([<工作區(qū)號>|<表別名 參數(shù)類型 函數(shù)值類型作用測試當(dāng)前工作區(qū)或<工作區(qū)號>|<表別名>說明有刪除標(biāo)記返回.T.,否則返回第二部VisualFoxPro數(shù)據(jù)對象的 建立“對象”的幾種方 “項(xiàng)目”命令格式CREATE [ProjectFileName| “數(shù)據(jù)庫”命令格式CREATEDATABASE[DatabaseName|命令格式 DATABASE[DatabaseFileName| [EXCLUSIVE|其中EXCLUSIVE為獨(dú)占方式、SHARED例如OPENDATABASEabc &&獨(dú)占方式打開數(shù)據(jù)庫 命令格式 命令格 注意被修改的數(shù)據(jù)庫事先如果沒有打開,系統(tǒng)將出現(xiàn)“打開”命令格式 DATABASEDatabaseFileName| 其中DELETETABLES “數(shù)據(jù)庫表”及“自由表”的建立圖1.1僅含“結(jié)構(gòu)”的數(shù)據(jù) 圖1.2包含數(shù)據(jù)的數(shù)據(jù)命令格式 [DataTableFileName|圖1.3數(shù)據(jù)庫表建立窗 圖1.4自由表建立窗“字段”屬性①.字段名一個(gè)數(shù)據(jù)表由若干個(gè)列(字段)構(gòu)成,每列都必須有一個(gè)惟一的名字, 字段名;②.字段類型與寬度字段數(shù)據(jù)類型決定在字段中的值的數(shù)據(jù)類型③空值(NULL)空值是一個(gè)不確定的量,表示某事件尚未發(fā)生,長度為一個(gè)字節(jié),如對于期末考試成績,可以用0表示考0分,用NULL表示沒參加考試。在數(shù)據(jù)表中,如果某字段允許輸入NULL,則④規(guī)則確定該字段輸入數(shù)據(jù)時(shí),數(shù)據(jù)輸入的。例如在“”字段的“規(guī)則“框中,如果輸入性別=”男”or=”女”,則用戶在該字段中輸入數(shù)據(jù)時(shí),就無法輸入“男”、“女”以外的任何信息。信息確定用戶在該字段中輸入錯(cuò)誤時(shí)的提示,如“默認(rèn) 確定新添加記錄的默認(rèn)輸入內(nèi)容,可節(jié)省用戶輸入時(shí)間⑤“顯示”組框中的“格式”、“輸入掩碼”、“標(biāo)題”,可以定義字段的顯示格式、輸入的掩碼和格式輸入掩 用來限制或控制用戶輸入的格式標(biāo)題命令格式:USE[DataTableFileName| CLOSEALL①.②.③.數(shù)據(jù)庫表可以使用長表名(128個(gè)字符,表中字段可以使用長字段名(128字符數(shù)據(jù)庫表可以設(shè)置字段 有效性規(guī)則、默認(rèn)值、標(biāo)題、輸入掩碼、注釋 數(shù)據(jù)表的索(.Null.(.Null.③.④.格式:INDEXONeExpressionTAGTagName [FORlExpression][ASCENDING|DESCENDING][UNIQUE|CANDIDATE]ON TAG FOR ASCENDING| ASCENDING升序,DESCENDING降CANDIDTE索引文件擴(kuò)展名為SETINDEXTO③.使用索引快速定位(查找SEEK注意:SEEKSKIP(為什么 TAGTagName 數(shù)據(jù)的完整數(shù)據(jù)完整性是指保證數(shù)據(jù)的正確性,數(shù)據(jù)完整性一般包括實(shí)體完整性、域完整性和參照完整性四、實(shí)體完整性與主關(guān)鍵實(shí)現(xiàn)通過建立主關(guān)鍵字或關(guān)鍵字來實(shí)現(xiàn)五、域完整性與約束規(guī)作用保證表中字段的正確性實(shí)現(xiàn)通過限定字段(表)操作步驟在“規(guī)則”框中(或表達(dá)式)輸入表達(dá)式工資>=1000and工資在“信息”框中(或表達(dá)式)輸入表達(dá)式“工資輸入錯(cuò)誤,應(yīng)該在1000—3000元之間1.5作用實(shí)現(xiàn)永久關(guān)系的類永久關(guān)系的建第一步在主表中建立主索引或索引第二步在子表中建立主索引、索引或普通索第三步在主表中用鼠標(biāo)左鍵拖動(dòng)所建立的主()關(guān)鍵字到子表對應(yīng)索引上,然后松開鼠1.6③.永久關(guān)系與索引類型1.8注 主表只能建主索引或索引;子表可以建主索引、索引或普通索引④.設(shè)置參照完整性現(xiàn)在參照完整性中打開參照完整性。如下圖所示參照完整性規(guī)則包括更則、刪除規(guī)則、插入規(guī)則更則級聯(lián)限制若子表中有相關(guān)記錄則更新忽略刪除規(guī)則級聯(lián)限制若子表中有相關(guān)記錄則刪除忽略插入規(guī)注意父表中插入記錄不受任何限制。限制若父表中不存在匹配的關(guān)鍵字值,則插入忽略 數(shù)據(jù)表的基本瀏覽命令編輯命令EDIT|替換命令REPLACE WITHeExpression1 [FORlExpression]FieldName:待替換內(nèi)容字段的字段名(只能寫單一的字段名,不能是字段的表達(dá)式 NEXT RECORD N個(gè)記錄(只有一條記錄 FORlExpression:限定操作記錄必須符合的條件(選擇操作④.例 現(xiàn)有工資數(shù)據(jù)表GZB.DBF(如表1.1,請完成下列操1.1Replacewith基本工資+津貼+獎(jiǎng)金-公積金Replacewith基本工資+200,withFor基本工資數(shù)據(jù)表數(shù)據(jù)的操導(dǎo)出數(shù)據(jù)表記錄 TO [FOR導(dǎo)出數(shù)據(jù)表結(jié)構(gòu) [FIELDSTO FIELDS FOR 確定選擇數(shù)據(jù)所符合的條件(選擇操作 表示拷貝表結(jié)構(gòu)(不含記錄COPYSTRUCTURE只表結(jié)構(gòu),不包含內(nèi)容(雖然存在內(nèi)容注意理 為什么COPYSTRUCTURE命令沒有“FORlExpression”參④.例 在表1.1所示的工資數(shù)據(jù)表UseCopytogzfields職工號,基本工資,UseCopystructuretozg1fields職工號,基本工資,追加新記錄 插入新記錄 從其它文件追加記錄 [FIELDS [FORBLANK僅添加空白記錄,不進(jìn)入編輯狀態(tài);如果不帶此參數(shù),在添加空白記錄的同時(shí)將進(jìn)入FROM APPEND④.例 將表1.1所示的工資數(shù)據(jù)表中的記錄,追加到數(shù)據(jù)表GZ1.DBF中UseAppendfrom4.4.邏輯刪除 [FOR物理刪除去掉邏輯刪除標(biāo)記 [FOR&&DELETE刪除全部記錄 注 該命令只刪除數(shù)據(jù)表的所有記錄,留下表結(jié)③.例題將表1.11000Deletefor基本工資 等價(jià) Deleteallfor基本工資5.絕對定位GOTO(GO)nRecordNumber|TOP|相對定位 條件定位LOCATE 最前面一條記錄(不一定是第一條記錄,主要看數(shù)據(jù)表是否索引 最后一條記錄(不一定是第一條記錄,主要看數(shù)據(jù)表是否索引 USE USEGO GOSkip- Skip- 工作區(qū)的使工作區(qū)的概念工作區(qū)的別名是A—J,工作區(qū)11—32767工作區(qū)的別名為W11—W32767。格式 如SELECT &&選擇第三工作SELECT &&ASELECT成 &&選擇“成績”表所在的工作 &&Useabcin.&&-&&-①.數(shù)據(jù)表之間的“永久聯(lián)系 通過數(shù)據(jù)庫設(shè)計(jì)器建立的聯(lián)系②.數(shù)據(jù)表之間的“臨時(shí)聯(lián)系 通過命令建立的聯(lián)系格式 例如OPENDATABASEUSEIN1USE成績表IN2SELECT1SETRELATIONTOINTO③.格式SET nWorkArea|cTabkeAlias 或 &&取消全部臨時(shí)關(guān)系 數(shù)據(jù)表排格式SORT TOTableNameONFieldName1[/A|/D|/C] [,F(xiàn)ieldName2[/A|/D|/C]…][FORlExpression] [FIELDSFieldsNameList]例如 XM&&將當(dāng)前數(shù)據(jù)表按XM字段升序排列,并生成數(shù)據(jù)表第三部分關(guān)系數(shù)據(jù)庫標(biāo)SQL概SQL的概念:SQL(StructuredQueryLanguage)是結(jié)構(gòu)化查詢語言的簡稱,它引領(lǐng)著關(guān)系數(shù)據(jù)庫的發(fā)SQL的主令數(shù)據(jù)查詢數(shù)據(jù)定義CREATE、DROP、數(shù)據(jù)INSERT、UPDATE、數(shù)據(jù)控制GRANT、命令SQLSQL查詢語句格式構(gòu)成一般格式SELECT查詢內(nèi)容FROM數(shù)據(jù)來源[WHERE查詢條件 [GROUPBY分組依據(jù) [ORDERBY排依據(jù) 要查詢的數(shù)據(jù)(字段 GROUP ORDER SQL基本格式SELECT 其 字段名列表 數(shù)據(jù)表名2.1從職工關(guān)系中檢索所有工資值。實(shí)現(xiàn)語句SELECT工資FROM職工基本格式:SELECT 2.2從訂貨管理數(shù)據(jù)庫中的職工數(shù)據(jù)表中檢索所有工資值。實(shí)現(xiàn)語句SELECT職工.工資FROM訂貨管理數(shù)據(jù)庫!職工基本格式:SELECT 例題 從當(dāng)前數(shù)據(jù)庫中當(dāng)前數(shù)據(jù)表中檢索所有數(shù)據(jù)實(shí)現(xiàn)語句SELECT*FROM在當(dāng)前數(shù)據(jù)庫當(dāng)前表中查詢所有數(shù)據(jù)(不允許內(nèi)容重復(fù)基本格式:SELECT[ALL|DISTINCT] 2.4從當(dāng)前數(shù)據(jù)庫中當(dāng)前數(shù)據(jù)表中檢索所有不重復(fù)的工資數(shù)據(jù)。實(shí)現(xiàn)語句SELECTDISTINCT工資FROM職工基本格式:SELECT WHERE2.51210元職工的倉庫號實(shí)現(xiàn)語句SELECT倉庫號FROM職工WHERE工資>12102.6查詢在倉庫“WH1”或“WH2”1250元的職工工號SELECTFROMWHERE<1250AND=”WH1”O(jiān)R完整格式 [Alias.]SelectItem SQL簡單聯(lián)接查詢2.61230元的職工號和他們所在的城市。SELECT職工號,FROM職工,倉庫WHERE工資>1230AND(職工.倉庫號=倉庫.號特別注職工.倉庫號=倉庫.如果在2.7400的倉庫的職工號以及這些職工工作所在的城市。SELECTFROMWHERE400)ANDSQL2.81250元?SELECTFROMWHEREin(SELECTFROMWHERE例題 查詢所有職工的工資都多于1210元的倉庫信息SELECT*FROMWHERENOTIN(SELECTFROMWHERE2.101210元的倉庫信息,并且該倉庫至少要有一名職工。SELECT*FROMWHERENOTIN(SELECTFROMWHEREANDIN(selectFROM職工2.11E4掙同樣工資的所有職工。SELECTFROMWHERE(SELECTFROMWHERESQL幾個(gè)特殊運(yùn)算符BETWEEN 例題 檢索出工資在1220元到1240元范圍內(nèi)的職工信息實(shí)現(xiàn)語句SELECT*FROMWHEREBETWEEN1220AND2.13從供應(yīng)商關(guān)系中檢索出全部公司的信息,不要工廠或其他供應(yīng)商的信息。實(shí)現(xiàn)語句SELECT*FROM供應(yīng)商WHERE供應(yīng)商名LIKE“%公司” 表示任意多個(gè)字符(0個(gè) 例題 找出不在的全部供應(yīng)商信息實(shí)現(xiàn)語句SELECT*FROM供應(yīng)商WHERE地址!=”或SELECT*FROM供應(yīng)商WHEREnot(地址=”SQL排序基本格式:ORDERBYOrder_Iten[ASC|DESC][,Order_Iten2.15按職工的工資值升序檢索出全部職工信息。實(shí)現(xiàn)語句SELECT*FROM職工ORDERBY工資注意默認(rèn)為升序2.16先按倉庫號排序,再按工資排序并輸出全部職工信息。實(shí)現(xiàn)語句SELECT*FROM職工ORDERBY倉庫號,工資特別注意ORDERBY如SELECT*FROMWHERENOTIN(SELECTFROMORDERBYSQL簡單的計(jì)算查詢COUNT()—計(jì)數(shù)SUM()—求和AVG()—計(jì)算平均值MAX()—求最大值MIN()—例題 找出供應(yīng)商所在地的數(shù)目實(shí)現(xiàn)語句SELECTCOUNT(DISTINCT地址FROM2.18求出供應(yīng)商數(shù)據(jù)表中記錄數(shù)目。實(shí)現(xiàn)語句SELECTCOUNT(*)FROM供應(yīng)商例題 求支付的工資總數(shù)實(shí)現(xiàn)語句SELECTSUM(工資FROM例題 求和的倉庫職工的工資總和實(shí)現(xiàn)語句SELECTSUM(工資FROMWHERE(SELECT倉庫號FROM倉庫WHERE城市=””O(jiān)R城市=”例題 求所有職工的工資都多于1210元的倉庫的平均面積實(shí)現(xiàn)語句SELECTAVG(面積)FROM倉庫WHERE倉庫號NOTIN(SELECTFROMWHERE工資<=1210)例題 求在WH2倉庫工作的職工的最高工資值實(shí)現(xiàn)語句SELECTMAX(工資FROMWHERE倉庫號SQL分組與計(jì)算查詢例題 求每個(gè)倉庫的職工的平均工資實(shí)現(xiàn)語句SELECT倉庫號,AVG(工資FROMGROUPBY說明最后再用HAVING子句限定分組。例題 求至少有兩個(gè)職工的每個(gè)倉庫的平均工資實(shí)現(xiàn)語 SELECT倉庫號,COUNT(*),AVG(工資)FROM職工GROUPBY倉庫號HAVINGSQL利用空值查詢例題 找出尚未確定供應(yīng)商的訂購單實(shí)現(xiàn)語句SELECT*FROMWHEREIS注意ISNULL,不能使用=NULL例題 列出已經(jīng)確定了供應(yīng)商的訂購單信息實(shí)現(xiàn)語句SELECT*FROMWHEREISNOTSQL例題2.27查詢城市為和的倉庫信息。SELECT*FROM倉庫WHERE城市=”” SELECT*FROM倉庫WHERE城市=”SQL的幾個(gè)特殊選項(xiàng)語句格式TOPnExpr不使用[PERCENT]語句時(shí),nExpr的取值范圍為1—32767,否則范圍為0.01—例題顯示工資最高的三位職工的信息 SELECT*TOP3FROM職工ORDERBY工資30%SELECT*TOP30PERCENTFROMORDERBY語句格式INTOARRAY例題將查詢到的職工放到數(shù)組TEMP中。SELECT*FROMINTOARRAY語句格式INTOCURSOR例題將查詢到的職工放到DBFTEMP中。SELECT*FROMINTOCURSOR語句格式INTODBF|TABLE例題將查詢到的職工放到DBFTEMP中。SELECT*FROMINTODBF語句格式TOFILEFileNameTEMP中。SELECT*FROMTOFILE語句格式TOPRINTER例題SELECT*FROMTO三、利用查詢設(shè)計(jì)器3.11.查詢的概念查詢是從指定的表或視圖中提取滿足條件的記錄,然后按照想得到的輸出類型定向輸出查詢結(jié)果。查詢可以反復(fù)使用,以qpr為擴(kuò)展名的文件保存。2.建立查詢的方法使用“項(xiàng)目管理器”使用“新建”框建立查詢通過直接編輯.qpr3.查詢設(shè)計(jì)字段選擇需要顯示的字段;聯(lián)接編輯聯(lián)接條件;篩選指定查詢條件;排序依據(jù)用于指定排序字段;分組依據(jù)用于分組;雜項(xiàng)指定是否要重復(fù)記錄及列面的記錄,與DISTINCT及TOP對應(yīng)。3.2建立查1.建立簡單查詢3.1利用倉庫數(shù)據(jù)表及職工數(shù)據(jù)表建立等同命令SELECT倉庫.倉庫號,職工.職工號,倉庫.城市,職工.工資;FROM訂貨管理數(shù)據(jù)庫!倉庫INNER訂貨管理數(shù)據(jù)庫!職工 倉庫.=職工.2等同命令SELECT倉庫.倉庫號,職工.職工號,倉庫.城市,職工.工資,工資 訂貨管理數(shù)據(jù)庫!INNERJOIN訂貨管理數(shù)據(jù)庫!職工 倉庫.=職工.3.查詢中排序等同命令SELECT倉庫.倉庫號,職工.職工號,倉庫.城市,職工.工資,工資 訂貨管理數(shù)據(jù)庫!INNERJOIN訂貨管理數(shù)據(jù)庫!職工 倉庫.=職工.ORDERBY倉庫.倉庫號,職工.4等同命令SELECT倉庫.倉庫號sum(職工.工資*12)AS年工資合計(jì) 訂貨管理數(shù)據(jù)庫!INNERJOIN訂貨管理數(shù)據(jù)庫!職工 倉庫.=職工.倉庫號GROUPBY職工.3.3查詢設(shè)計(jì)器的局限性:3.4運(yùn)行查1.查詢運(yùn)行方法使用“項(xiàng)目管理器”格 DO注意qpr,如DO2.查詢?nèi)g覽在“瀏覽(BROWSE)”臨時(shí)表命名的臨時(shí)文件;表命名表;圖形統(tǒng)計(jì)圖;屏幕屏幕直接輸出(LIST報(bào)表報(bào)表文件文件四、視圖用命令定義視圖格式:CREATEVIEWViewNameAS其中SelectStatement:查詢語句,用于限定視利用視圖設(shè)計(jì)器創(chuàng)建視圖:()2.30cj_mxueshengchengji表。然后在數(shù)據(jù)庫中創(chuàng)建視圖view1,其功能是利用該視圖只能查詢數(shù)學(xué)、英語和3門課程中至少有一門不及格的學(xué)生記錄;查詢結(jié)果包含學(xué)號、、數(shù)學(xué)、英語和5個(gè)字段;各記錄按學(xué)號降序排列。最后利用剛創(chuàng)建的視圖view1查詢視圖中的全部信息,并將結(jié)果于表table2中(練習(xí)系統(tǒng)第26視圖視圖分類本地視圖視圖視圖設(shè)計(jì)器與查詢設(shè)計(jì)器的區(qū)別:(視圖建立后直接保存在數(shù)據(jù)庫中,在磁盤上沒有相應(yīng)文件,查詢要形成.qpr視圖可以更新,查詢不能更新(除非重新查詢SQL的表操作功能插入(標(biāo)準(zhǔn)格式:INSERTINTOVFP格式:INSERTINTOdbf_nameFROMARRAY例題2.31往訂購單關(guān)系中插入元組("E7","S4","OR01",2001/05/25。 INSERTINTO訂購單VALUES("E7","S4","OR01",{^2001-05-25})OR01"實(shí)現(xiàn)語句INSERTINTO(★UPDATETableNameSETColumn_Name1=eExoression1[,Column_Name2=eExoression2…]實(shí)現(xiàn)語句UPDATESET*1.1WHERE="WH1"等價(jià)語句replacewith*1.1for="WH1"刪除(格式:DELETEFROMTableName[WHERE2.34WH2實(shí)現(xiàn)語句DELETEFROM倉庫WHERE倉庫號="WH2"SQL的表定義功能表定義基本格式CREATETABLE|DBFTableName(FieldName1其中:TableName:新建數(shù)據(jù)表的表名FieldName:字段實(shí)現(xiàn)語句:CREATEDATABASE訂貨管理CREATETABLEC(5),C(10)數(shù)據(jù)表字段設(shè)置方基本格式:CREATETABLE|DBFTableName1(FieldName1[CHECKlExpression[ERRORcMessageText1]]效性規(guī)則為[面積必須大于0]。CREATEDATABASECREATETABLEC(5)C(10)ICHECK(面積>0)ERROR數(shù)據(jù)表字設(shè)置方基本格式:CREATETABLE|DBFTableName1(FieldName1[DEFAULTeExpression]現(xiàn)語句:CREATETABLE倉庫(倉庫號C(5),城市C(10),面積IDEFAULT200)數(shù)據(jù)表字段設(shè)置方基本格式:CREATETABLE|DBFTableName1(FieldName1[PRIMARYKEY|UNIQUE 注意:UNIQUE在此處是實(shí)現(xiàn)語句:CREATETABLE1C(5)PRIMARYKEYC(10)數(shù)據(jù)表設(shè)置方基本格式:CREATETABLE|DBFTableName1(FieldName1[FOREIGNKEYeExpressionTAGTagNameREFERENCESTableName2]C(20)C(5),C(5)C(5),訂購D),將“訂購單號”設(shè)置為主關(guān)鍵字,并在“供應(yīng)商”與“訂購單”之間建立以“供應(yīng)商號”為CREATETABLEC(5)PRIMARYKEYC(20)CREATETABLEC(5)C(5)C(5)D,;FOREIGNKEY供應(yīng)商號TAG供應(yīng)商號REFERENCES供應(yīng)商)表刪除基本格式:DROPTABLE|DBF1實(shí)現(xiàn)語句:DROPTABLE倉庫1表結(jié)構(gòu)修改ALTERTABLETableNameADD|ALTER[COLUMN]FieldName[NULL|NOT &&字段是否[CHECKlExpression[ERROR &&設(shè)置字段的有效性[DEFAULT &&設(shè)置字段的有效性[PRIMARYKEY| &&設(shè)置字段[REFERENCESTableName[TAG &&修改表的例題實(shí)現(xiàn)語句:ALTERTABLEADDYCHECK0ERROR實(shí)現(xiàn)語句:ALTERTABLE訂購單ALTER訂購單號C(6)ALTERTABLETableNameALTER[COLUMN][NULL|NOT &&字段是否[SETCHECKlExpression[ERRORcMessageText]] [DROPCHECK] [SETDEFAULT &&設(shè)置字段[DROP &&刪除字段實(shí)現(xiàn)語句:ALTERTABLEALTERDROPALTERTABLE[DROP[COLUMN &&刪除字[RENAME[COLUMN]FieldName1TO &&修改字段[SETCHECKlExpression[ERROR &&設(shè)置表的有效性[DROP &&刪除表的有效性[ADDPRIMARYKEYeExpressionTAGTagName[FORlExpression]]&&設(shè)置主索引[DROPPRIMARY &&刪除主索[ADDUNIQUEeExpression[TAGTagName[FORlExpression]]] [DROPUNIQUETAG &&刪除索[ADDFOREIGNKEY[eExpression]TAGTagName[FORlExpression]REFERENCESTableName&&建立表間[DROPFOREIGNKEYTAG &&刪除表間實(shí)現(xiàn)語句:ALTERTABLE1RENAMETO實(shí)現(xiàn)語句:ALTERTABLE1DROP實(shí)現(xiàn)語句:ALTERTABLE1ADDUNIQUE職工號+供應(yīng)商號TAGemp_sup實(shí)現(xiàn)語句:ALTERTABLE1DROPUNIQUETAG第四部一、面向?qū)ο蟮南嚓P(guān)對象(Object)的三要方法:又稱為方法程序,是系統(tǒng)事先寫好的程序,用戶可以修改(一般都不修改,如:Show基類最小事件集包括Init、Destroy、Error,如表5.1所示。5.1事容器:一種特殊控件,它能包容其他的控件或容器,如:表單等。VFP常用容器如表5.2所示5.2容列列頁頁與管理表單創(chuàng)建表單表單創(chuàng)建的方法創(chuàng)建表單令格式:CREATEFORM[FormFileName| 操作步驟運(yùn)行該表單:DOFORM修改表單格式:MODIFYFORM[FormFileName|運(yùn)行表單格式:DOFORM表單文件名[NAMEWITH1管理表單屬性和方法5.3屬描3000用戶自定義(創(chuàng)建)的屬性總是屬于最表單集(如果存在)或表單調(diào)用方法:ThisFormSet.新屬性名=<表達(dá)式>(表單集) 用戶自定義(創(chuàng)建)的方法程序總是屬于最表單集(如果存在)或表單調(diào)用方法:ThisFormSet.新方法名(表單集) ThisForm.新方法名(表單 事件:對象建立時(shí)。在該事件的代碼中,可以它所包含的所有控件對象 事件:對象釋放時(shí)。在該事件的代碼中,可以它所包含的所有控件對象Error事件:出現(xiàn)錯(cuò)誤時(shí)Load事件:對象建立時(shí)。該事件在Init事件之前 事件:表單對象釋放時(shí)。它是表單對象最后一個(gè)事件GotFocus事件:對象獲得焦點(diǎn)時(shí)Click事件:用鼠標(biāo)單擊對象時(shí)DblClick事件:用鼠標(biāo)雙擊對象時(shí)RighClick事件:用鼠標(biāo)右擊對象時(shí) 事件:用鼠標(biāo)或鍵盤交互式改變一個(gè)控件的值時(shí)Release方法:從內(nèi)存中清除(釋放)表單 方法:重新繪制表單或控件,并刷新它的Show方法:顯示表單,并使表單成為活動(dòng)對Hide方法:隱藏表單 方法:讓控件獲得焦點(diǎn),使其成為活動(dòng)表單(Label)控件③.的特點(diǎn)常用屬性\<File命令按鈕(CommandButton)控件命令按鈕的功能:啟動(dòng)某個(gè)事件代碼、完成特定功能,如關(guān)閉表單、移動(dòng)記錄指針、打印報(bào)常用屬性Enabled屬性:指定控件能否響應(yīng)用戶的事件,默認(rèn)值為命令組(CommandGroup)控件 命令按鈕組的功能:與命令按鈕的作用相似常用屬性文本框(TextBox)控件①.文本框的功能:用于編輯內(nèi)存變量、數(shù)組元素或非備注型字段②.文本框的特點(diǎn):只能包含一行數(shù)常用屬性PasswordChar屬性:指定文本框顯示方式(內(nèi)容或占位符編輯框(EditBox)控件①.編輯框的功能:與文本框類②.編輯框的特點(diǎn):可編輯多行(段)文本常用屬性復(fù)選框(CheckBox)控件①..F.常見屬性CaptionValue屬性ControlSoure選項(xiàng)組(OptionGroup)控件①.選項(xiàng)組的功能:實(shí)現(xiàn)多選能常見屬性ButtonCountValue屬性ControlSource列表框(ListBox)①.列表框的功能:顯示并提供用戶對多項(xiàng)數(shù)據(jù)的選擇,用戶可以單選,也可以常見屬性組合框(ComboBox)控件①.組合框的功能:與列表框類②.組合框與列表框的表格(Grid)②.常用表格屬性常用列屬常用標(biāo)頭頁框(PageFrame)件①.頁框的功能:容納的選項(xiàng)內(nèi)容常用屬性第五部單與報(bào)菜單結(jié)構(gòu)VFP3.1系統(tǒng)菜單VFP系統(tǒng)本身固有的菜單叫系統(tǒng)菜單,其內(nèi)部名字為 格式:SET ON| &&允許/系統(tǒng)菜SET SETSYS TO[DEFAULT]&&或恢復(fù)系統(tǒng)菜單默認(rèn)值SETSYS SET &&恢復(fù)VFP系統(tǒng)默認(rèn)菜單配式菜單設(shè)計(jì)菜單文件菜單文件

圖3.2菜單設(shè)計(jì)的一般步 圖3.3菜單設(shè)計(jì)器窗編輯菜單內(nèi)容添加菜單項(xiàng)添加分組線 注:如果將“菜單名”內(nèi)容確定為“\-”,則該菜單項(xiàng)將成為分組添加組合鍵添加熱鍵 文件 &&將字母“F”定義為熱保存菜單:菜單文件擴(kuò)展名生成菜單程序:菜單程序文件擴(kuò)展名運(yùn)行菜單程序 <文件名 注:運(yùn)行菜單文件時(shí),其文件

溫馨提示

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

評論

0/150

提交評論