VFP第四章ppt.ppt_第1頁(yè)
VFP第四章ppt.ppt_第2頁(yè)
VFP第四章ppt.ppt_第3頁(yè)
VFP第四章ppt.ppt_第4頁(yè)
VFP第四章ppt.ppt_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1,第4章 數(shù)據(jù)庫(kù)操作與SQL語(yǔ)言,講述數(shù)據(jù)庫(kù)的概念和相關(guān)操作以及SQL結(jié)構(gòu)化查詢(xún)語(yǔ)言,2,數(shù)據(jù)庫(kù)(DataBase)就是按一定的組織結(jié)構(gòu)存儲(chǔ)在計(jì)算機(jī)內(nèi)可共享使用的相關(guān)數(shù)據(jù)的集合。它以文件的形式組織管理一個(gè)或多個(gè)數(shù)據(jù)文件,并被多個(gè)用戶(hù)所共享,它是數(shù)據(jù)庫(kù)管理系統(tǒng)的重要組成部分。 在Visual FoxPro中,數(shù)據(jù)庫(kù)包含有數(shù)據(jù)庫(kù)表、視圖等數(shù)據(jù)實(shí)體,又提供了數(shù)據(jù)字典、各種數(shù)據(jù)保護(hù)和數(shù)據(jù)管理功能,可將數(shù)據(jù)庫(kù)看成是個(gè)收集表的“容器”。 數(shù)據(jù)庫(kù)文件的擴(kuò)展名是.dbc,在建立數(shù)據(jù)庫(kù)時(shí),系統(tǒng)還會(huì)建立一個(gè)擴(kuò)展名是.dct的數(shù)據(jù)庫(kù)備注文件和一個(gè)擴(kuò)展名是.dcx的數(shù)據(jù)庫(kù)索引文件,因此Visual FoxPro數(shù)據(jù)

2、庫(kù)包括這3個(gè)文件。,4.1.1 數(shù)據(jù)庫(kù)建立 數(shù)據(jù)庫(kù)的建立有兩種方法:使用“數(shù)據(jù)庫(kù)設(shè)計(jì)器”和使用建立數(shù)據(jù)庫(kù)的命令 。 1. 用數(shù)據(jù)庫(kù)設(shè)計(jì)器建立數(shù)據(jù)庫(kù) 菜單“文件” | “新建”,打開(kāi)“新建”對(duì)話(huà)框,選定“文件類(lèi)型”為“數(shù)據(jù)庫(kù)”選項(xiàng)按鈕,單擊“新建文件”,打開(kāi)“創(chuàng)建”對(duì)話(huà)框,在“數(shù)據(jù)庫(kù)名”文本框中輸入所建的數(shù)據(jù)庫(kù)名,單擊“保存”按鈕建立數(shù)據(jù)庫(kù),同時(shí)打開(kāi)“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口 。 利用“數(shù)據(jù)庫(kù)設(shè)計(jì)器”提供的工具或菜單,可以方便的建立數(shù)據(jù)庫(kù)表或建立視圖,也可以將自由表添加到數(shù)據(jù)庫(kù)中,成為數(shù)據(jù)庫(kù)表,以及建立數(shù)據(jù)庫(kù)表間的永久關(guān)聯(lián)關(guān)系等數(shù)據(jù)庫(kù)操作。,3,4.1 數(shù)據(jù)庫(kù)基本操作,4,例4-1 利用“數(shù)據(jù)庫(kù)設(shè)計(jì)器

