Web程序設計(第4版)_第7章_第1頁
Web程序設計(第4版)_第7章_第2頁
Web程序設計(第4版)_第7章_第3頁
Web程序設計(第4版)_第7章_第4頁
Web程序設計(第4版)_第7章_第5頁
已閱讀5頁,還剩104頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:9787121260360“十二五十二五”普通高等教育本科國家級規劃教材普通高等教育本科國家級規劃教材Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:9787121260360第第 1 章章 Web編程基礎知識編程基礎知識 第第 2 章章 Web應用程序開發與運行環境應用程序開發與運行環境 第第 3 章章 HTML與與XML 第第 4 章章 層疊樣式表層疊樣式表CSS 第第 5 章章 Web客戶端程序設計客戶端程序設計第第 6 章章 Web服務器端程序設計服務器端

2、程序設計 第第 7 章章 Web數據庫程序設計數據庫程序設計 第第 8 章章 ASP.NET綜合應用實例綜合應用實例 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:9787121260360第第 7 7 章章 WebWeb數據庫程序設計數據庫程序設計7.1 Web數據庫訪問技術數據庫訪問技術 7.2 ODBC接口接口 7.3 數據庫語言數據庫語言SQL 7.4 ADO.NET數據庫組件數據庫組件 7.5 ADO.NET對象對象 7.6 數據源與數據源與Web控件的綁定控件的綁定 7.7 ADO.NET數據庫訪問示例數據庫訪問示例學生成學生成績查詢與修

3、改績查詢與修改 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.1 Web數據庫訪問技術數據庫訪問技術 Web數據庫訪問一般基于數據庫訪問一般基于ODBC(Open Database Connectivity)或)或JDBC(Java Database Connectivity)平臺。)平臺。ODBC是一個數據庫編程接口,由是一個數據庫編程接口,由Microsoft公司建公司建議并開發。它允許程序使用結構化查詢語言(議并開發。它允許程序使用結構化查詢語言(SQL)作為數據訪問標準,應用程序可通過調用作為數據訪問標準,應用程

4、序可通過調用ODBC的接的接口函數來訪問來自不同數據庫管理系統的數據。口函數來訪問來自不同數據庫管理系統的數據。 JDBC與與ODBC一樣是支持基本一樣是支持基本SQL功能的一個通用功能的一個通用低層的應用程序編程接口(低層的應用程序編程接口(API),它在不同的數據),它在不同的數據庫功能模塊層次上提供一個統一的用戶界面。庫功能模塊層次上提供一個統一的用戶界面。JDBC提供一個提供一個Java語言的語言的API。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.1 ODBC接口概述接口概述

5、ODBC用動態鏈接庫(用動態鏈接庫(Dynamic Link Libraries,DLL)調用調用ODBC驅動程序來完成對數據庫的訪問。驅動程序來完成對數據庫的訪問。 對應于某一種對應于某一種DBMS有相應的有相應的ODBC驅動程序,當驅動程序,當DBMS改變時,只要更換改變時,只要更換ODBC驅動程序而無須更改應驅動程序而無須更改應用程序。用程序。 ODBC主要定義了以下內容:主要定義了以下內容:(1)ODBC函數庫。它為應用程序提供連接函數庫。它為應用程序提供連接DBMS、執、執行行SQL語句、提取訪問結果的程序接口。語句、提取訪問結果的程序接口。(2) SQL語法。它遵循語法。它遵循X/

6、Open and SQL Access Group Call Level Interface Specification標準。標準。(3)錯誤代碼。)錯誤代碼。(4)連接、登錄)連接、登錄DBMS。(5)數據類型。)數據類型。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.2 ODBC的應用的應用一個一個ODBC應用的建立應涵蓋以下內容:應用的建立應涵蓋以下內容:(1)建立需要操作數據庫的應用程序。該程序通過調用)建立需要操作數據庫的應用程序。該程序通過調用ODBC函數提交函數提交SQL語句

