第二章 數(shù)據(jù)庫(kù)連接建立_第1頁(yè)
第二章 數(shù)據(jù)庫(kù)連接建立_第2頁(yè)
第二章 數(shù)據(jù)庫(kù)連接建立_第3頁(yè)
第二章 數(shù)據(jù)庫(kù)連接建立_第4頁(yè)
第二章 數(shù)據(jù)庫(kù)連接建立_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第2章章 數(shù)據(jù)庫(kù)連接的建立數(shù)據(jù)庫(kù)連接的建立2.1 Connection對(duì)象概述對(duì)象概述2.2 代碼方式(設(shè)計(jì)方式或編程方式)使用代碼方式(設(shè)計(jì)方式或編程方式)使用Connection對(duì)象對(duì)象2.3 可視化方式(設(shè)置方式)使用可視化方式(設(shè)置方式)使用Connection對(duì)象對(duì)象2.4 連接字符串的保存和加密連接字符串的保存和加密2.5 連接異常的處理連接異常的處理2.1 Connection對(duì)象概述對(duì)象概述用于定位服務(wù)器及數(shù)據(jù)庫(kù);表示與數(shù)據(jù)源的物理連接物理連接;Connection對(duì)象起到渠道的作用。其他對(duì)象如DataAdapter和Command對(duì)象通過它與數(shù)據(jù)庫(kù)通信。常用方法BeginT

2、ransaction ( ) 、close ( ) 、open( )。其余參見課本P52、Connection對(duì)象的方法對(duì)象的方法1、Connection對(duì)象(連接組件)對(duì)象(連接組件)3、Connection對(duì)象的屬性對(duì)象的屬性常用屬性ConnectionString、State。其余參見課本P52.2 代碼方式(設(shè)計(jì)方式或編程方式)使用代碼方式(設(shè)計(jì)方式或編程方式)使用Connection對(duì)象對(duì)象構(gòu)造函數(shù):SqlConnection( )SqlConnection(String ConnectionString )1、代碼創(chuàng)建、代碼創(chuàng)建Connection對(duì)象的語法格式對(duì)象的語法格式2.2

3、 代碼方式(設(shè)計(jì)方式或編程方式)使用代碼方式(設(shè)計(jì)方式或編程方式)使用Connection對(duì)象對(duì)象連接字符串以鍵值對(duì)鍵值對(duì)的形式出現(xiàn),鍵值對(duì)之間以分號(hào)分隔。常用鍵:Data SourceInitial CatalogIntegrated SecurityUser IDPwd(其它參見p6p9)2.2.1 Connection對(duì)象使用的連接字符串的構(gòu)建對(duì)象使用的連接字符串的構(gòu)建1、構(gòu)建連接字符串、構(gòu)建連接字符串2.2 代碼方式(設(shè)計(jì)方式或編程方式)使用代碼方式(設(shè)計(jì)方式或編程方式)使用Connection對(duì)象對(duì)象2、使用、使用ConnectionStringBuilder對(duì)象構(gòu)建連接字符串對(duì)象構(gòu)

4、建連接字符串使用使用ConnectionStringBuilder對(duì)象的好處:對(duì)象的好處:ConnectionStringBuilder對(duì)象通過屬性的形式提供Connection對(duì)象所要使用的鍵,不必記連接字符串的鍵名;用過多行代碼ConnectionStringBuilder對(duì)象屬性值,可以在某個(gè)鍵的值指定錯(cuò)誤時(shí)拋出異常,這樣有利于檢查連接的錯(cuò)誤。(1). 使用數(shù)據(jù)連接對(duì)話框添加數(shù)據(jù)連接使用數(shù)據(jù)連接對(duì)話框添加數(shù)據(jù)連接2.3.1.使用服務(wù)器資源管理器創(chuàng)建數(shù)據(jù)庫(kù)連接的方式使用服務(wù)器資源管理器創(chuàng)建數(shù)據(jù)庫(kù)連接的方式2.3 可視化方式(設(shè)置方式)使用可視化方式(設(shè)置方式)使用Connection對(duì)象對(duì)

5、象(2). 通過從服務(wù)器資源管理器中拖放一個(gè)表通過從服務(wù)器資源管理器中拖放一個(gè)表到到 Web 窗體中新建數(shù)據(jù)庫(kù)連接窗體中新建數(shù)據(jù)庫(kù)連接(1)從工具箱選擇)從工具箱選擇SqlConnection控件對(duì)象,添加到頁(yè)面控件對(duì)象,添加到頁(yè)面(2)選擇)選擇SqlConnection控件對(duì)象右上角的智能菜單,配置新控件對(duì)象右上角的智能菜單,配置新連接連接2.3.2 使用使用Connection控件對(duì)象創(chuàng)建數(shù)據(jù)庫(kù)連接的方式控件對(duì)象創(chuàng)建數(shù)據(jù)庫(kù)連接的方式2.3 可視化方式(設(shè)置方式)使用可視化方式(設(shè)置方式)使用Connection對(duì)象對(duì)象(1)新建記事本文件,并修改擴(kuò)展名為)新建記事本文件,并修改擴(kuò)展名為.

6、udl(2)雙擊)雙擊.udl文件,配置新連接文件,配置新連接(3)使用記事本打開)使用記事本打開.udl文件,可以獲得連接字符串。文件,可以獲得連接字符串。注意:使用.udl文件配置的字符串,適用于System.Data.OleDB命名控件的提供程序。原因:原因: 從從.udl文件名文件名“統(tǒng)一數(shù)據(jù)庫(kù)連接配置文件統(tǒng)一數(shù)據(jù)庫(kù)連接配置文件”就可以知就可以知道,道,“統(tǒng)一統(tǒng)一”只能是通用的提供程序只能是通用的提供程序OleDB控件中的控控件中的控件。件。 從另外一個(gè)角度說明了,使用從另外一個(gè)角度說明了,使用System.Data.OleDB命名空命名空間的提供程序控件必須指定提供程序名間的提供程序