3、”,新建數(shù)據(jù)庫(kù)rsgzk.dbc,并將表rsb.dbf、gzb.dbf、bmdm.dbf和zz.dbf添加到新數(shù)據(jù)庫(kù)中,成為數(shù)據(jù)庫(kù)表。 建立數(shù)據(jù)庫(kù):菜單“文件” | “新建”命令,選“文件類(lèi)型”為“數(shù)據(jù)庫(kù)”選項(xiàng)按鈕,單擊“新建文件”,在“數(shù)據(jù)庫(kù)名”文本框中輸入rsgzk.dbc,單擊“保存”按鈕,此時(shí)建立數(shù)據(jù)庫(kù)rsgzk.dbc,同時(shí)打開(kāi)“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口。 添加數(shù)據(jù)表:在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口,單擊“數(shù)據(jù)庫(kù)設(shè)計(jì)器”工具中的“添加表”按鈕,在“打開(kāi)”對(duì)話(huà)框中選定rsb.dbf,單擊“確定”按鈕,rsb.dbf就添加到了rsgzk數(shù)據(jù)庫(kù)中,用同樣的方法添加表gzb.dbf、bmdm.dbf和zz

4、.dbf。,5,2. 用命令方式建立數(shù)據(jù)庫(kù) 命令格式: CREATE DATABASE 功能:建立一個(gè)數(shù)據(jù)庫(kù)同時(shí)打開(kāi)它。 例如建立gzk.dbc的命令如下: CREATE DATABASE gzk,6,3. 數(shù)據(jù)庫(kù)表 數(shù)據(jù)庫(kù)表:歸屬于某個(gè)數(shù)據(jù)庫(kù)的表稱(chēng)為數(shù)據(jù)庫(kù)表。 自由表:獨(dú)立存在、不與任何數(shù)據(jù)庫(kù)相關(guān)聯(lián)的表稱(chēng)為自由表。 數(shù)據(jù)庫(kù)表與自由表是Visual FoxPro中表的兩種存在狀態(tài),這兩種表是可以相互轉(zhuǎn)化的,需要注意的是當(dāng)數(shù)據(jù)庫(kù)表轉(zhuǎn)化成自由表時(shí),其數(shù)據(jù)庫(kù)表特有的屬性將會(huì)丟失。 數(shù)據(jù)庫(kù)表的優(yōu)點(diǎn):可以使用長(zhǎng)表名,可以使用長(zhǎng)字段名;可以為字段制定標(biāo)題和添加注釋?zhuān)豢梢詾樽侄沃贫J(rèn)值和輸入掩碼;字段有默

5、認(rèn)的控件類(lèi);可以為字段設(shè)定字段級(jí)規(guī)則和記錄級(jí)規(guī)則;支持插入、更新和刪除事件的觸發(fā)器;支持主關(guān)鍵字,表間永久關(guān)系和參照完整性規(guī)則等。,7,4.1.2 數(shù)據(jù)庫(kù)操作命令,1. 打開(kāi)數(shù)據(jù)庫(kù)命令 命令格式: OPEN DATABASE 功能:打開(kāi)一個(gè)數(shù)據(jù)庫(kù)。 例如打開(kāi)數(shù)據(jù)庫(kù)gzk.dbc的命令如下: OPEN DATABASE gzk,8,4.1.2 數(shù)據(jù)庫(kù)操作命令,2. 關(guān)閉數(shù)據(jù)庫(kù)命令 命令格式: CLOSE DATABASE ALL 功能:關(guān)閉當(dāng)前的數(shù)據(jù)庫(kù)和它的表。選擇ALL表示關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù)和它們的表、所有的自由表以及索引文件,返回1號(hào)工作區(qū)。 例如關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)gzk.dbc的命令如下:

6、CLOSE DATABASE,9,3. 查看和修改數(shù)據(jù)庫(kù)結(jié)構(gòu) 命令格式: MODIFY DATABASE 功能:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,以交互方式查看和修改當(dāng)前數(shù)據(jù)庫(kù)。 例如查看和修改數(shù)據(jù)庫(kù)gzk.dbc的命令如下: MODIFY DATABASE gzk.dbc,4.1.2 數(shù)據(jù)庫(kù)操作命令,10,4. 向數(shù)據(jù)庫(kù)中添加表命令 命令格式: ADD TABLE 功能:向當(dāng)前數(shù)據(jù)庫(kù)添加一個(gè)自由表。 例如向數(shù)據(jù)庫(kù)gzk.dbc添加自由表gzb1.dbf(它為gzb.dbf的復(fù)制表)和zz1.dbf(zz.dbf的復(fù)制表)。 OPEN DATABASE gzk ADD TABLE gzb1 ADD TABLE