7、。語句。(2)提供運行環境。該環境應包含數據庫驅動程序,它負)提供運行環境。該環境應包含數據庫驅動程序,它負責處理責處理ODBC函數調用,向數據源提交函數調用,向數據源提交SQL請求,向應用程請求,向應用程序返回結果。必要時,將序返回結果。必要時,將SQL語法翻譯成符合語法翻譯成符合DBMS語法規語法規定的格式。定的格式。(3)具有由用戶數據庫、)具有由用戶數據庫、DBMS等構成的可供應用程序訪等構成的可供應用程序訪問的數據源。問的數據源。 其中,數據庫驅動程序應由驅動程序管理器加載到操作其中,數據庫驅動程序應由驅動程序管理器加載到操作系統中,在系統中,在Windows環境下,驅動程序是一個帶

8、有入口函環境下,驅動程序是一個帶有入口函數庫的數庫的DLL。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.2 ODBC的應用的應用通過通過ODBC訪問數據庫的基本步驟如下:訪問數據庫的基本步驟如下: 創建數據源;創建數據源; 建立一個與數據源的對話連接;建立一個與數據源的對話連接; 向數據源發出向數據源發出SQL請求;請求; 定義一個緩沖區和數據格式用于存儲訪問結果;定義一個緩沖區和數據格式用于存儲訪問結果; 提取結果;提取結果; 處理各種錯誤;處理各種錯誤; 向用戶報告結果;向用戶報告結

9、果; 關閉與數據源的連接。關閉與數據源的連接。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.3 創立并配置數據源創立并配置數據源 正常安裝了正常安裝了Windows操作系統之后,系統中會含有操作系統之后,系統中會含有ODBC接口管理程序。用戶可通過接口管理程序。用戶可通過ODBC數據源管理程序或系統函數據源管理程序或系統函數調用兩種方式創建或配置數據源。數調用兩種方式創建或配置數據源。 在在Windows環境下,數據源環境下,數據源DSN分為:用戶分為:用戶DSN、系統、系統DSN和文件和文

10、件DSN三種。三種。 用戶和系統用戶和系統DSN存儲在存儲在Windows注冊表中。系統注冊表中。系統DSN允允許所有用戶登錄到特定的服務器上訪問數據庫。用戶許所有用戶登錄到特定的服務器上訪問數據庫。用戶DSN使用適當的安全身份證明限制數據庫到特定用戶的連接。使用適當的安全身份證明限制數據庫到特定用戶的連接。 文件文件DSN從文本文件中獲取表格,提供對多用戶的訪問,從文本文件中獲取表格,提供對多用戶的訪問,并且通過復制并且通過復制DSN文件,可以輕易地從一個服務器轉移到文件,可以輕易地從一個服務器轉移到另一個服務器。另一個服務器。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業

11、出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.3 創立并配置數據源創立并配置數據源 在在Web數據庫設計中,一般應采用系統數據源配置。數據庫設計中,一般應采用系統數據源配置。 例如配置一個例如配置一個Access數據源的過程如下:數據源的過程如下: (1) 進入控制面板,打開進入控制面板,打開ODBC數據源,打開數據源數據源,打開數據源ODBC。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.3 創立并配置數據源創立并配置數據源 (2)選擇)選擇“系統

12、系統DSN”選項卡,即選擇系統數據源。要使系統的選項卡,即選擇系統數據源。要使系統的所有應用程序都可以使用它,必須選用所有應用程序都可以使用它,必須選用“系統系統DSN”,這是,這是Web站點的需要。單擊站點的需要。單擊“添加添加”按鈕,進入按鈕,進入“創建新數據源創建新數據源”對話框。對話框。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.3 創立并配置數據源創立并配置數據源 (3)選擇所使用的數據庫驅動程序,如選擇)選擇所使用的數據庫驅動程序,如選擇Microsoft Access Dr

13、iver (*.mdb),單擊,單擊“完成完成”按鈕,按鈕, Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.2 ODBC接口接口 7.2.3 創立并配置數據源創立并配置數據源 (4)為該數據源命名并輸入數據源名,單擊)為該數據源命名并輸入數據源名,單擊“選擇選擇”按鈕,為該數據源指定一個已創建好的按鈕,為該數據源指定一個已創建好的Access數據庫數據庫(*.mdb),該數據庫應該是),該數據庫應該是Web應用程序中即將要訪應用程序中即將要訪問的數據庫,然后回到問的數據庫,然后回到 “創建新數據源創建新數據源”對話框。單