7、控件必須指定提供程序名Provider;使用;使用System.Data.SqlClient命名空間的提供程序控件不必指定提命名空間的提供程序控件不必指定提供程序名供程序名Provider。2.3.3 使用使用udl文件創(chuàng)建數(shù)據(jù)庫(kù)連接的方式文件創(chuàng)建數(shù)據(jù)庫(kù)連接的方式2.3 可視化方式(設(shè)置方式)使用可視化方式(設(shè)置方式)使用Connection對(duì)象對(duì)象2.4連接字符串的保存和加密連接字符串的保存和加密頁(yè)面文件是客戶端可以訪問的文件,如果將連接字符串保存在頁(yè)面,容易暴露服務(wù)器及數(shù)據(jù)庫(kù)位置等敏感信息。將連接字符串保存在每個(gè)頁(yè)面文件中,不利于維護(hù)。2.4.1 連接字符串的保存連接字符串的保存1、連接字

8、符串不適宜保存在每一個(gè)頁(yè)面文件的代碼段中:、連接字符串不適宜保存在每一個(gè)頁(yè)面文件的代碼段中:2、連接字符串應(yīng)該保存在、連接字符串應(yīng)該保存在WebConfig文件中:文件中:Web.Config文件是客戶端不可以訪問的文件,不容易暴露服務(wù)器及數(shù)據(jù)庫(kù)位置等敏感信息。Web.Config文件中的配置能夠被加密。(具體參見后面)將連接字符串保存在Web.Config文件中,利于維護(hù)。由于,對(duì)于一個(gè)應(yīng)用程序,根目錄下只有一個(gè)Web.config文件,當(dāng)Web.config文件中的配置改變,將對(duì)整個(gè)項(xiàng)目起作用。2.4連接字符串的保存和加密連接字符串的保存和加密String conStr= Configur

9、ationManager.ConnectionStrings“連接名連接名”.toString();2.4.2 讀取保存在讀取保存在Web.Config中的連接字符串中的連接字符串 使用使用System.Configuration命名空間命名空間中的中的ConfigurationManager對(duì)象,注意編程時(shí)應(yīng)引入該命名空間。對(duì)象,注意編程時(shí)應(yīng)引入該命名空間。代碼示例,參見:p14注意:“連接名”是數(shù)組ConnectionStrings的下標(biāo),可以從web.config文件的連接配置中得到,這邊采用的是字符串為下標(biāo)的訪問方式,不建議使用數(shù)字下標(biāo)。2.4連接字符串的保存和加密連接字符串的保存和加

10、密P19 圖圖 連接字符串的加密連接字符串的加密注意:“連接名”是數(shù)組ConnectionStrings的下標(biāo),在加密后不易獲得。所以,對(duì)web.config文件的加密,一般是在整個(gè)項(xiàng)目開發(fā)結(jié)束后。2.5 連接異常的處理連接異常的處理1. SqlException類及類及SqlError對(duì)象對(duì)象(1)SqlException類對(duì)象包含了類對(duì)象包含了SQL Server返回連接出錯(cuò)時(shí)拋出的的警告或返回連接出錯(cuò)時(shí)拋出的的警告或錯(cuò)誤信息錯(cuò)誤信息(2)SqlException類對(duì)象在創(chuàng)建時(shí)至少包含一個(gè)類對(duì)象在創(chuàng)建時(shí)至少包含一個(gè)SqlError對(duì)象實(shí)例,對(duì)象實(shí)例, SqlError對(duì)象實(shí)

11、例存有錯(cuò)誤或警告的具體信息對(duì)象實(shí)例存有錯(cuò)誤或警告的具體信息(3)處理的格式為:)處理的格式為:SqlErrorCollection SqlError對(duì)象實(shí)例名稱對(duì)象實(shí)例名稱= SqlException類對(duì)象實(shí)例類對(duì)象實(shí)例.Errors(4)SqlError對(duì)象的屬性對(duì)象的屬性Class從從Sql Server返回的錯(cuò)誤嚴(yán)重等級(jí)返回的錯(cuò)誤嚴(yán)重等級(jí)LinwNumber從包含錯(cuò)誤的從包含錯(cuò)誤的Transact-SQL批命令或存儲(chǔ)過程中獲取行批命令或存儲(chǔ)過程中獲取行Message錯(cuò)誤的描述信息錯(cuò)誤的描述信息Number標(biāo)識(shí)錯(cuò)誤類型的號(hào)碼標(biāo)識(shí)錯(cuò)誤類型的號(hào)碼2.5 連接異常的處理連接異常的處理(5)SqlError對(duì)象的對(duì)象的number屬性屬性錯(cuò)誤號(hào)錯(cuò)誤號(hào)描述描述170 或或156錯(cuò)誤的錯(cuò)誤的Sql語法語法207select無效的列名無效的列名208select無效的表名無效的表名17無效服務(wù)器名無效服務(wù)器名4060無效數(shù)據(jù)庫(kù)名無效數(shù)據(jù)庫(kù)名18452無效的用戶名無效的用戶名18456無效密碼無效密碼2.5 連接異常的處理連接異常的處理2. ADO.NET在連接時(shí)的錯(cuò)誤在連接時(shí)的錯(cuò)誤ADO.NET在連接時(shí)的錯(cuò)誤有兩種:在連接時(shí)的錯(cuò)誤有兩種:(1).連接打開失敗連接打開失敗l非法的連接字符串l服務(wù)器或數(shù)據(jù)庫(kù)不存在l用戶登錄失敗(2)Data

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論