7、 zz1 MODIFY DATABASE 職稱(chēng), 基本工資 FROM rsb 例4-12 查詢(xún)bmdm.dbf中的全部字段以及所有記錄,并將結(jié)果輸出在屏幕上。 SELECT * FROM bmdm TO SCREEN 例4-13 查詢(xún)表rsb.dbf中基本工資字段的最高值、最低值、平均值,合計(jì)值以及參與統(tǒng)計(jì)的人數(shù)。 SELECT MAX(基本工資) AS 最高, MIN(基本工資) AS 最低, ; AVG(基本工資) AS 平均, SUM(基本工資) AS 合計(jì),; COUNT(*) AS 統(tǒng)計(jì)人數(shù) ; FROM rsb,2020/8/10,46,(2)按條件查詢(xún)記錄。 條件表達(dá)式可以使用運(yùn)

8、算符(=, , !=, #, =, , =, , =)、關(guān)系運(yùn)算(BETWEENAND, IN( ), LIKE)和邏輯運(yùn)算符(NOT, AND, OR)。 例4-15 查詢(xún)表rsb.dbf中“陳”姓職工的記錄,要求顯示編號(hào),姓名,性別,出生日期和職稱(chēng)字段。 SELECT 編號(hào), 姓名, 性別, 職稱(chēng), 出生日期 FROM rsb; WHERE 姓名 LIKE 陳% 例4-16 查詢(xún)表rsb.dbf中基本工資在1500元2000元的職工記錄,要求顯示編號(hào),姓名,職稱(chēng)和基本工資字段。 SELECT 編號(hào), 姓名, 職稱(chēng), 基本工資 FROM rsb ; WHERE 基本工資 BETWEEN 15

9、00 AND 2000 例4-17 從表rsb.dbf和gzb.dbf中查詢(xún)職工的編號(hào),姓名,職稱(chēng),崗位津貼和獎(jiǎng)勵(lì)工資。 SELECT rsb.編號(hào), 姓名, 職稱(chēng), 崗位津貼, 獎(jiǎng)勵(lì) FROM rsb, gzb; WHERE rsb.編號(hào)=gzb.編號(hào),2020/8/10,47,(3)查詢(xún)結(jié)果分組 分組操作主要用于對(duì)每一組中的記錄進(jìn)行記錄個(gè)數(shù)統(tǒng)計(jì)COUNT()、數(shù)值求和SUM()、求平均值A(chǔ)VG()、求最大值MAX()和最小值MIN()等。 例4-18 統(tǒng)計(jì)表rsb.dbf中各類(lèi)職稱(chēng)的人數(shù),并求出基本工資的最高、最低和平均值。 SELECT 職稱(chēng), COUNT(*) AS 人數(shù), MAX(基

10、本工資) AS 最高,; MIN(基本工資) AS 最低, AVG(基本工資) AS 平均; FROM rsb; GROUP BY 職稱(chēng) 例4-19 按職稱(chēng)分組統(tǒng)計(jì)表rsb.dbf中基本工資的最高值、最低值和平均值,只顯示基本工資平均值大于1000元統(tǒng)計(jì)結(jié)果。 SELECT 職稱(chēng), MAX(基本工資) AS 最高, MIN(基本工資) AS 最低, ; AVG(基本工資) AS 平均; FROM rsb; GROUP BY 職稱(chēng) HAVING 平均1000,2020/8/10,48,(4)查詢(xún)結(jié)果排序 對(duì)查詢(xún)結(jié)果按指定的排序項(xiàng)進(jìn)行排序,ASC表示按排序項(xiàng)升序排序記錄,DESC表示按排序項(xiàng)降序排

11、序記錄。系統(tǒng)默認(rèn)為升序。 例4-20 查詢(xún)表rsb.dbf中姓名,性別,出生日期和職稱(chēng)字段內(nèi)容,結(jié)果按出生日期字段的降序排序輸出。 SELECT 姓名, 性別, 出生日期, 職稱(chēng) FROM rsb; ORDER BY 出生日期 DESC 例4-21 從表rsb.dbf和gzb.dbf中查詢(xún)職工的姓名,性別,職稱(chēng),基本工資和保險(xiǎn)內(nèi)容,先按性別字段升序,然后按職稱(chēng)字段降序,最后按保險(xiǎn)字段的降序排序輸出。 SELECT 姓名, 性別, 職稱(chēng), rsb.基本工資, 保險(xiǎn) FROM rsb, gzb; WHERE rsb.編號(hào)=gzb.編號(hào); ORDER BY 性別, 職稱(chēng) DESC, 保險(xiǎn) DESC,

12、2020/8/10,49,(5)嵌套查詢(xún)的使用 一個(gè)查詢(xún)(子查詢(xún))的結(jié)果嵌套在另一個(gè)查詢(xún)(父查詢(xún))的條件所形成的查詢(xún)稱(chēng)為嵌套查詢(xún)。系統(tǒng)在處理嵌套查詢(xún)時(shí),首先查詢(xún)出子查詢(xún)的結(jié)果,然后將子查詢(xún)結(jié)果作為父查詢(xún)的查詢(xún)條件。 嵌套查詢(xún)的語(yǔ)法格式: SELECT WHERE (SELECT WHERE ) 常用子查詢(xún)形式有:帶有比較運(yùn)算符號(hào)的子查詢(xún)、帶IN謂詞的子查詢(xún)、帶EXISTS謂詞的子查詢(xún)、帶有ANY、ALL或SOME量詞的子查詢(xún)。,2020/8/10,50, 帶有比較運(yùn)算符號(hào)的子查詢(xún) 在嵌套查詢(xún)中,當(dāng)子查詢(xún)的返回結(jié)果是一個(gè)單值時(shí),可以用、=、等比較運(yùn)算符來(lái)生成父查詢(xún)的查詢(xún)條件。 例如查詢(xún)獎(jiǎng)勵(lì)工資大

13、于平均獎(jiǎng)勵(lì)工資的職工,輸出姓名、職稱(chēng)和獎(jiǎng)勵(lì)工資,命令如下: SELECT 姓名, 職稱(chēng), 獎(jiǎng)勵(lì) FROM rsb,gzb WHERE rsb.編號(hào)=gzb.編號(hào) .AND. 獎(jiǎng)勵(lì) ; (SELECT AVG(獎(jiǎng)勵(lì)) FROM gzb) 說(shuō)明:子查詢(xún)的結(jié)果AVG(獎(jiǎng)勵(lì))是一個(gè)單值,可以使用比較運(yùn)算符號(hào)。,2020/8/10,51, 帶IN謂詞的子查詢(xún) 在嵌套查詢(xún)中,當(dāng)子查詢(xún)的返回結(jié)果是一個(gè)集合時(shí),常常用IN謂詞來(lái)作為父查詢(xún)的條件,來(lái)判斷條件值是否在子查詢(xún)的結(jié)果中。IN謂詞的使用格式是: 父查詢(xún) WHERE 字段 IN(子查詢(xún))。 例4-22 列出部門(mén)代碼是“A01”的職工的工資詳細(xì)清單。 分析:

14、由于在gzb.dbf中沒(méi)有部門(mén)代碼字段,所以無(wú)法直接從gzb.dbf查找到。因而首先需要在rsb.dbf中查找“A01”的職工編號(hào),再根據(jù)找到的編號(hào),在gzb.dbf中找出對(duì)應(yīng)的記錄。 SELECT * FROM gzb WHERE 編號(hào) IN (SELECT 編號(hào); FROM rsb WHERE 部門(mén)代碼=A01),2020/8/10,52, 帶EXISTS謂詞的子查詢(xún) 在嵌套查詢(xún)中,常用EXISTS或NOT EXISTS來(lái)檢查在子查詢(xún)中是否有結(jié)果返回。使用EXISTS謂詞,若子查詢(xún)結(jié)果為非空,則父查詢(xún)的條件返回值為“真”,否則返回值為“假”;使用NOT EXISTS謂詞,則結(jié)果跟EXIST

15、S謂詞正好相反。其使用格式為: 父查詢(xún) WHERE NOT EXISTS (子查詢(xún)) 例如查詢(xún)計(jì)算機(jī)系的職工的姓名和職稱(chēng),命令如下: SELECT 姓名,職稱(chēng) FROM rsb WHERE EXISTS ; (SELECT * FROM bmdm WHERE bmdm.代碼=rsb.部門(mén)代碼 ; .AND. 部門(mén)名稱(chēng)=計(jì)算機(jī)系) 說(shuō)明:首先,含EXIST謂詞的查詢(xún)總是相關(guān)查詢(xún):即,子查詢(xún)必需引用父查詢(xún)的字段(如例中的“部門(mén)代碼”字段)。這使得存在謂詞的子查詢(xún)相當(dāng)慢,因?yàn)閷?duì)于父查詢(xún)的每一記錄,子查詢(xún)都要執(zhí)行一遍。父查詢(xún)中要處理的記錄數(shù)越多,則查詢(xún)執(zhí)行時(shí)間越長(zhǎng)。 其次,EXIST謂詞的子查詢(xún)輸出一