14、擊對話框。單擊“確定確定”按鈕,直到關閉按鈕,直到關閉ODBC管理器,此時就完成管理器,此時就完成了一個數據源的創建過程。了一個數據源的創建過程。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.1 SQL概述概述 SQL(Structured Query Language)是一個)是一個被廣泛采用、適用于關系數據庫訪問的數據庫語被廣泛采用、適用于關系數據庫訪問的數據庫語言工業標準。言工業標準。 它包括數據定義、數據操縱、數據查詢和數據它包括數據定義、數據操縱、數據查詢和數據控制等語

15、句標準。控制等語句標準。 目前所有主流的目前所有主流的DBMS軟件商均提供對軟件商均提供對SQL的的支持。支持。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.1 SQL概述概述SQL具有以下具有以下4項功能:項功能:(1)數據定義。定義數據模式。)數據定義。定義數據模式。(2)數據查詢。從數據庫中檢索數據。)數據查詢。從數據庫中檢索數據。(3)數據操縱。對數據庫數據進行增加、刪除、)數據操縱。對數據庫數據進行增加、刪除、修改等操作。修改等操作。(4)數據控制。控制對數據庫用戶的訪

16、問權限。)數據控制。控制對數據庫用戶的訪問權限。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 查詢語句查詢語句SELECT SELECT是是SQL的核心語句,它功能強大,和各類的核心語句,它功能強大,和各類SQL子子句結合,可完成多種復雜的查詢操作。句結合,可完成多種復雜的查詢操作。 其語法格式如下:其語法格式如下:SELECT ALL | DISTINCT fields_listINTO new_tablenameFROM table_namesWHE

17、RE GROUP BYHAVINGORDER BY Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 查詢語句查詢語句SELECT ALL選擇符合條件的所有記錄,為語句默認值。選擇符合條件的所有記錄,為語句默認值。INTO 將查詢結果放入指定新表中。將查詢結果放入指定新表中。DISTINCT略去選擇字段中包含重復數據的記錄。略去選擇字段中包含重復數據的記錄。Fields_list用用“,”隔開的字段名列表,列出需查詢的記錄字段,隔開的字段名列表,列出需查詢的

18、記錄字段, 可用可用*代替所有字段。代替所有字段。FROMSQL子句,指定子句,指定SQL語句所涉及的表(語句所涉及的表(Table)。)。Table_namesSELECT語句所涉及的表名,用語句所涉及的表名,用“,”隔開。隔開。WHERESQL子句,指定查詢結果應滿足的條件。子句,指定查詢結果應滿足的條件。GROUP BYSQL子句,按照指定的字段將查詢結果分組。子句,按照指定的字段將查詢結果分組。HAVING SQL子句,指定查詢結果分組后需滿足的條件,只有子句,指定查詢結果分組后需滿足的條件,只有 滿足滿足HAVING條件的分組才會出現在查詢結果中。條件的分組才會出現在查詢結果中。OR

19、DER BYSQL子句,指定查詢結果按哪些字段排序,是升序子句,指定查詢結果按哪些字段排序,是升序 (ASC)還是降序()還是降序(DESC)。)。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 查詢語句查詢語句SELECT 【例例7-1】 用最基本的用最基本的SELECT語句實現從語句實現從department表中檢索出所表中檢索出所有部門的相關資料。有部門的相關資料。 SELECT dept_no,dept_name,location FROM dep

20、artment該語句執行后的結果為:該語句執行后的結果為:dept_nodept_namelocation001researchDallas002accountingSeattle003marketingDallasWeb程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 查詢語句查詢語句SELECT 【例例7-2】用用WHERE子句指定查詢條件,要求列出位于子句指定查詢條件,要求列出位于Dallas的所有的所有部門。部門。SELECT dept_no,dept_n

21、ame FROM departmentWHERE location= Dallas語句執行后的結果如下:語句執行后的結果如下:dept_nodept_name001 search003marketingWeb程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 查詢語句查詢語句SELECT 【例例7-3】 用用INTO子句從雇員表子句從雇員表employee中將屬于中將屬于001部門的雇員信部門的雇員信息檢索出來,并放入一個新數據庫表息檢索出來,并放入一個新數據庫表r

22、esearchemp中,新表按中,新表按emp_name字段升序排列。字段升序排列。SELECT * INTO researchempFROM employeeWHERE dept_no= 001ORDER BY emp_name ASCWeb程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 插入數據語句插入數據語句INSERT INSERT可添加一個或多個記錄至一個表中。可添加一個或多個記錄至一個表中。 INSERT有兩種語法形式:有兩種語法形式:(1)INSE

