版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用 Windows數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用 本書目錄本書目錄1 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)技術(shù)數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)技術(shù) 數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)技術(shù) 應(yīng)用程序開發(fā)工具應(yīng)用程序開發(fā)工具 數(shù)據(jù)訪問技術(shù)數(shù)據(jù)訪問技術(shù) 軟件工程的理念軟件工程的理念 使用技術(shù)使用技術(shù): :知識(shí)點(diǎn)知識(shí)點(diǎn): : 數(shù)據(jù)庫(kù)設(shè)計(jì)過程、完整性數(shù)據(jù)庫(kù)設(shè)計(jì)過程、完整性 控制、安全性控制、數(shù)據(jù)控制、安全性控制、數(shù)據(jù) 庫(kù)恢復(fù)技術(shù);庫(kù)恢復(fù)技術(shù); VB.NetVB.Net程序設(shè)計(jì);程序設(shè)計(jì); ADO.
2、NetADO.Net; 應(yīng)用程序開發(fā)過程:系統(tǒng)應(yīng)用程序開發(fā)過程:系統(tǒng) 分析、需求分析、功能設(shè)分析、需求分析、功能設(shè) 計(jì)、編碼、測(cè)試等。計(jì)、編碼、測(cè)試等。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 應(yīng)用系統(tǒng)的多層結(jié)構(gòu)應(yīng)用系統(tǒng)的多層結(jié)構(gòu) 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 連接連接 數(shù)據(jù)適配器數(shù)據(jù)適配器 數(shù)據(jù)集數(shù)據(jù)集 顯式連接方法顯式連接方法 用戶界面用戶界面 (窗體)(窗體) 數(shù)據(jù)訪問層數(shù)據(jù)訪問層表示層表示層 數(shù)據(jù)層數(shù)據(jù)層 注意:好的應(yīng)用程序通常把用戶界面與數(shù)據(jù)訪問分開。注意:好的應(yīng)用程序通常把用戶界面與數(shù)據(jù)訪問分開。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 需求分析需求分析 概念模式設(shè)計(jì)
3、概念模式設(shè)計(jì)E/RE/R圖設(shè)計(jì)圖設(shè)計(jì) 邏輯模式設(shè)計(jì)邏輯模式設(shè)計(jì)將將E/RE/R圖轉(zhuǎn)換為關(guān)圖轉(zhuǎn)換為關(guān) 系模式并作規(guī)范化處理系模式并作規(guī)范化處理 物理模式設(shè)計(jì)物理模式設(shè)計(jì)選擇選擇RDBMSRDBMS開發(fā)平開發(fā)平 臺(tái)創(chuàng)建數(shù)據(jù)庫(kù)臺(tái)創(chuàng)建數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)例數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)例 設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有3 3個(gè)實(shí)體集。一是個(gè)實(shí)體集。一是“商店商店” 實(shí)體集,屬性有商店編號(hào)、商店名、地址等;二是實(shí)體集,屬性有商店編號(hào)、商店名、地址等;二是“商品商品” 實(shí)體集,屬性有商品號(hào)、商品名、規(guī)格、單價(jià)等;三是實(shí)體集,屬性有商品號(hào)、商品名、規(guī)格、單價(jià)等;三是“
4、職職 工工”實(shí)體集,屬性有職工編號(hào)、姓名、性別、業(yè)績(jī)等。實(shí)體集,屬性有職工編號(hào)、姓名、性別、業(yè)績(jī)等。 商店與商品間存在商店與商品間存在“銷售銷售”聯(lián)系,每個(gè)商店可銷售多種商品,聯(lián)系,每個(gè)商店可銷售多種商品, 每種商品也可以放在多個(gè)商店銷售,每個(gè)商店每銷售一種商每種商品也可以放在多個(gè)商店銷售,每個(gè)商店每銷售一種商 品,有月銷售量;商店與職工間存在著品,有月銷售量;商店與職工間存在著“聘用聘用”關(guān)系,每個(gè)關(guān)系,每個(gè) 商店有許多職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用商店有許多職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用 職工有聘期和月薪。職工有聘期和月薪。 (1 1)試畫出)試畫出ER ER 圖,
5、并在圖上注明屬性、聯(lián)系的類型。圖,并在圖上注明屬性、聯(lián)系的類型。 (2 2)將)將ERER圖轉(zhuǎn)換成關(guān)系模式集,并指出每個(gè)關(guān)系模式主圖轉(zhuǎn)換成關(guān)系模式集,并指出每個(gè)關(guān)系模式主 鍵和外鍵。鍵和外鍵。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 性別性別姓名姓名職工編號(hào)職工編號(hào) 月薪月薪 聘期聘期 地址地址 商店名商店名 商店編號(hào)商店編號(hào) 規(guī)格規(guī)格商品名商品名商品號(hào)商品號(hào) 職工職工 商店商店 商品商品 聘用聘用 銷售銷售 單價(jià)單價(jià) 業(yè)績(jī)業(yè)績(jī) 月銷售量月銷售量 商店(商店(商店編號(hào)商店編號(hào),商店名,地址),商店名,地址) 商品(商品(商品號(hào)商品號(hào),商品名,規(guī)格,單價(jià)),商品名,規(guī)格,單價(jià)) 職工(職工(
6、職工編號(hào)職工編號(hào),姓名,性別,業(yè)績(jī),姓名,性別,業(yè)績(jī), 商店編號(hào),聘期,月薪)商店編號(hào),聘期,月薪) 銷售(銷售(商店編號(hào)商店編號(hào),商品號(hào)商品號(hào),月銷售量),月銷售量) 商品、銷售、商店、職工商品、銷售、商店、職工3NF3NF 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 完整性控制完整性控制 完整性控制:保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)和語完整性控制:保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)和語 義的正確性及有效性,采取有效的措施義的正確性及有效性,采取有效的措施 防止導(dǎo)致錯(cuò)誤數(shù)據(jù)的操作。防止導(dǎo)致錯(cuò)誤數(shù)據(jù)的操作。 SQL Server2000SQL Server2000數(shù)據(jù)完整性有四種類型:數(shù)據(jù)完整性有四種類型: 實(shí)體完整性實(shí)體
7、完整性 域完整性域完整性 參照完整性(也叫引用完整性)參照完整性(也叫引用完整性) 用戶自定義完整性用戶自定義完整性 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) SQLSQL中的中的CREATE TABLECREATE TABLE命令命令 在在SQLSQL查詢語句中用于定義列或字查詢語句中用于定義列或字 段一級(jí)的完整性約束,一般包括:段一級(jí)的完整性約束,一般包括: NOT NULLNOT NULL和和NULLNULL約束約束 PRIMARY KEYPRIMARY KEY約束約束 UNIQUEUNIQUE約束約束 FOREIGN KEYFOREIGN KEY約束約束 DEFAULTDEFAULT
8、定義定義 CHECKCHECK約束約束 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 例例: : 在學(xué)生選課數(shù)據(jù)庫(kù)中,定義關(guān)系模式在學(xué)生選課數(shù)據(jù)庫(kù)中,定義關(guān)系模式SC(snum,cnum,score) SC(snum,cnum,score) 。 CREATE TABLE SC(CREATE TABLE SC( snum char(10) NOT NULL FOREIGN KEY (snum) REFERENCES snum char(10) NOT NULL FOREIGN KEY (snum) REFERENCES student(snum) ON DELETE CASCADE,student
9、(snum) ON DELETE CASCADE, cnum char(10) NOT NULL FOREIGN KEY REFERENCES course cnum char(10) NOT NULL FOREIGN KEY REFERENCES course ON DELETE CASCADE, ON DELETE CASCADE, score INT NULL CHECK(score=0 AND score=0 AND score=100), PRIMARY KEYPRIMARY KEY(snum,cnumsnum,cnum)) ); u當(dāng)要修改當(dāng)要修改studentstudent表中的
10、表中的snumsnum值時(shí)或要修改值時(shí)或要修改coursecourse表中的表中的cnumcnum 值時(shí),先要檢查值時(shí),先要檢查SCSC中有無元組的中有無元組的snumsnum值或值或cnumcnum值與之對(duì)應(yīng),若沒值與之對(duì)應(yīng),若沒 有,則系統(tǒng)接受修改操作,否則,系統(tǒng)拒絕此操作。有,則系統(tǒng)接受修改操作,否則,系統(tǒng)拒絕此操作。 u當(dāng)要?jiǎng)h除當(dāng)要?jiǎng)h除studentstudent表或表或coursecourse表中某個(gè)元組時(shí),系統(tǒng)也要檢查表中某個(gè)元組時(shí),系統(tǒng)也要檢查 SCSC表,若找到相應(yīng)元組則將它們也隨之刪除。表,若找到相應(yīng)元組則將它們也隨之刪除。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 域完整
11、性控制實(shí)例域完整性控制實(shí)例 例例: : 設(shè)計(jì)關(guān)系模式設(shè)計(jì)關(guān)系模式 teacher(tnum,tname,ID,sex,ageteacher(tnum,tname,ID,sex,age,Join_date)Join_date), 要求年齡必須介于要求年齡必須介于18651865之間,之間,IDID表示身分證號(hào)必須唯一,性表示身分證號(hào)必須唯一,性 別只能是別只能是“男男”或或“女女”,姓名非空,工號(hào)必須是數(shù)字字符,姓名非空,工號(hào)必須是數(shù)字字符, , 進(jìn)入單位日期缺省狀態(tài)取系統(tǒng)時(shí)間。進(jìn)入單位日期缺省狀態(tài)取系統(tǒng)時(shí)間。 CREATE TABLE teacher(CREATE TABLE teacher(
12、 tnum VARCHAR(6) NOT NULL tnum VARCHAR(6) NOT NULL CHECK(tnum LIKE 0-90-90-9 0-90- CHECK(tnum LIKE 0-90-90-9 0-90- 90-9),90-9), tname VARCHAR(10) NOT NULL, tname VARCHAR(10) NOT NULL, ID CHAR(18) UNIQUE, ID CHAR(18) UNIQUE, sex CHAR(2) CHECK(sex IN( sex CHAR(2) CHECK(sex IN(男男,女女),), age INT CHECK(a
13、ge BETWEEN 1865), age INT CHECK(age BETWEEN 1865), Join_date DATETIME DEFAULT GETDATE(), Join_date DATETIME DEFAULT GETDATE(), PRIMARY KEY(tnum);PRIMARY KEY(tnum); 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 觸發(fā)器實(shí)現(xiàn)完整性控制觸發(fā)器實(shí)現(xiàn)完整性控制 例:例:建立一個(gè)建立一個(gè)DELETEDELETE觸發(fā)器,每當(dāng)在觸發(fā)器,每當(dāng)在 studentstudent表中刪除一條記錄時(shí),也將在表中刪除一條記錄時(shí),也將在SCSC 表中刪除相應(yīng)的記錄
14、。關(guān)系模式如下:表中刪除相應(yīng)的記錄。關(guān)系模式如下: student(snum,cname,sex,age)student(snum,cname,sex,age) sc(snum,cnum,score) sc(snum,cnum,score) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) CREATE TRIGGER student_delete CREATE TRIGGER student_delete ON studentON student FOR DELETEFOR DELETE ASAS DECLARE _snum AS CHAR(10) DECLARE _snum AS CHAR(10
15、) SELECT _snum=d.snum FROM deleted d SELECT _snum=d.snum FROM deleted d IF NOT EXISTS (SELECT IF NOT EXISTS (SELECT * * FROM sc WHERE FROM sc WHERE snum=_snum) snum=_snum) BEGIN BEGIN PRINT PRINT 已刪除沒有選課的學(xué)生!已刪除沒有選課的學(xué)生! COMMIT TRAN COMMIT TRAN END END ELSE ELSE BEGIN BEGIN DELETE FROM sc WHERE snum=_
16、snum DELETE FROM sc WHERE snum=_snum PRINT PRINT 成功刪除!成功刪除! END END 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)庫(kù)的實(shí)施數(shù)據(jù)庫(kù)的實(shí)施 1 1、根據(jù)關(guān)系模式創(chuàng)建數(shù)據(jù)庫(kù)后,要及時(shí)備份;、根據(jù)關(guān)系模式創(chuàng)建數(shù)據(jù)庫(kù)后,要及時(shí)備份; 2 2、項(xiàng)目設(shè)計(jì)小組的成員在分工調(diào)試項(xiàng)目時(shí),要用統(tǒng)、項(xiàng)目設(shè)計(jì)小組的成員在分工調(diào)試項(xiàng)目時(shí),要用統(tǒng) 一的數(shù)據(jù)庫(kù)模式進(jìn)行各自的設(shè)計(jì),數(shù)據(jù)庫(kù)中具體一的數(shù)據(jù)庫(kù)模式進(jìn)行各自的設(shè)計(jì),數(shù)據(jù)庫(kù)中具體 的測(cè)試數(shù)據(jù)可以各不相同;的測(cè)試數(shù)據(jù)可以各不相同; 3 3、項(xiàng)目最后連調(diào)時(shí),必須用實(shí)際的、完整的數(shù)據(jù)庫(kù)、項(xiàng)目最后連調(diào)時(shí),必須用
17、實(shí)際的、完整的數(shù)據(jù)庫(kù) 數(shù)據(jù)進(jìn)行測(cè)試,以期達(dá)到軟件測(cè)試的最終目的。數(shù)據(jù)進(jìn)行測(cè)試,以期達(dá)到軟件測(cè)試的最終目的。 注意:要善于用存儲(chǔ)過程,因?yàn)樵摷夹g(shù)可以提高系統(tǒng)運(yùn)行效率。注意:要善于用存儲(chǔ)過程,因?yàn)樵摷夹g(shù)可以提高系統(tǒng)運(yùn)行效率。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)訪問層的設(shè)計(jì)數(shù)據(jù)訪問層的設(shè)計(jì) ActiveX Data ObjectActiveX Data Object(ADOADO).NET.NET就就 是微軟提供的最新的數(shù)據(jù)訪問模型,是微軟提供的最新的數(shù)據(jù)訪問模型, 是應(yīng)用程序與相容數(shù)據(jù)源的數(shù)據(jù)訪問是應(yīng)用程序與相容數(shù)據(jù)源的數(shù)據(jù)訪問 接口,應(yīng)用程序可以使用接口,應(yīng)用程序可以使用ADO.N
18、ETADO.NET連接連接 任意類型的數(shù)據(jù)源,并檢索、處理和任意類型的數(shù)據(jù)源,并檢索、處理和 更新數(shù)據(jù)源中的數(shù)據(jù)。更新數(shù)據(jù)源中的數(shù)據(jù)。 P新技術(shù)新技術(shù) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) ADO.NET DataSet ADO.NET DataSet ADO.NET DataSet ADO.NET DataSet 是是 ADO.NET ADO.NET 的斷開式結(jié)的斷開式結(jié) 構(gòu)的核心組件。構(gòu)的核心組件。DataSet DataSet 的設(shè)計(jì)目的很明確:為了的設(shè)計(jì)目的很明確:為了 實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。因此,它可以實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。因此,它可以 用于多種不同的數(shù)據(jù)源
19、,用于用于多種不同的數(shù)據(jù)源,用于 XML XML 數(shù)據(jù),或用于管數(shù)據(jù),或用于管 理應(yīng)用程序本地的數(shù)據(jù)。理應(yīng)用程序本地的數(shù)據(jù)。DataSet DataSet 是數(shù)據(jù)的內(nèi)存駐是數(shù)據(jù)的內(nèi)存駐 留表示形式,無論數(shù)據(jù)源是什么,它都會(huì)提供一致留表示形式,無論數(shù)據(jù)源是什么,它都會(huì)提供一致 的關(guān)系編程模型。的關(guān)系編程模型。DataSet DataSet 包含一個(gè)或多個(gè)包含一個(gè)或多個(gè) DataTable DataTable 對(duì)象的集合,這些對(duì)象由數(shù)據(jù)行和數(shù)據(jù)對(duì)象的集合,這些對(duì)象由數(shù)據(jù)行和數(shù)據(jù) 列以及主鍵、外鍵、約束和有關(guān)列以及主鍵、外鍵、約束和有關(guān) DataTable DataTable 對(duì)象中對(duì)象中 數(shù)據(jù)的關(guān)
20、系信息組成。數(shù)據(jù)的關(guān)系信息組成。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) .NET Framework .NET Framework 數(shù)據(jù)提供程序數(shù)據(jù)提供程序 .NET Framework .NET Framework 數(shù)據(jù)提供程序是數(shù)據(jù)提供程序是ADO.NET ADO.NET 結(jié)構(gòu)的另一個(gè)核心元結(jié)構(gòu)的另一個(gè)核心元 素,其組件的設(shè)計(jì)目的相當(dāng)明確:實(shí)現(xiàn)對(duì)底層數(shù)據(jù)源的訪問。這素,其組件的設(shè)計(jì)目的相當(dāng)明確:實(shí)現(xiàn)對(duì)底層數(shù)據(jù)源的訪問。這 些組件包括:些組件包括:ConnectionConnection、CommandCommand、DataAdapterDataAdapter和和DataReader
21、DataReader 對(duì)象。對(duì)象。Connection Connection 對(duì)象提供與數(shù)據(jù)源的連接。對(duì)象提供與數(shù)據(jù)源的連接。Command Command 對(duì)象使對(duì)象使 您能夠訪問用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過程以及發(fā)送或您能夠訪問用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過程以及發(fā)送或 檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令。檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令。DataReader DataReader 從數(shù)據(jù)源中提供高性從數(shù)據(jù)源中提供高性 能的數(shù)據(jù)流。最后能的數(shù)據(jù)流。最后DataAdapter DataAdapter 提供連接提供連接 DataSet DataSet 對(duì)象和數(shù)據(jù)對(duì)象和數(shù)據(jù) 源的橋梁。源的橋梁。Data
22、Adapter DataAdapter 使用使用 Command Command 對(duì)象在數(shù)據(jù)源中執(zhí)行對(duì)象在數(shù)據(jù)源中執(zhí)行 SQL SQL 命令,以便將數(shù)據(jù)加載到命令,以便將數(shù)據(jù)加載到 DataSet DataSet 中,并使對(duì)中,并使對(duì) DataSet DataSet 中數(shù)據(jù)中數(shù)據(jù) 的更改與數(shù)據(jù)源保持一致。的更改與數(shù)據(jù)源保持一致。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) ConnectionConnection對(duì)象對(duì)象 連接字符串格式連接字符串格式SqlConnection Initial Catalog= mydb;DataSource=myServer;User ID=sa;passwo
23、rd=; OLEDB.NET數(shù)據(jù)提供程序數(shù)據(jù)提供程序Connection對(duì)象連接參數(shù)對(duì)象連接參數(shù) 屬性屬性說明說明 Provider指定指定OLEDB Provider Data Source指定數(shù)據(jù)庫(kù)服務(wù)器名稱或位置指定數(shù)據(jù)庫(kù)服務(wù)器名稱或位置 Initial Catalog指定數(shù)據(jù)庫(kù)名指定數(shù)據(jù)庫(kù)名 User ID用戶帳戶用戶帳戶 Password用戶密碼用戶密碼 Intigrated Intigrated SecuitySecuity SSPISSPI 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 應(yīng)用實(shí)例應(yīng)用實(shí)例 例:求例:求SCSC中所有選課學(xué)生的平均成績(jī)。中所有選課學(xué)生的平均成績(jī)。 SC
24、(snum,cnum,score)SC(snum,cnum,score) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) Private Sub Form1_Load() Handles MyBase.LoadPrivate Sub Form1_Load() Handles MyBase.Load Dim sql As String = select Dim sql As String = select * * from sc from sc Dim myconn As New SqlConnection(Initial Catalog= Dim myconn As New SqlConnecti
25、on(Initial Catalog=學(xué)生選課學(xué)生選課;Data_;Data_ Source=NAONAO;Integrated Source=NAONAO;Integrated Security=SSPI;)Security=SSPI;) Dim adapter As SqlDataAdapter = New SqlDataAdapter(sql, myconn) Dim adapter As SqlDataAdapter = New SqlDataAdapter(sql, myconn) Dim sc_dataset As New Data.DataSet Dim sc_dataset A
26、s New Data.DataSet adapter.Fill(sc_dataset, sc) adapter.Fill(sc_dataset, sc) Dim i As Integer = 0 Dim i As Integer = 0 Dim sum As Integer = 0 Dim sum As Integer = 0 For i = 0 To sc_dataset.Tables(sc).Rows.Count 1For i = 0 To sc_dataset.Tables(sc).Rows.Count 1 sum = sum + sc_dataset.Tables(sc).Rows(i
27、).Item(score)sum = sum + sc_dataset.Tables(sc).Rows(i).Item(score) Next Next sum = sum / i sum = sum / i MsgBox( MsgBox(平均成績(jī)平均成績(jī)= Data_ ;Data_ Source=NAONAO;Integrated Source=NAONAO;Integrated Security=SSPI;)Security=SSPI;) Dim mycmd As New SqlCommand(sql, myconn) Dim mycmd As New SqlCommand(sql, my
28、conn) Dim reader_sc As SqlDataReaderDim reader_sc As SqlDataReader Dim i As Integer = 0 Dim i As Integer = 0 Dim sum As Integer = 0 Dim sum As Integer = 0 myconn.Open() myconn.Open() reader_sc = mycmd.ExecuteReader()reader_sc = mycmd.ExecuteReader() Do While reader_sc.Read() Do While reader_sc.Read(
29、) sum = sum + reader_sc.item(2) sum = sum + reader_sc.item(2) i = i + 1 i = i + 1 Loop Loop reader_sc.Close() reader_sc.Close() myconn.Close() myconn.Close() sum = sum / i sum = sum / i MsgBox( MsgBox(平均成績(jī)平均成績(jī)= Data_ ;Data_ Source=NAONAO;Integrated Source=NAONAO;Integrated Security=SSPI;) Security=S
30、SPI;) Dim mycmd As New SqlCommand(sql, myconn) Dim mycmd As New SqlCommand(sql, myconn) Dim avg As Integer = 0 Dim avg As Integer = 0 myconn.Open() myconn.Open() avg = mycmd.ExecuteScalar() avg = mycmd.ExecuteScalar() myconn.Close() myconn.Close() MsgBox( MsgBox(平均成績(jī)平均成績(jī)= & avg)= & avg) End SubEnd S
31、ub 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)綁定數(shù)據(jù)綁定 數(shù)據(jù)綁定是綁定技術(shù)中使用最頻繁,也是最數(shù)據(jù)綁定是綁定技術(shù)中使用最頻繁,也是最 為重要的技術(shù),也可以說是各種為重要的技術(shù),也可以說是各種.Net.Net開發(fā)語言開發(fā)數(shù)開發(fā)語言開發(fā)數(shù) 據(jù)庫(kù)應(yīng)用程序最需要掌握的基本知識(shí)之一。數(shù)據(jù)綁定據(jù)庫(kù)應(yīng)用程序最需要掌握的基本知識(shí)之一。數(shù)據(jù)綁定 之所以很重要,是因?yàn)樵谥院苤匾?,是因?yàn)樵?Net FrameWork SDK.Net FrameWork SDK中并沒中并沒 有提供數(shù)據(jù)庫(kù)開發(fā)的相關(guān)組件,即如:有提供數(shù)據(jù)庫(kù)開發(fā)的相關(guān)組件,即如:DbTextBoxDbTextBox、 DbLabelDbL
32、abel等用于數(shù)據(jù)庫(kù)開發(fā)的常用組件在等用于數(shù)據(jù)庫(kù)開發(fā)的常用組件在.Net .Net FrameWork SDKFrameWork SDK中都沒有。而數(shù)據(jù)綁定技術(shù)使得界面中都沒有。而數(shù)據(jù)綁定技術(shù)使得界面 上的所有控件訪問數(shù)據(jù)源數(shù)據(jù)時(shí)可以步調(diào)一致。上的所有控件訪問數(shù)據(jù)源數(shù)據(jù)時(shí)可以步調(diào)一致。 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用第九章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā) (1 1)建立)建立SQLServerSQLServer客戶表與客戶表與VB.netVB.net控件之間的數(shù)據(jù)綁定關(guān)系控件之間的數(shù)據(jù)綁定關(guān)系 Public mybind As BindingManagerBasePublic
33、 mybind As BindingManagerBase Me.SqlDataAdapter2.Fill(Me.DataSet11. Me.SqlDataAdapter2.Fill(Me.DataSet11.客戶客戶) ) mybind = Me.BindingContext(Me.DataSet11, mybind = Me.BindingContext(Me.DataSet11, 客戶客戶) ) (2 2)用四個(gè))用四個(gè)buttonbutton實(shí)現(xiàn)客戶表的數(shù)據(jù)瀏覽實(shí)現(xiàn)客戶表的數(shù)據(jù)瀏覽 mybind.Position = 0 /mybind.Position = 0 /到頭到頭 mybin
34、d.Position = mybind.Position 1 /mybind.Position = mybind.Position 1 /往前往前 翻翻 mybind.Position = mybind.Position + 1 /mybind.Position = mybind.Position + 1 /往后往后 翻翻 mybind.Position = mybind.Count 1 /mybind.Position = mybind.Count 1 /到尾到尾 (3 3)用五個(gè))用五個(gè)buttonbutton實(shí)現(xiàn)客戶表的更新操作實(shí)現(xiàn)客戶表的更新操作 mybind.AddNew() /my
35、bind.AddNew() /插入一條記錄插入一條記錄 mybind.RemoveAt(mybind.Position) /mybind.RemoveAt(mybind.Position) /刪除當(dāng)前記刪除當(dāng)前記 錄錄 mybind.EndCurrentEdit() /mybind.EndCurrentEdit() /結(jié)束當(dāng)前更結(jié)束當(dāng)前更 新狀態(tài)新狀態(tài) mybind.CancelCurrentEdit() /mybind.CancelCurrentEdit() /取消當(dāng)前編輯取消當(dāng)前編輯 修改修改 mybind.EndCurrentEdit() mybind.EndCurrentEdit() Me.SqlDataAdapter1.Up
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 骨盆損傷的健康宣教
- 扁桃體癌的健康宣教
- 孕期牙周炎的健康宣教
- 紅皮病型銀屑病的臨床護(hù)理
- 《Java程序設(shè)計(jì)及移動(dòng)APP開發(fā)》課件-第05章
- 創(chuàng)傷性骨化性肌炎的健康宣教
- JJF(黔) 86-2024 液體流量計(jì)在線校準(zhǔn)規(guī)范
- 規(guī)劃業(yè)務(wù)拓展的路線圖計(jì)劃
- 電視劇編劇承攬合同三篇
- 光掃描數(shù)字化儀相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 中小學(xué)生心理健康量表(共9頁(yè))
- 買賣合同糾紛起訴狀范例
- 成都市建筑工程質(zhì)量監(jiān)督備案表
- 建筑施工后期收尾階段的技術(shù)管理
- 外加劑試驗(yàn)記錄1
- 2011贛南臍橙購(gòu)銷合同
- 應(yīng)收賬款 -會(huì)計(jì)畢業(yè)論文
- 全國(guó)銀行間債券市場(chǎng)跨托管機(jī)構(gòu)債券借貸(人工處理)業(yè)務(wù)規(guī)則
- 變壓器零序差動(dòng)保護(hù)原理及調(diào)試
- 小升初個(gè)人簡(jiǎn)歷模板百度云下載
- 分支機(jī)構(gòu)職場(chǎng)租賃裝修及家具設(shè)備管理辦法
評(píng)論
0/150
提交評(píng)論