16、般使用通配符“*”。這是由于結(jié)果只是真或假,對(duì)輸出什么字段無(wú)關(guān)緊要,因此可用通配符。,2020/8/10,53, 帶有ALL、ANY或SOME量詞的子查詢(xún) ALL、ANY或SOME是量詞,其中ANY或SOME是相同的,都表示子查詢(xún)結(jié)果中某個(gè)記錄值,ALL表示子查詢(xún)結(jié)果中所有記錄值。其使用格式為: 父查詢(xún) WHERE (子查詢(xún)) 例如查詢(xún)基本工資大于所有未婚職工基本工資的職工信息,命令如下: SELECT * FROM rsb WHERE 基本工資; ALL(SELECT 基本工資 FROM rsb WHERE 婚否=.F.),2020/8/10,54,(6)查詢(xún)結(jié)果輸出 SELECT-SQL命

17、令除了將查詢(xún)結(jié)果輸出到屏幕和瀏覽窗口外,還可以將查詢(xún)結(jié)果保存為一個(gè)表、文本文件和數(shù)組,或輸出到打印機(jī)。 例4-23 查詢(xún)所有“講師”的工資情況,結(jié)果按“實(shí)發(fā)工資”降序排列,分別保存到臨時(shí)表js、表js1.dbf和文本文件js2.txt。 *將結(jié)果輸出到臨時(shí)表 SELECT * FROM gzb WHERE 編號(hào) IN ; (SELECT 編號(hào) FROM rsb WHERE 職稱(chēng)=講師); ORDER BY 實(shí)發(fā)工資 DESC INTO CURSOR js BROWSE (SELECT 編號(hào) FROM rsb WHERE 職稱(chēng)=講師); ORDER BY 實(shí)發(fā)工資 DESC INTO TABLE