23、RT INTO target IN externaldatabase (fields_list)DEFAULT VALUES|VALUES(DEFAULT|expression_list)(2)INSERT INTO target IN externaldatabase fields_listSELECT|EXECUTE Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 插入數據語句插入數據語句INSERT INSERT可添加一個或多個記錄至一個表中。可添加

24、一個或多個記錄至一個表中。 INSERT有兩種語法形式:有兩種語法形式:(1)INSERT INTO target IN externaldatabase (fields_list)DEFAULT VALUES|VALUES(DEFAULT|expression_list)(2)INSERT INTO target IN externaldatabase fields_listSELECT|EXECUTE target是追加記錄的表(是追加記錄的表(Table)或視圖()或視圖(View)的名稱。)的名稱。 externaldatabase是外部數據庫的路徑和名稱。是外部數據庫的路徑和名稱。

25、expression_list是要插入的字段值表達式列表,其個數應與記是要插入的字段值表達式列表,其個數應與記錄的字段個數一致,若指定要插入值的字段錄的字段個數一致,若指定要插入值的字段fields_list,則應與,則應與fields_list的字段個數一致。的字段個數一致。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 插入數據語句插入數據語句INSERT 【例例7-4】用第(用第(1)種)種INSERT形式,將一個雇員的信息插入到雇員表形式,將一個

26、雇員的信息插入到雇員表中。中。INSERT INTO employee VALUES(255001, Ann, Jones, d3)【例例7-5】用第(用第(2)種)種INSERT形式,將從部門表形式,將從部門表department中檢索中檢索出的位于出的位于Dallas的部門記錄插入到的部門記錄插入到dallas_dept表中。表中。INSERT INTO dallas_dept(dept_no,dept_name)SELECT dept_no,dept_nameFROM departmentWHERE location=DallasWeb程序設計程序設計(第第4版版),電子工業出版社,電子

27、工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 刪除數據語句刪除數據語句DELETE DELETE從一個或多個表中刪除記錄。語法格式如下:從一個或多個表中刪除記錄。語法格式如下:DELETE FROM table_namesWHEREWeb程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 刪除數據語句刪除數據語句DELETE 【例例7-6】刪除表刪除表works_on中所有經理的記錄

28、。中所有經理的記錄。DELETE FROM works_onWHERE job=manager【例例7-7】從數據庫表中刪除雇員從數據庫表中刪除雇員Ann的相關記錄。的相關記錄。DELETE FROM works_onWHERE emp_no IN(SELECT emp_no FROM employee WHERE emp_no=Ann)Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 更新數據語句更新數據語句UPDATE UPDATE語句用來更新表中的記錄

29、。語法格式如下:語句用來更新表中的記錄。語法格式如下:UPDATE table_nameSET Field_1=expression_1,Field_2=expression_2FROM table1_name|view1_name,table2_name|view2_nameWHERE Field是需要更新的字段;是需要更新的字段; Expression是要更新字段的新值表達式。是要更新字段的新值表達式。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.3 數據庫語言數據庫語言SQL 7.3.2 主要主要SQL語句語句 更

30、新數據語句更新數據語句UPDATE 【例例7-8】更新更新employee表中雇員表中雇員Jhon的部門。的部門。UPDATE employee SET dept_no=d3WHERE emp_fname= Jhon【例例7-9】將雇員將雇員jones的崗位置空。的崗位置空。UPDATE works_onSET job=NULLFROM works_on,employeeWHERE emp_lname=jonesAND works_on.emp_no = empoyee.emp_no Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:9787121260

31、3607.4 ADO.NET數據庫組件數據庫組件 ADO.NET是是ASP平臺平臺ADO的改進版本,由一組的改進版本,由一組.NET框架中的類庫構成,是數據源連接、提交查詢和處理結框架中的類庫構成,是數據源連接、提交查詢和處理結果的類的集合。果的類的集合。 ADO.NET提供很多新的數據訪問、數據操作、數據顯提供很多新的數據訪問、數據操作、數據顯示的控件,通過示的控件,通過Managed Provider所提供的應用程序所提供的應用程序編程接口(編程接口(API),可以輕松地訪問各種數據源,包括),可以輕松地訪問各種數據源,包括OLEDB和和ODBC支持的數據,同時使對數據庫的操作支持的數據,

