




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、SQL Server 2005數(shù)據(jù)庫管理與開發(fā)教程第第12章章 基于基于C/S結(jié)構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù)結(jié)構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù) 本章主要介紹基于本章主要介紹基于C/S結(jié)構(gòu)的數(shù)據(jù)庫開結(jié)構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù),內(nèi)容包括發(fā)技術(shù),內(nèi)容包括C/S結(jié)構(gòu)與結(jié)構(gòu)與B/S結(jié)構(gòu)概述,結(jié)構(gòu)概述,VB基于基于C/S架構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù),使用架構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù),使用ADO控件操縱控件操縱SQL Server 2005,使用,使用ADO對象操縱對象操縱SQL Server 2005,最后通,最后通過一個(gè)完整的學(xué)生信息系統(tǒng),使讀者全面過一個(gè)完整的學(xué)生信息系統(tǒng),使讀者全面了解基于了解基于C/S結(jié)構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù),并應(yīng)結(jié)構(gòu)的數(shù)據(jù)庫開發(fā)
2、技術(shù),并應(yīng)用到實(shí)際工作中。用到實(shí)際工作中。12.112.1C/SC/S結(jié)構(gòu)與結(jié)構(gòu)與B/SB/S結(jié)構(gòu)結(jié)構(gòu)12.212.2VBVB基于基于C/SC/S架構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù)架構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù)12.312.3使用使用ADOADO控件操縱控件操縱SQL Server2005SQL Server200512.412.4使用使用ADOADO對象操作對象操作SQL Server 2005SQL Server 200512.512.5開發(fā)一個(gè)學(xué)生信息系統(tǒng)開發(fā)一個(gè)學(xué)生信息系統(tǒng)12.1 C/S結(jié)構(gòu)與結(jié)構(gòu)與B/S結(jié)構(gòu)結(jié)構(gòu) 12.1.1 12.1.1 認(rèn)識認(rèn)識C/SC/S結(jié)構(gòu)結(jié)構(gòu)圖圖12.1 三層三層/結(jié)構(gòu)圖結(jié)構(gòu)圖
3、C/S結(jié)構(gòu)的優(yōu)點(diǎn)如下:結(jié)構(gòu)的優(yōu)點(diǎn)如下: (1)能充分發(fā)揮客戶端計(jì)算機(jī)的處理)能充分發(fā)揮客戶端計(jì)算機(jī)的處理能力,很多工作可以在客戶端處理后再提能力,很多工作可以在客戶端處理后再提交給服務(wù)器。交給服務(wù)器。 對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。 (2)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕,)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕,數(shù)據(jù)安全性較高。數(shù)據(jù)安全性較高。 其缺點(diǎn)主要有以下幾點(diǎn):其缺點(diǎn)主要有以下幾點(diǎn): (1)維護(hù)成本高。)維護(hù)成本高。 (2)系統(tǒng)擴(kuò)展性差。)系統(tǒng)擴(kuò)展性差。 (3)客戶端需要安裝專用的客戶端軟)客戶端需要安裝專用的客戶端軟件件。 12.1.2 12.1.2 認(rèn)識認(rèn)識B/SB
4、/S結(jié)構(gòu)結(jié)構(gòu)圖圖12.2 B/S結(jié)構(gòu)結(jié)構(gòu) 12.1.3 C/S 12.1.3 C/S結(jié)構(gòu)與結(jié)構(gòu)與B/SB/S結(jié)構(gòu)的區(qū)結(jié)構(gòu)的區(qū)別別 Client/Server(C/S)結(jié)構(gòu)是建立在)結(jié)構(gòu)是建立在局域網(wǎng)的基礎(chǔ)上的,局域網(wǎng)的基礎(chǔ)上的,Browser/Server(B/S)結(jié)構(gòu)是建立在廣域網(wǎng)的基礎(chǔ)上的。)結(jié)構(gòu)是建立在廣域網(wǎng)的基礎(chǔ)上的。 兩種結(jié)構(gòu)存在下列區(qū)別。兩種結(jié)構(gòu)存在下列區(qū)別。 (1)硬件環(huán)境不同。)硬件環(huán)境不同。 (2)對安全要求不同。)對安全要求不同。 (3)程序架構(gòu)不同。)程序架構(gòu)不同。 (4)軟件重用度下同。)軟件重用度下同。 (5)系統(tǒng)維護(hù)不同。)系統(tǒng)維護(hù)不同。 (6)處理問題不同。)處理
5、問題不同。 (7)用戶接口不同。)用戶接口不同。 (8)信息流不同。)信息流不同。 12.2 VB基于基于C/S架構(gòu)的數(shù)據(jù)庫開發(fā)技架構(gòu)的數(shù)據(jù)庫開發(fā)技術(shù)術(shù) 12.2.1 12.2.1 了解了解ODBCODBC ODBC(Open DataBase Connectivity,開放數(shù)據(jù)庫互連)是,開放數(shù)據(jù)庫互連)是Microsoft公司提供的有關(guān)數(shù)據(jù)庫的一個(gè)組公司提供的有關(guān)數(shù)據(jù)庫的一個(gè)組成部分,它建立一組規(guī)范并提供了數(shù)據(jù)庫成部分,它建立一組規(guī)范并提供了數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。(應(yīng)用程序編程接口)。 一個(gè)使用一個(gè)使用ODBC操作數(shù)據(jù)庫的應(yīng)用程操作數(shù)據(jù)庫的應(yīng)用程序,基本操作
6、都是由序,基本操作都是由ODBC驅(qū)動程序完成,驅(qū)動程序完成,不依賴于不依賴于DBMS。 應(yīng)用程序訪問數(shù)據(jù)庫時(shí),首先要用應(yīng)用程序訪問數(shù)據(jù)庫時(shí),首先要用ODBC管理器注冊一個(gè)數(shù)據(jù)源,這個(gè)數(shù)據(jù)管理器注冊一個(gè)數(shù)據(jù)源,這個(gè)數(shù)據(jù)源包括數(shù)據(jù)庫位置、數(shù)據(jù)庫類型和源包括數(shù)據(jù)庫位置、數(shù)據(jù)庫類型和ODBC驅(qū)動程序等信息,管理器根據(jù)這些信息建驅(qū)動程序等信息,管理器根據(jù)這些信息建立立ODBC與數(shù)據(jù)庫的連接。與數(shù)據(jù)庫的連接。 12.2.2 12.2.2 配置配置ODBCODBC數(shù)據(jù)源數(shù)據(jù)源 圖圖12.3 打開打開“ODBC 數(shù)據(jù)源管理器數(shù)據(jù)源管理器” 圖圖12.4 創(chuàng)建數(shù)據(jù)源創(chuàng)建數(shù)據(jù)源 在此輸入數(shù)據(jù)源名稱 在此選擇服務(wù)器
7、,local 為本地服務(wù)器 圖圖12.5 數(shù)據(jù)源信息設(shè)置數(shù)據(jù)源信息設(shè)置 選擇身份驗(yàn)證模式 輸入登錄 ID 及密碼 圖圖12.6 選擇數(shù)據(jù)庫驗(yàn)證方式選擇數(shù)據(jù)庫驗(yàn)證方式 選擇該選項(xiàng) 在此下拉列表中 選擇需要的數(shù)據(jù)庫 圖圖12.7 選擇數(shù)據(jù)庫選擇數(shù)據(jù)庫 12.2.3 12.2.3 了解了解OLE DBOLE DB OLE DB(OLEDB)是微軟通向不同)是微軟通向不同數(shù)據(jù)源的低級應(yīng)用程序接口。數(shù)據(jù)源的低級應(yīng)用程序接口。 OLE DB不僅包括微軟資助的標(biāo)準(zhǔn)數(shù)不僅包括微軟資助的標(biāo)準(zhǔn)數(shù)據(jù)接口開放數(shù)據(jù)庫連通性(據(jù)接口開放數(shù)據(jù)庫連通性(ODBC)的結(jié))的結(jié)構(gòu)化查詢語言(構(gòu)化查詢語言(SQL)能力,還具有面向
8、)能力,還具有面向其他非其他非SQL數(shù)據(jù)類型的通路。數(shù)據(jù)類型的通路。 作為微軟的組件對象模型(作為微軟的組件對象模型(COM)的)的一種設(shè)計(jì),一種設(shè)計(jì),OLE DB是一組讀寫數(shù)據(jù)的方法。是一組讀寫數(shù)據(jù)的方法。 OLD DB中的對象主要包括數(shù)據(jù)源對中的對象主要包括數(shù)據(jù)源對象、階段對象、命令對象和行組對象。象、階段對象、命令對象和行組對象。 使用使用OLE DB的應(yīng)用程序會用到如下的應(yīng)用程序會用到如下的請求序列:初始化的請求序列:初始化OLE并連接到數(shù)據(jù)源、并連接到數(shù)據(jù)源、發(fā)出命令、處理結(jié)果、釋放數(shù)據(jù)源對象并發(fā)出命令、處理結(jié)果、釋放數(shù)據(jù)源對象并停止初始化停止初始化OLE。 12.2.4 ADO 1
9、2.2.4 ADO開發(fā)技術(shù)開發(fā)技術(shù) ADO(ActiveX Data Object,ActiveX數(shù)據(jù)對象)是一個(gè)基于數(shù)據(jù)對象)是一個(gè)基于OLE DB之之上的對象模型,包含了所有可以被上的對象模型,包含了所有可以被OLE DB標(biāo)準(zhǔn)接口描述的數(shù)據(jù)類型,通過標(biāo)準(zhǔn)接口描述的數(shù)據(jù)類型,通過ADO內(nèi)部內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口。的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口。 ADO對象模型具有可擴(kuò)展性,當(dāng)把數(shù)對象模型具有可擴(kuò)展性,當(dāng)把數(shù)據(jù)庫上層應(yīng)用程序移植到不同的數(shù)據(jù)庫平據(jù)庫上層應(yīng)用程序移植到不同的數(shù)據(jù)庫平臺上時(shí),只需要更換連接數(shù)據(jù)庫的驅(qū)動程臺上時(shí),只需要更換連接數(shù)據(jù)庫的驅(qū)動程序,而不需要對上層程序作
10、任何修改。序,而不需要對上層程序作任何修改。 ADO組件是組件是Microsoft數(shù)據(jù)訪問組件數(shù)據(jù)訪問組件(MDAC)的一部分,可以直接從微軟公)的一部分,可以直接從微軟公司的官方網(wǎng)站下載更新,常見的版本是司的官方網(wǎng)站下載更新,常見的版本是MDAC2.5和和MDAC2.7。 最新的最新的ADO.NET版本包含在版本包含在MDAC2.7組件里,隨著組件里,隨著.NET開發(fā)工具一起開發(fā)工具一起發(fā)布,包含了對新一代的發(fā)布,包含了對新一代的XML網(wǎng)絡(luò)技術(shù)的網(wǎng)絡(luò)技術(shù)的全面支持,關(guān)于全面支持,關(guān)于ADO.NET的相關(guān)內(nèi)容將在的相關(guān)內(nèi)容將在第第13章中介紹。章中介紹。 ADO提供了執(zhí)行以下操作的方式:提供了
11、執(zhí)行以下操作的方式: (1)連接到數(shù)據(jù)源,同時(shí)可確定對數(shù))連接到數(shù)據(jù)源,同時(shí)可確定對數(shù)據(jù)源的所有更改是否已成功或沒有發(fā)生。據(jù)源的所有更改是否已成功或沒有發(fā)生。 (2)指定訪問數(shù)據(jù)源的命令,同時(shí)可)指定訪問數(shù)據(jù)源的命令,同時(shí)可帶變量參數(shù),或優(yōu)化執(zhí)行。帶變量參數(shù),或優(yōu)化執(zhí)行。 通常涉及通常涉及ADO的的Command對象。對象。 (3)執(zhí)行命令,例如一個(gè))執(zhí)行命令,例如一個(gè)Select語句。語句。 (4)如果這個(gè)命令使數(shù)據(jù)按表中的行)如果這個(gè)命令使數(shù)據(jù)按表中的行的形式返回,則將這些行存儲在易于檢查、的形式返回,則將這些行存儲在易于檢查、操作或更改的緩存中。操作或更改的緩存中。 (5)適當(dāng)情況下,可
12、使用緩存行的更)適當(dāng)情況下,可使用緩存行的更改內(nèi)容來更新數(shù)據(jù)源。改內(nèi)容來更新數(shù)據(jù)源。 (6)提供常規(guī)方法檢測錯(cuò)誤(通常由)提供常規(guī)方法檢測錯(cuò)誤(通常由建立連接或執(zhí)行命令造成),涉及建立連接或執(zhí)行命令造成),涉及ADO的的Error對象。對象。 圖圖12.8 ADO對象模型對象模型12.3 使用使用ADO控件操縱控件操縱SQL Server 2005 ADO Data控件(如圖控件(如圖12.9所示)是通所示)是通過過Microsoft ActiveX數(shù)據(jù)對象(數(shù)據(jù)對象(ADO)來)來快速建立數(shù)據(jù)源連接的數(shù)據(jù)綁定控件,應(yīng)快速建立數(shù)據(jù)源連接的數(shù)據(jù)綁定控件,應(yīng)用程序通過用程序通過ADO控件與數(shù)據(jù)提供
13、者連接,控件與數(shù)據(jù)提供者連接,數(shù)據(jù)提供者可以是任何符合數(shù)據(jù)提供者可以是任何符合OLE DB規(guī)范的規(guī)范的數(shù)據(jù)源。數(shù)據(jù)源。圖圖12.9 ADO Data控件控件 ADO Data控件通過屬性實(shí)現(xiàn)了對數(shù)據(jù)控件通過屬性實(shí)現(xiàn)了對數(shù)據(jù)源的連接。源的連接。 創(chuàng)建連接時(shí),可以采用下列連接方式創(chuàng)建連接時(shí),可以采用下列連接方式之一:一個(gè)字符串,一個(gè)之一:一個(gè)字符串,一個(gè)OLE DB文件或一文件或一個(gè)個(gè)ODBC數(shù)據(jù)源名稱(數(shù)據(jù)源名稱(DSN)。)。 當(dāng)使用當(dāng)使用DSN時(shí),無須更改控件的任何時(shí),無須更改控件的任何其他屬性。其他屬性。 使用使用ADO Data控件可以達(dá)到以下目的:控件可以達(dá)到以下目的: (1)連接一個(gè)
14、本地?cái)?shù)據(jù)庫或遠(yuǎn)程數(shù)據(jù))連接一個(gè)本地?cái)?shù)據(jù)庫或遠(yuǎn)程數(shù)據(jù)庫。庫。 (2)打開一個(gè)指定的數(shù)據(jù)庫表,或定)打開一個(gè)指定的數(shù)據(jù)庫表,或定義一個(gè)基于義一個(gè)基于SQL的查詢、存儲過程、或該的查詢、存儲過程、或該數(shù)據(jù)庫中表視圖的記錄集合。數(shù)據(jù)庫中表視圖的記錄集合。 (3)將數(shù)據(jù)字段的數(shù)值傳遞給數(shù)據(jù)綁)將數(shù)據(jù)字段的數(shù)值傳遞給數(shù)據(jù)綁定控件,并在這些控件中顯示或更改這些定控件,并在這些控件中顯示或更改這些數(shù)據(jù)字段的數(shù)值。數(shù)據(jù)字段的數(shù)值。 (4)添加新的記錄,或根據(jù)顯示在數(shù))添加新的記錄,或根據(jù)顯示在數(shù)據(jù)綁定控件中的數(shù)據(jù)的任何更改來更新一據(jù)綁定控件中的數(shù)據(jù)的任何更改來更新一個(gè)數(shù)據(jù)庫。個(gè)數(shù)據(jù)庫。 12.3.1 12.3.
15、1 添加添加ADOADO控件控件圖圖12.10 在在main_jcsz_rylb窗體上添加窗體上添加ADO控件控件 12.3.2 12.3.2 訪問訪問SQL Server 2005SQL Server 2005數(shù)據(jù)庫數(shù)據(jù)庫 1 1通過通過ConnectionStringConnectionString屬性連接數(shù)屬性連接數(shù)據(jù)庫據(jù)庫 圖圖12.11 “屬性頁屬性頁”對話框?qū)υ捒?圖圖12.12 設(shè)置設(shè)置“連接連接”選項(xiàng)卡界面選項(xiàng)卡界面 2 2通過通過RecordSourceRecordSource屬性連接數(shù)據(jù)表屬性連接數(shù)據(jù)表 RecordSource屬性確定具體可訪問屬性確定具體可訪問的數(shù)據(jù),這
16、些數(shù)據(jù)構(gòu)成記錄集對象的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對象Recordset。 該屬性值可以是數(shù)據(jù)庫中的單個(gè)表,該屬性值可以是數(shù)據(jù)庫中的單個(gè)表,也可以是也可以是SQL查詢語句。查詢語句。 語法:語法: object.RecordSource = value 圖圖12.13 記錄源記錄源“屬性頁屬性頁”對話框?qū)υ捒?12.3.3 12.3.3 使用數(shù)據(jù)綁定控件瀏覽數(shù)據(jù)使用數(shù)據(jù)綁定控件瀏覽數(shù)據(jù) 數(shù)據(jù)綁定是控件顯示記錄集中記錄的數(shù)據(jù)綁定是控件顯示記錄集中記錄的一種方式,例如一種方式,例如DataGrid、MSHFlexGrid等網(wǎng)格控件通常都是通過數(shù)據(jù)綁定的方式等網(wǎng)格控件通常都是通過數(shù)據(jù)綁定的方式顯示數(shù)據(jù)。
17、顯示數(shù)據(jù)。 圖圖12.14 選擇需要綁定的選擇需要綁定的ADO控件控件 12.3.4 12.3.4 添加、修改和刪除數(shù)據(jù)添加、修改和刪除數(shù)據(jù) 記錄的添加、修改和刪除功能分別由記錄的添加、修改和刪除功能分別由ADO控件的控件的Recordset對象的對象的AddNew方方法、法、Update方法、方法、Delete方法實(shí)現(xiàn)。方法實(shí)現(xiàn)。 1 1AddNewAddNew方法方法 功能:為可更新的功能:為可更新的Recordset對象創(chuàng)建對象創(chuàng)建新記錄。新記錄。 語法:語法: recordset.AddNew FieldList, Values 圖圖12.15 人員類別設(shè)置窗體人員類別設(shè)置窗體 圖圖1
18、2.16 打開人員類別表打開人員類別表 2 2UpdateUpdate方法方法 保存對保存對Recordset對象的當(dāng)前記錄所做對象的當(dāng)前記錄所做的所有更改。的所有更改。 語法:語法: recordset.Update Fields,Values圖圖12.17 圖書名稱修改窗體圖書名稱修改窗體 將 “明日圖書” 修改為 “明日科技圖書” 圖圖12.18 修改后的修改后的“表表tb_book” 3 3DeleteDelete方法方法 功能:刪除當(dāng)前記錄或記錄組。功能:刪除當(dāng)前記錄或記錄組。 語法:語法: recordset.Delete AffectRecords12.4 使用使用ADO對象操作
19、對象操作SQL Server 2005 12.4.1 12.4.1 訪問訪問SQL Server SQL Server 20052005ADO 的 5 個(gè)版本 圖圖12.19 引用引用ADO對象對象 12.4.2 12.4.2 使用數(shù)據(jù)綁定控件瀏覽數(shù)據(jù)使用數(shù)據(jù)綁定控件瀏覽數(shù)據(jù) 數(shù)據(jù)綁定的方法與在使用數(shù)據(jù)綁定的方法與在使用ADO控件時(shí)控件時(shí)的方法類似,都是通過設(shè)置控件的的方法類似,都是通過設(shè)置控件的DataSource屬性實(shí)現(xiàn)的。屬性實(shí)現(xiàn)的。 12.4.3 12.4.3 添加、修改和刪除數(shù)據(jù)添加、修改和刪除數(shù)據(jù) 使用使用ADO時(shí),通過時(shí),通過Recordset對象可對象可對幾乎所有的數(shù)據(jù)進(jìn)行操作
20、。對幾乎所有的數(shù)據(jù)進(jìn)行操作。 下面利用下面利用Recordset對象的對象的AddNew和和Update方法向數(shù)據(jù)庫中添加數(shù)據(jù),但方法向數(shù)據(jù)庫中添加數(shù)據(jù),但Recordset對象必須是可更新的。對象必須是可更新的。 下面講解下面講解Recordset對象的對象的AddNew和和Update方法給數(shù)據(jù)表增加記錄。方法給數(shù)據(jù)表增加記錄。 AddNew方法的語法如下。方法的語法如下。 Recordset.AddNew FieldList , Values圖圖12.20 Recordset對象操作數(shù)據(jù)庫中數(shù)據(jù)對象操作數(shù)據(jù)庫中數(shù)據(jù) 12.4.4 12.4.4 訪問視圖訪問視圖 視圖是一種邏輯對象,是一種
21、虛擬表。視圖是一種邏輯對象,是一種虛擬表。 在視圖中被查詢的表稱為視圖的基表。在視圖中被查詢的表稱為視圖的基表。 大多數(shù)的大多數(shù)的SQL語句都可以用在視圖的語句都可以用在視圖的創(chuàng)建中。創(chuàng)建中。 下面對創(chuàng)建視圖以及調(diào)用視圖的方法下面對創(chuàng)建視圖以及調(diào)用視圖的方法進(jìn)行介紹。進(jìn)行介紹。 (1)創(chuàng)建視圖)創(chuàng)建視圖 使用使用CREATE VIEW語句創(chuàng)建視圖。語句創(chuàng)建視圖。 CREATE VIEW的語法格式如下:的語法格式如下: CREATE VIEW view_name(column_name,column_name) AS SELECT_statement (2)刪除視圖)刪除視圖 使用使用DROP
22、VIEW語句刪除視圖語句刪除視圖 DROP VIEW的語法格式如下:的語法格式如下: DROP VIEW view_name (3)查詢視圖記錄)查詢視圖記錄 對視圖中的記錄進(jìn)行查詢的方法與對對視圖中的記錄進(jìn)行查詢的方法與對實(shí)表查詢的方法相同實(shí)表查詢的方法相同 12.4.5 12.4.5 訪問觸發(fā)器和存儲過程訪問觸發(fā)器和存儲過程 存儲過程是在數(shù)據(jù)庫服務(wù)器端執(zhí)行的存儲過程是在數(shù)據(jù)庫服務(wù)器端執(zhí)行的一組一組SQL語句的集合,經(jīng)編譯后存放在數(shù)語句的集合,經(jīng)編譯后存放在數(shù)據(jù)庫服務(wù)器中。據(jù)庫服務(wù)器中。 觸發(fā)器是一種特殊類型的存儲過程,觸發(fā)器是一種特殊類型的存儲過程,它不同于普通的存儲過程。它不同于普通的存
23、儲過程。 觸發(fā)器主要是通過時(shí)間進(jìn)行觸發(fā)而被觸發(fā)器主要是通過時(shí)間進(jìn)行觸發(fā)而被執(zhí)行的。執(zhí)行的。 1 1觸發(fā)器觸發(fā)器 (1)創(chuàng)建觸發(fā)器)創(chuàng)建觸發(fā)器 利用利用CREATE TRIGGER語句可以創(chuàng)建語句可以創(chuàng)建觸發(fā)器。觸發(fā)器。 創(chuàng)建觸發(fā)器的語法結(jié)構(gòu)如下:創(chuàng)建觸發(fā)器的語法結(jié)構(gòu)如下: CREATE TRIGGER trigger_name ON table | view WITH ENCRYPTION FOR | AFTER | INSTEAD OF DELETE , INSERT , UPDATE AS Sql_statements (2)刪除觸發(fā)器)刪除觸發(fā)器 利用利用DROP TRIGGER可以刪除
24、觸發(fā)可以刪除觸發(fā)器。器。 刪除觸發(fā)器的語法格式如下:刪除觸發(fā)器的語法格式如下: DROP TRIGGER trigger ,.n (3)觸發(fā)器的觸發(fā))觸發(fā)器的觸發(fā) 當(dāng)更新數(shù)據(jù)時(shí)觸發(fā)前面創(chuàng)建的觸發(fā)器當(dāng)更新數(shù)據(jù)時(shí)觸發(fā)前面創(chuàng)建的觸發(fā)器TRG_Edit,代碼如下:,代碼如下:Private Sub Cmd_Update_Click() 更新數(shù)據(jù)操作 On Error GoTo x If Text1.Text = Or Text2.Text = Then MsgBox 輸入的員工信息不能為空, 48, 提示信息 Else Con2.ConnectionString = Provider=SQLOLEDB
25、.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_Data Con2.Open Set Rs = Con2.Execute(UPDATE tb_employee SET 員工姓名= + Text2.Text + where 員工姓名= + Text1.Text + ) Con2.Close MsgBox 數(shù)據(jù)更新成功完成, 64, 提示信息 End If Exit Subx: MsgBox 觸發(fā)器還沒有創(chuàng)建,請先創(chuàng)建觸發(fā)器, 48, 提示信息End Sub 2 2存儲過程存儲過程 (1)創(chuàng)建存儲過程)創(chuàng)建存儲過程 創(chuàng)建存儲
26、過程的語法格式如下:創(chuàng)建存儲過程的語法格式如下: CREATE PROCEDURE Procedure_name ;number Parameter data_type VARYING =default OUTPUT ,n WITH RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION FOR REPLICATION AS sql_statement n (2)刪除存儲過程)刪除存儲過程 刪除存儲過程的語法格式如下:刪除存儲過程的語法格式如下: DROP PROCEDURE , (3)執(zhí)行存儲過程)執(zhí)行存儲過程 執(zhí)行存儲過程的語法格式如下:執(zhí)行存儲過程的
27、語法格式如下: EXECUTE Procedure name12.5 開發(fā)一個(gè)學(xué)生信息系統(tǒng)開發(fā)一個(gè)學(xué)生信息系統(tǒng) 12.5.1 12.5.1 需求分析需求分析 12.5.2 12.5.2 系統(tǒng)總體框架設(shè)計(jì)系統(tǒng)總體框架設(shè)計(jì) 1 1系統(tǒng)目標(biāo)系統(tǒng)目標(biāo) (1)要求有良好的人機(jī)界面,以便操)要求有良好的人機(jī)界面,以便操作人員的使用;作人員的使用; (2)要求有較好的權(quán)限管理;)要求有較好的權(quán)限管理; (3)能夠?qū)崿F(xiàn)數(shù)據(jù)信息的添加、修改、)能夠?qū)崿F(xiàn)數(shù)據(jù)信息的添加、修改、查詢和刪除等操作;查詢和刪除等操作; (4)操作方便,數(shù)據(jù)穩(wěn)定性好;)操作方便,數(shù)據(jù)穩(wěn)定性好; (5)系統(tǒng)要求有安全性、協(xié)調(diào)性和完)系統(tǒng)要求
28、有安全性、協(xié)調(diào)性和完整性。整性。 (1)實(shí)現(xiàn)學(xué)生信息的添加、修改和查)實(shí)現(xiàn)學(xué)生信息的添加、修改和查詢;詢; (2)實(shí)現(xiàn)班級信息的添加、修改和查)實(shí)現(xiàn)班級信息的添加、修改和查詢;詢; (3)基本課程信息的添加、修改和查)基本課程信息的添加、修改和查詢;詢; (4)成績信息的添加、修改和查詢;)成績信息的添加、修改和查詢; (5)學(xué)生成績信息的統(tǒng)計(jì)。)學(xué)生成績信息的統(tǒng)計(jì)。 2 2系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)學(xué)生信息管理系統(tǒng)學(xué)生信息管理班級信息管理課程信息管理成績信息管理學(xué)生信息添加學(xué)生信息修改學(xué)生信息查詢班級信息添加班級信息修改班級信息修改課程信息添加課程信息修改課程信息查詢成績信息添加成績信
29、息修改成績信息查詢班級信息查詢圖圖12.21 學(xué)生信息管理系統(tǒng)功能結(jié)構(gòu)圖學(xué)生信息管理系統(tǒng)功能結(jié)構(gòu)圖 12.5.3 12.5.3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì) 1 1數(shù)據(jù)庫的分析數(shù)據(jù)庫的分析 為了實(shí)現(xiàn)數(shù)據(jù)的安全與穩(wěn)定,學(xué)生信為了實(shí)現(xiàn)數(shù)據(jù)的安全與穩(wěn)定,學(xué)生信息管理系統(tǒng)使用了當(dāng)前比較流行的息管理系統(tǒng)使用了當(dāng)前比較流行的SQL Server2005數(shù)據(jù)庫。數(shù)據(jù)庫。 Microsoft SQL Server 2005是微軟在是微軟在2005年年12月推出的一款擁有多種服務(wù)的數(shù)月推出的一款擁有多種服務(wù)的數(shù)據(jù)平臺。據(jù)平臺。 在該數(shù)據(jù)平臺下在該數(shù)據(jù)平臺下“數(shù)據(jù)數(shù)據(jù)”和和“分析程分析程序序”更加安全、穩(wěn)定和可靠。更加安
30、全、穩(wěn)定和可靠。 2 2邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì) (1)數(shù)據(jù)表概要說明)數(shù)據(jù)表概要說明 (2)主要數(shù)據(jù)表的結(jié)構(gòu))主要數(shù)據(jù)表的結(jié)構(gòu) 圖圖12.22 數(shù)據(jù)表樹型結(jié)構(gòu)圖數(shù)據(jù)表樹型結(jié)構(gòu)圖 圖圖12.23 班級表結(jié)構(gòu)班級表結(jié)構(gòu) 圖圖12.24 課程表結(jié)構(gòu)課程表結(jié)構(gòu) 圖圖12.25 成績表結(jié)構(gòu)成績表結(jié)構(gòu) 圖圖12.26 用戶表結(jié)構(gòu)用戶表結(jié)構(gòu) 圖圖12.27 學(xué)生信息表結(jié)構(gòu)學(xué)生信息表結(jié)構(gòu) 12.5.4 12.5.4 公共模塊設(shè)計(jì)公共模塊設(shè)計(jì) 公共模塊公共模塊Mdl_DataServer主要用于設(shè)主要用于設(shè)置程序的數(shù)據(jù)源以及提供窗體功能的標(biāo)識。置程序的數(shù)據(jù)源以及提供窗體功能的標(biāo)識。 全局變量全局變量stu_f
31、lag用于提供窗體用于提供窗體Frm_StuInfo的功能標(biāo)識;全局變量的功能標(biāo)識;全局變量cls_flag用于提供窗體用于提供窗體Frm_ClsInfo的功能的功能標(biāo)識;全局變量標(biāo)識;全局變量course_flag用于提供窗體用于提供窗體Frm_CourseInfo的功能標(biāo)識;自定義函數(shù)的功能標(biāo)識;自定義函數(shù)conn用于指定數(shù)據(jù)源用于指定數(shù)據(jù)源 12.5.5 12.5.5 用戶登錄模塊用戶登錄模塊 登錄窗口是用戶進(jìn)入到程序系統(tǒng)的門登錄窗口是用戶進(jìn)入到程序系統(tǒng)的門戶,通過登錄模塊,系統(tǒng)能夠?qū)Φ卿浻脩魬簦ㄟ^登錄模塊,系統(tǒng)能夠?qū)Φ卿浻脩暨M(jìn)行身份驗(yàn)證,只有系統(tǒng)的合法用戶才可進(jìn)行身份驗(yàn)證,只有系統(tǒng)的
32、合法用戶才可以進(jìn)入系統(tǒng)的主界面。以進(jìn)入系統(tǒng)的主界面。 登錄模塊的設(shè)計(jì),增加了系統(tǒng)的安全登錄模塊的設(shè)計(jì),增加了系統(tǒng)的安全性,這也是設(shè)計(jì)管理系統(tǒng)軟件之前,必須性,這也是設(shè)計(jì)管理系統(tǒng)軟件之前,必須考慮的問題。考慮的問題。 整個(gè)登錄模塊的實(shí)現(xiàn)過程非常簡單,整個(gè)登錄模塊的實(shí)現(xiàn)過程非常簡單,相信讀者會很快掌握。相信讀者會很快掌握。 學(xué)生信息管理系統(tǒng)的登錄界面如圖學(xué)生信息管理系統(tǒng)的登錄界面如圖12.28所示。所示。圖圖12.28 登錄界面登錄界面 1 1窗體設(shè)計(jì)窗體設(shè)計(jì) 2 2代碼設(shè)計(jì)代碼設(shè)計(jì) 運(yùn)行程序后,首先進(jìn)入登錄界面。運(yùn)行程序后,首先進(jìn)入登錄界面。 輸入用戶名和密碼,單擊輸入用戶名和密碼,單擊“登錄登
33、錄”按按鈕,如果輸入正確的用戶名和密碼,則可鈕,如果輸入正確的用戶名和密碼,則可進(jìn)入系統(tǒng)。進(jìn)入系統(tǒng)。 12.5.6 12.5.6 主窗體設(shè)計(jì)主窗體設(shè)計(jì) 主窗體是應(yīng)用程序的臉面,用于調(diào)用主窗體是應(yīng)用程序的臉面,用于調(diào)用應(yīng)用程序的所有功能。應(yīng)用程序的所有功能。 學(xué)生信息管理系統(tǒng)的主窗體包括了實(shí)學(xué)生信息管理系統(tǒng)的主窗體包括了實(shí)現(xiàn)學(xué)生信息管理操作的全部功能。現(xiàn)學(xué)生信息管理操作的全部功能。 在主窗體中,能夠調(diào)用其他子窗體實(shí)在主窗體中,能夠調(diào)用其他子窗體實(shí)現(xiàn)相應(yīng)操作,同時(shí)也能夠直接執(zhí)行相應(yīng)的現(xiàn)相應(yīng)操作,同時(shí)也能夠直接執(zhí)行相應(yīng)的命令。命令。 學(xué)生信息管理系統(tǒng)的主窗體是通過創(chuàng)學(xué)生信息管理系統(tǒng)的主窗體是通過創(chuàng)建
34、一個(gè)建一個(gè)MDI窗體實(shí)現(xiàn)的。窗體實(shí)現(xiàn)的。 主窗體界面如圖主窗體界面如圖12.29所示。所示。圖圖12.29 程序主界面程序主界面 1 1窗體設(shè)計(jì)窗體設(shè)計(jì) 2 2代碼設(shè)計(jì)代碼設(shè)計(jì) 在窗體上添加一個(gè)在窗體上添加一個(gè)TreeView控件充當(dāng)控件充當(dāng)窗體的導(dǎo)航欄,用于調(diào)用相應(yīng)的窗體窗體的導(dǎo)航欄,用于調(diào)用相應(yīng)的窗體 12.5.7 12.5.7 學(xué)生信息管理模塊學(xué)生信息管理模塊 學(xué)生信息管理模塊能夠?qū)崿F(xiàn)對學(xué)生學(xué)學(xué)生信息管理模塊能夠?qū)崿F(xiàn)對學(xué)生學(xué)號、姓名、性別等信息的管理,包括對數(shù)號、姓名、性別等信息的管理,包括對數(shù)據(jù)信息的添加、修改、刪除和查詢等基本據(jù)信息的添加、修改、刪除和查詢等基本操作。操作。 單擊主窗體的單擊主窗體的“學(xué)生信息管理學(xué)生信息管理”菜單菜單項(xiàng)中的項(xiàng)中的“添加學(xué)生信息添加學(xué)生信息”命令,添加學(xué)生命令,添加學(xué)生信息時(shí)的程序界面如圖信息時(shí)的程序界面如圖12.30所示。所示。圖圖12.30 添加學(xué)生信息添加學(xué)生信息 由于篇幅有限,這里不提供由于篇幅有限,這里不提供“修改學(xué)修改學(xué)生信息生信息”、“查詢學(xué)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三無人員病人管理制度
- 產(chǎn)業(yè)工人職業(yè)管理制度
- poct質(zhì)量管理制度
- 鄉(xiāng)鎮(zhèn)綜合餐廳管理制度
- 個(gè)人小型公司管理制度
- 產(chǎn)品公司銷售管理制度
- 臨床護(hù)理重癥管理制度
- 企業(yè)生產(chǎn)運(yùn)營管理制度
- 產(chǎn)權(quán)股權(quán)轉(zhuǎn)讓管理制度
- 一報(bào)告雙簽字管理制度
- DB3415-T 82-2024 急流救援技術(shù)培訓(xùn)規(guī)范
- 中國石油大學(xué)(華東)《物理化學(xué)Ⅳ》2023-2024學(xué)年第二學(xué)期期末試卷
- 智能制造系統(tǒng)-智能制造技術(shù)與未來
- 護(hù)理工作中的人文關(guān)懷題及答案2025年
- 2025山東產(chǎn)權(quán)交易集團(tuán)有限公司招聘(校招社招)29人筆試參考題庫附帶答案詳解
- 中國重點(diǎn)、熱點(diǎn)區(qū)域(講練)-2025年中考地理二輪復(fù)習(xí)(全國版)
- 陪玩俱樂部合同協(xié)議
- 2025年統(tǒng)計(jì)學(xué)期末考試題庫-深度解析綜合案例分析題
- 2024北京朝陽區(qū)五年級(下)期末數(shù)學(xué)試題及答案
- 《商場促銷活動策劃》課件
- 多模態(tài)成像技術(shù)在醫(yī)學(xué)中的應(yīng)用-全面剖析
評論
0/150
提交評論