18、 js1 BROWSE * 將查詢(xún)結(jié)果保存到文本文件js2.txt中,命令如下: SELECT * FROM gzb WHERE 編號(hào) IN ; (SELECT 編號(hào) FROM rsb WHERE 職稱(chēng)=講師); ORDER BY 實(shí)發(fā)工資 DESC TO FILE js2 TYPE js2.txt FROM rsb GROUP BY 職稱(chēng) USE zcst BROWSE,2020/8/10,64,例4-28 在數(shù)據(jù)庫(kù)rsgzk.dbc中建立一個(gè)包含表rsb.dbf和表gzb.dbf的所有字段視圖,視圖取名rsgzst。 代碼如下: OPEN DATABASE rsgzk CREATE SQL

19、 VIEW rsgzst ; AS SELECT * FROM rsb, gzb WHERE rsb.編號(hào)=gzb.編號(hào) USE rsgzst BROWSE,2020/8/10,65,4.4.2 界面操作創(chuàng)建視圖,視圖設(shè)計(jì)器類(lèi)似于查詢(xún)?cè)O(shè)計(jì)器,只是比查詢(xún)?cè)O(shè)計(jì)器多出一個(gè)“更新條件”選項(xiàng)卡,用于設(shè)置更新的條件,如圖4-36所示。 打開(kāi)“視圖設(shè)計(jì)器”的方法: 打開(kāi)相關(guān)的數(shù)據(jù)庫(kù),選擇菜單“文件”“新建”命令,選擇新建“視圖”選項(xiàng)按鈕,單擊“新建文件”按鈕。 使用“項(xiàng)目管理器”和使用命令CREATE SQL VIEW來(lái)打開(kāi)“視圖設(shè)計(jì)器”窗口。,2020/8/10,66,(1) “表”下拉列表框,(2)“重