32、同時使對數據庫的操作大大簡化。大大簡化。 ADO.NET提供的許多功能可替代開發過程中大量的編提供的許多功能可替代開發過程中大量的編碼,從而提高了開發效率。碼,從而提高了開發效率。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 ADO.NET建立在建立在XML的基礎上,基于的基礎上,基于.NET框架。框架。在非在非Windows平臺下,以往的平臺下,以往的ADO記錄集不能直接記錄集不能直接使用,從而使協同操作能力受到限制。使用,從而使協同操作能力受到限制。 在在ADO.NET中,可

33、將數據轉換成中,可將數據轉換成XML格式,以便格式,以便于網絡傳輸和異構平臺的操作。于網絡傳輸和異構平臺的操作。 因此,通過因此,通過ADO.NET不僅能訪問關系型數據庫中不僅能訪問關系型數據庫中的數據,也能訪問的數據,也能訪問XML格式數據。格式數據。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.1 ADO.NET組件模型組件模型Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫

34、組件數據庫組件 7.4.1 ADO.NET組件模型組件模型ADO.NETADO.NET組件模型由兩大部分組成:組件模型由兩大部分組成:.NET.NET框架數據提供程序框架數據提供程序ProviderProvider和和數據集數據集DataSetDataSet。 7.4 ADO.NET數據庫組件數據庫組件 7.4.1 ADO.NET組件模型組件模型Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.1 ADO.NET組件模型組件模型1數據提供程序數據提供程序Provider .NE

35、T數據提供程序數據提供程序Provider提供了一組連接、執行數據提供了一組連接、執行數據庫訪問命令的對象集庫訪問命令的對象集。 主要包含主要包含4個核心對象個核心對象 Connection、DataReader、Command、DataAdapter。 Connection對象提供與數據源的連接;對象提供與數據源的連接; Command對象對數據源執行數據庫訪問命令,用于返回、修對象對數據源執行數據庫訪問命令,用于返回、修改數據,執行存儲過程;改數據,執行存儲過程; DataReader對象用于從數據源中讀取數據;對象用于從數據源中讀取數據; DataAdapter提供連接提供連接DataS

36、et對象和數據源的橋梁,它使用對象和數據源的橋梁,它使用Command對象在數據源中執行對象在數據源中執行SQL命令,以便將數據加載到命令,以便將數據加載到DataSet中,并使對中,并使對DataSet中數據的更改與數據源保存一致。中數據的更改與數據源保存一致。這組對象中實現連接狀態下的數據庫訪問。這組對象中實現連接狀態下的數據庫訪問。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.1 ADO.NET組件模型組件模型1數據提供程序數據提供程序Provider.NET 數據提

37、供程序還包含以下對象:數據提供程序還包含以下對象: Transaction對象:用于數據訪問的事務處理,可在其生存周期內提交或取對象:用于數據訪問的事務處理,可在其生存周期內提交或取消對數據所做的更改;消對數據所做的更改; CommandBuilder對象:自動生成對象:自動生成DataAdapter 的命令屬性或從存儲過程的命令屬性或從存儲過程中派生參數信息,并填充中派生參數信息,并填充 Command 對象的對象的 Parameters 集合,用于指定集合,用于指定SQL參數;參數; ConnectionStringBuilder對象:提供一種用于創建和管理由對象:提供一種用于創建和管理由

38、 Connection 對象使用的連接字符串的內容的簡單方法;對象使用的連接字符串的內容的簡單方法; Parameter對象:定義命令和存儲過程的輸入、輸出和返回值參數;對象:定義命令和存儲過程的輸入、輸出和返回值參數; Exception對象:異常處理對象,在數據源中遇到錯誤時返回。對于在客對象:異常處理對象,在數據源中遇到錯誤時返回。對于在客戶端遇到的錯誤,戶端遇到的錯誤,.NET Framework 數據提供程序會引發一個數據提供程序會引發一個.NET Framework異常;異常; Error對象:發布數據源返回的警告或錯誤中的信息;對象:發布數據源返回的警告或錯誤中的信息; Clie

39、ntPermission對象:為對象:為 .NET Framework 數據提供程序代碼訪問安全數據提供程序代碼訪問安全屬性而提供;屬性而提供;Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.1 ADO.NET組件模型組件模型1數據提供程序數據提供程序Provider.NET Framework 數據提供程序類型說 明.NET Framework SQL Server 的數據提供程序提供對 Microsoft SQL Server 7.0 或更高版本中數據的訪問。使用 Sys

40、tem.Data.SqlClient 名稱空間.NET Framework OLE DB 的數據提供程序提供對使用 OLE DB 公開的數據源中數據的訪問。使用 System.Data.OleDb 名稱空間.NET Framework ODBC 的數據提供程序提供對使用 ODBC 公開的數據源中數據的訪問。使用 System.Data.Odbc 名稱空間.NET Framework Oracle 的數據提供程序適用于 Oracle 數據源。用于 Oracle 的 .NET Framework 數據提供程序支持 Oracle 客戶端軟件 8.1.7 和更高版本,并使用 System.Data.O

41、racleClient 名稱空間EntityClient 提供程序提供對實體數據模型 (EDM) 應用程序的數據訪問。 使用 System.Data.EntityClient 名稱空間。.NET Framework 數據提供程序的類型數據提供程序的類型 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.1 ADO.NET組件模型組件模型2數據集數據集DataSet 數據集數據集DataSet的一組對象則用于在非數據庫連接狀態下,存儲訪的一組對象則用于在非數據庫連接狀態下,存儲訪

42、問獨立于任何數據源的數據,可以是問獨立于任何數據源的數據,可以是Provider對象提供的數據,也對象提供的數據,也可以是來自于可以是來自于XML的數據。的數據。 DataSet 包含一個或多個包含一個或多個 DataTable 對象的集合,這些對象的集合,這些DataTable對象由數據行和數據列以及主鍵、外鍵、約束和有關對象由數據行和數據列以及主鍵、外鍵、約束和有關 DataTable 對對象中數據的關系信息組成。象中數據的關系信息組成。 DataTable對象對應一個邏輯表,它有兩個重要的屬性對象對應一個邏輯表,它有兩個重要的屬性Rows和和Columns,對應表中的行和列,定義一系列描

43、述該列結構的屬性。對應表中的行和列,定義一系列描述該列結構的屬性。Constraint對象提供本地存儲的數據的約束方式。對象提供本地存儲的數據的約束方式。DataRelation對對象定義象定義DataSet中不同中不同DataTable對象之間的關系,并可通過對象之間的關系,并可通過DataRow對象獲取。對象獲取。DataView對象可用不同方式查看對象可用不同方式查看DataTable對對象中的數據。象中的數據。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.2 AD

44、O.NET的數據訪問模式的數據訪問模式 ADO.NET兩種數據訪問模式兩種數據訪問模式 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.2 ADO.NET的數據訪問模式的數據訪問模式 1連接模式下的數據庫訪問連接模式下的數據庫訪問Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.2 ADO.NET的數據訪問模式的數據訪問模式 1連接模式下的數據庫訪問連接模式下

45、的數據庫訪問基本步驟如下:基本步驟如下: 定義相應的命名空間。命名空間(定義相應的命名空間。命名空間(NameSpace)是多個對象的邏輯分組,命名)是多個對象的邏輯分組,命名空間記錄了對象的名稱與所在的路徑,以便編譯器加載這些對象。常用的命名空空間記錄了對象的名稱與所在的路徑,以便編譯器加載這些對象。常用的命名空間包括:間包括:System.Data:是:是ADO.NET的核心,包含所有數據提供程序使用的類;的核心,包含所有數據提供程序使用的類;System.Data.SQLClient:當使用:當使用Microsoft SQL Server.NET數據提供程序連接數據提供程序連接SQL S

46、erver 7.0以上版本數據庫時須定義使用該命名空間;以上版本數據庫時須定義使用該命名空間; 建立與數據庫的連接。可以使用建立與數據庫的連接。可以使用SqlConnection或或OleDbConnection對象等。對象等。SqlConnection對象管理與對象管理與SQL Server 7.0版或更高版本的連接;版或更高版本的連接;OleDbConnection對象實現基于對象實現基于OLEDB訪問的任何數據源的連接。訪問的任何數據源的連接。SqlConnection對象特定于對象特定于SQL Server,由于不必通過,由于不必通過OLEDB層,所以比層,所以比OleDbConnec