20、置關(guān)鍵字”按鈕,(3)“全部更新”按鈕,(4)“發(fā)送 SQL 更新”復(fù)選框,(5)“字段名”窗格,關(guān)鍵字段列,可更新字段 列,字段名列,(6)“SQL WHERE 子句包括”區(qū),(7)“使用更新”區(qū),2020/8/10,67,1. “更新條件”選項(xiàng)卡的各項(xiàng)功能 (1)“表”下拉列表框:指定視圖所使用的哪些表可以修改。此列表中所顯示的表都包含了“字段”選項(xiàng)卡“選定字段”列表中的字段。 (2)“重置關(guān)鍵字”按鈕:從每個(gè)表中選擇主關(guān)鍵字字段作為視圖的關(guān)鍵字字段,對(duì)于“字段名”列表中的每個(gè)主關(guān)鍵字字段,在鑰匙符號(hào)下面打一個(gè)“對(duì)號(hào)”。關(guān)鍵字字段可用來(lái)使視圖中的修改與表中的原始記錄相匹配。 (3)“全部更

21、新”按鈕:選擇除了關(guān)鍵字字段以外的所有字段來(lái)進(jìn)行更新,并在“字段名”列表的鉛筆符號(hào)下打一個(gè)“對(duì)號(hào)”。 (4)“發(fā)送 SQL 更新”復(fù)選框:指定是否將視圖記錄中的修改傳送給原始表。,2020/8/10,68,(5)“字段名”窗格:顯示所選的、用來(lái)輸出(因此也是可更新的)的字段。 關(guān)鍵字段(使用鑰匙符號(hào)作標(biāo)記):指定該字段是否為關(guān)鍵字段。 可更新字段(使用鉛筆符號(hào)作標(biāo)記):指定該字段是否為可更新字段。 字段名:顯示可標(biāo)志為關(guān)鍵字字段或可更新字段的輸出字段名。 (6)“SQL WHERE 子句包括”區(qū)的選項(xiàng)用來(lái)檢查更新沖突,在多用戶(hù)環(huán)境下,由系統(tǒng)檢查在用視圖更新前原始表的數(shù)據(jù)是否被別的用戶(hù)修改過(guò),如