47、tion效率高。效率高。SqlConnection 與與SqlCommand和和SqlAdapter對象一起使用。對象一起使用。 使用使用Command對象執行對象執行SQL命令,對數據庫實現數據檢索、增刪改等。命令,對數據庫實現數據檢索、增刪改等。 若執行的是檢索命令,則使用若執行的是檢索命令,則使用DataReader對象對檢索結果進行讀取。對象對檢索結果進行讀取。關閉與數據庫的連接。關閉與數據庫的連接。 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.4 ADO.NET數據庫組件數據庫組件 7.4.2 ADO.NET

48、的數據訪問模式的數據訪問模式 2非連接模式下的數據庫訪問非連接模式下的數據庫訪問基本步驟如下:基本步驟如下: 定義相應的命名空間。定義相應的命名空間。 使用使用Connection對象連接數據庫。對象連接數據庫。 用用DataAdapter對象對象執行對數據庫的訪問。執行對數據庫的訪問。 把把DataAdapter對象訪問數據庫的結果數據填充到對象訪問數據庫的結果數據填充到DataSet(數據(數據集)對象中。集)對象中。 關閉關閉Connection對象。對象。 對對DataSet對象中執行數據需要的操作,如增刪改等。對象中執行數據需要的操作,如增刪改等。 如有必要,如有必要,重新重新啟動啟

49、動Connection對象連接數據庫,對象連接數據庫,使使用用DataAdapter對象將更新后的對象將更新后的DataSet回寫到數據庫。回寫到數據庫。 關閉關閉Connection對象。對象。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.5 ADO.NET對象對象 7.5.1 Connection 對象對象 Connection對象建立與所要訪問的數據源的關聯關對象建立與所要訪問的數據源的關聯關系,它具有一組屬性和方法,用于表示、維護這個關系,它具有一組屬性和方法,用于表示、維護這個關聯關系,打開連接后,可以用聯關系

50、,打開連接后,可以用command對象等完成對對象等完成對數據庫的操作。數據庫的操作。 在在ADO.NET對象模型中,所有對象模型中,所有Connection類都派生類都派生自自System.Data.Common命名空間中的命名空間中的DbConnection類。類。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.5 ADO.NET對象對象 7.5.1 Connection 對象對象 Connection對象的常用屬性對象的常用屬性 ConnectionString屬性:設置連接數據源的一些控制信息。屬性:設置連接數據源

51、的一些控制信息。State屬性:指明屬性:指明Connection對象所處的狀態,這些狀態有關閉、對象所處的狀態,這些狀態有關閉、打開、正在連接、正在執行命令等。打開、正在連接、正在執行命令等。ConnectionTimeout屬性:設置對象建立連接等操作失敗時的等屬性:設置對象建立連接等操作失敗時的等待時間。待時間。Database屬性:已連接或將要連接的數據庫名稱。屬性:已連接或將要連接的數據庫名稱。ServerVersion:返回數據源的版本:返回數據源的版本(只讀只讀)。Open方法:建立到數據源的物理連接。方法:建立到數據源的物理連接。CreateCommand方法:為當前連接生成方

52、法:為當前連接生成Command。BeginTransaction方法:開始該連接上的一個事務。方法:開始該連接上的一個事務。Close方法:關閉一個連接。在對方法:關閉一個連接。在對Connection對象操作結束時,對象操作結束時,使用它釋放所有與之關聯的系統資源。使用它釋放所有與之關聯的系統資源。ChangeDatabase方法:改方法:改變當前變當前連接的數據庫。連接的數據庫。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.5 ADO.NET對象對象 7.5.1 Connection 對象對象 創建、打開和關閉數據

53、庫連接創建、打開和關閉數據庫連接 兩種方式。兩種方式。(1) 一種方式可以使用無參數構造函數簡單地生成一個未初始一種方式可以使用無參數構造函數簡單地生成一個未初始化的化的Connection對象,然后設置其對象,然后設置其ConnectionString屬性,如:屬性,如:SqlConnection conn = new SqlConnection(); conn.ConnectionString=Data Source=(local);Initial Catalog=student; User ID=sa; Password=12345這種方式下,先創建一個無參數的這種方式下,先創建一個無參

54、數的 SqlConnection 連接對象連接對象conn,然后設置該對象的連接字符串屬性,然后設置該對象的連接字符串屬性ConnectiontionString,該屬性定義了連接數據庫必要的控制信息,這些信息包括數據源該屬性定義了連接數據庫必要的控制信息,這些信息包括數據源名稱、數據庫用戶名和用戶口令。名稱、數據庫用戶名和用戶口令。Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.5 ADO.NET對象對象 7.5.1 Connection 對象對象 創建、打開和關閉數據庫連接創建、打開和關閉數據庫連接 兩種方式。兩種方式

55、。(2)另一種方式為使用帶連接字符串參數的構造函數創建另一種方式為使用帶連接字符串參數的構造函數創建Connection對象,如對象,如:string strConn=Data Source=(local);Initial Catalog=student; User ID=sa; Password=12345; SqlConnection conn = new SqlConnection(strConn);這種方式先定義一個連接控制字符串,然后再創建一個帶有該字符串參這種方式先定義一個連接控制字符串,然后再創建一個帶有該字符串參數的連接對象。數的連接對象。創建創建Connection對象后,其

56、被初始化為對象后,其被初始化為“關閉關閉”狀態,必須進行打開操狀態,必須進行打開操作,才能對數據源中的數據進行訪問,而當所有對數據源的操作完成后,作,才能對數據源中的數據進行訪問,而當所有對數據源的操作完成后,應關閉這個應關閉這個Connection對象。關閉連接是因為大部分數據源僅支持有限對象。關閉連接是因為大部分數據源僅支持有限數量的打開連接,同時打開連接也會占用系統資源。數量的打開連接,同時打開連接也會占用系統資源。打開連接對象可采用打開連接對象可采用Connection對象的對象的Open方法,而關閉數據庫則使方法,而關閉數據庫則使用用Close方法。方法。Web程序設計程序設計(第第

57、4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.5 用用Connection對象連接數據庫對象連接數據庫 7.5.1 Connection 對象對象 【例例7-10】數據庫連接示例。數據庫連接示例。 using System.Data;using System.Data.SqlClient;string strConn = Data Source=(local);Initial Catalog=student; ;strConn += User ID=sa; Password=12345;/定義一個連接數據庫字符串,連接到student數據庫,用戶名

58、是sa,密碼為12345SqlConnection conn = new SqlConnection(strConn);/創建SqlConnection數據庫連接對象using(conn) conn.Open(); /打開數據庫連接 /這里為對數據源操作的代碼 conn.close(); /關閉數據庫連接 Web程序設計程序設計(第第4版版),電子工業出版社,電子工業出版社,2015,ISBN:97871212603607.5 ADO.NET對象對象 7.5.2 Command 對象對象 Command對象表示一個對象表示一個SQL命令字符串并能執行這個命令串。通過命令字符串并能執行這個命令串

59、。通過Command對象可執行一句或一批對象可執行一句或一批SQL查詢,也可驅動存儲過程。查詢,也可驅動存儲過程。 Command對象的常用屬性和方法如下:對象的常用屬性和方法如下:Connection屬性。指定與屬性。指定與Command對象關聯的連接對象。對象關聯的連接對象。CommandText屬性。定義一個可執行的命令串,可被屬性。定義一個可執行的命令串,可被Execute方法方法執行。執行。Type屬性。指定命令串的類型。類型包括:屬性。指定命令串的類型。類型包括:Text(缺省)、(缺省)、StoreProcedure和和TableDirect。CommandTimeout屬性。指

60、定屬性。指定Adapter對象等待命令執行的時間,缺對象等待命令執行的時間,缺省為省為30秒。秒。Parameters屬性。命令的參數集合。屬性。命令的參數集合。Transaction屬性。定義一個事務。屬性。定義一個事務。ExecuteNonQuery方法。用于執行一個不返回結果的命令。方法。用于執行一個不返回結果的命令。ExecuteReader方法。執行方法。執行CommandText定義的命令,并獲取結果定義的命令,并獲取結果至至DataReader對象。對象。ExecuteScalar方法。執行命令,只獲取結果中的第方法。執行命令,只獲取結果中的第1行第行第1列數據,列數據,例如執行

溫馨提示

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

評論

0/150

提交評論