22、果這些記錄被修改,就不允許更新操作。 “關(guān)鍵字段”選項(xiàng):如果在原始表中有一個(gè)關(guān)鍵字字段被改變,設(shè)置 WHERE 子句來(lái)檢測(cè)沖突,使更新失敗。對(duì)于由另一用戶(hù)對(duì)表中原始記錄的其它字段所做修改,不進(jìn)行比較。 “關(guān)鍵字和可更新字段”選項(xiàng):如果另一用戶(hù)修改了原始表中標(biāo)記關(guān)鍵字字段或任何可更新的字段,設(shè)置 WHERE 子句來(lái)檢測(cè)沖突,使更新失敗。 “關(guān)鍵字和已修改字段”選項(xiàng):如果從視圖首次檢索后,本地改變的任一字段在源表中已被改變時(shí),設(shè)置 WHERE 子句來(lái)檢測(cè)沖突,使更新失敗。 “關(guān)鍵字段和時(shí)間戳”選項(xiàng):如果自原始表記錄的時(shí)間戳首次檢索以后,它被修改過(guò),設(shè)置 WHERE 子句來(lái)檢測(cè)沖突。只有當(dāng)遠(yuǎn)程表有時(shí)

23、間戳列時(shí),此選項(xiàng)才有效。,2020/8/10,69,(7)“使用更新”區(qū)的選項(xiàng)用來(lái)設(shè)置更新方式。 “SQL DELETE 然后 INSERT”選項(xiàng):指先刪除原始表中的舊記錄,再由視圖中被修改的記錄在原始表末尾創(chuàng)建一個(gè)新的記錄。 “SQL UPDATE”選項(xiàng):用視圖字段中的變化來(lái)修改原始表記錄的字段。 例4-29 在數(shù)據(jù)庫(kù)rsgzk.dbc中利用視圖設(shè)計(jì)器建立一個(gè)包含有編號(hào)、姓名、職稱(chēng)、和包含gzb所有字段的視圖,視圖取名st,并要求在gzb中除編號(hào)之外所有字段設(shè)置為可更新源表字段。 操作步驟: (1)打開(kāi)數(shù)據(jù)庫(kù)rsgzk.dbc (2)打開(kāi)“視圖設(shè)計(jì)器”窗口 (3)設(shè)置輸出字段 (4)設(shè)置更新

24、條件,2020/8/10,70,例題中“更新條件”對(duì)話(huà)框設(shè)置,(5)瀏覽視圖和更新數(shù)據(jù) USE st BROWSE &在瀏覽器中將5號(hào)記錄的崗位津貼從25修改為30,2020/8/10,71,2. 設(shè)置視圖字段屬性 視圖雖然是虛擬表,但用戶(hù)還是可以像數(shù)據(jù)庫(kù)表一樣對(duì)視圖中的字段設(shè)置顯示格式、有效性規(guī)則等屬性。 操作方法是:在“視圖設(shè)計(jì)器”的“字段”選項(xiàng)卡中,單擊“屬性”按鈕,出現(xiàn)如下圖所示的“視圖字段屬性”對(duì)話(huà)框。,2020/8/10,72,3. 創(chuàng)建參數(shù)化視圖 參數(shù)化視圖用來(lái)限定視圖的作用范圍,參數(shù)化視圖在視圖的 SQL SELECT 語(yǔ)句中加一條 WHERE 子句,從而僅下載那些符合 WHERE 子句條件的記錄,其中的子句是根據(jù)所提供的參數(shù)值建立的,參數(shù)值可以在運(yùn)行時(shí)傳遞,也可通過(guò)編程方式傳遞。 創(chuàng)建參數(shù)化視圖的步驟: (1)打開(kāi)“視圖設(shè)計(jì)器”,然后從“查詢(xún)”菜單中選擇“視圖參數(shù)”項(xiàng),設(shè)定參數(shù)名和類(lèi)型,如設(shè)定參數(shù)名:職稱(chēng),類(lèi)型:字符型。 (2)在“視圖設(shè)計(jì)器”對(duì)話(huà)框的“篩選”選項(xiàng)卡中設(shè)置篩選條件。如rsb.職稱(chēng)=?職稱(chēng),其中?后“職稱(chēng)”是在步驟1中設(shè)定的視圖參數(shù)名。,2020/8/10,73,例4-30 將上例4-

溫馨提示

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

評(píng)論

0/150

提交評(píng)論