輕松學(xué)C之?dāng)?shù)據(jù)庫開發(fā)_第1頁
輕松學(xué)C之?dāng)?shù)據(jù)庫開發(fā)_第2頁
輕松學(xué)C之?dāng)?shù)據(jù)庫開發(fā)_第3頁
輕松學(xué)C之?dāng)?shù)據(jù)庫開發(fā)_第4頁
輕松學(xué)C之?dāng)?shù)據(jù)庫開發(fā)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第18章 數(shù)據(jù)庫開發(fā)數(shù)據(jù)庫是按照某種規(guī)則和結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的一種特殊的文件。使用數(shù)據(jù)庫,可以存放大量的數(shù)據(jù)。通過相應(yīng)的接口,程序可以很輕松實現(xiàn)數(shù)據(jù)管理。C#語言支持常見的各種類型數(shù)據(jù)庫開發(fā)。本章將詳細講解基于Oracle數(shù)據(jù)庫、Access數(shù)據(jù)庫和SQL Server數(shù)據(jù)庫的C#數(shù)據(jù)庫開發(fā)。118.1 常用數(shù)據(jù)庫C#中最常用的數(shù)據(jù)庫有3種:Oracle數(shù)據(jù)庫、Access數(shù)據(jù)庫和SQL Server數(shù)據(jù)庫。如果開發(fā)中型的,且是微軟操作系統(tǒng)下的數(shù)據(jù)庫程序,優(yōu)先考慮SQL Server數(shù)據(jù)庫。如果是比較大型的,且需要跨操作系統(tǒng)的數(shù)據(jù)庫程序,則使用Oracle數(shù)據(jù)庫。下面將詳細介紹這3種常

2、用數(shù)據(jù)庫。218.1.1 Oracle數(shù)據(jù)庫Oracle數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的C/S或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。Oracle是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫。它具有使所有數(shù)據(jù)和文檔存儲在少數(shù)幾個高性能數(shù)據(jù)庫的能力,這樣使得客戶可以集中管理所有的數(shù)據(jù),并且信息管理和訪問更加容易、可靠。Oracle數(shù)據(jù)庫是免費使用的,還能在所有的平臺上運行。用戶可以去Oracle官網(wǎng)()下載安裝,最新版本為Oracle Database 11g R2。318.1.2 Access數(shù)據(jù)庫Access數(shù)據(jù)庫是微軟公司開

3、發(fā)的小型數(shù)據(jù)庫軟件,主要用于小型軟件的數(shù)據(jù)管理。它是Offic的一個成員,在包括專業(yè)版和更高版本的Office版本里面被單獨出售。一般的Access在安裝Office時就會一起安裝。2010年5月12日,最新的微軟Office Access 2010在微軟Offic 2010里發(fā)布,上一個版本是微軟Office Access 2007。在微軟官網(wǎng)上下載Office 2010,就可以使用Office Access 2010。由于Access數(shù)據(jù)庫是簡單的數(shù)據(jù)庫,因此存儲的數(shù)據(jù)量不能太大,否則會造成數(shù)據(jù)的丟失或損害。并且Access數(shù)據(jù)庫只能在微軟操作系統(tǒng)下應(yīng)用。418.1.3 SQL Serve

4、r數(shù)據(jù)庫SQL Server數(shù)據(jù)庫是微軟公司推出的基于C/S結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫,主要用于中小型企業(yè)的數(shù)據(jù)管理。而且SQL Server數(shù)據(jù)庫為維護數(shù)據(jù)庫系統(tǒng)的安全性提供了完善的管理機制和簡單而豐富的操作手段。目前最新版本是2012年3月份推出的SQL Server 2012,可在微軟官網(wǎng)上的Download Center中下載SQL Server 2012。SQL Server的上一個版本是Microsoft SQL Server 2008。SQL語言是用于操作數(shù)據(jù)的語言,它只需要告訴數(shù)據(jù)庫進行什么操作,而不需要確定數(shù)據(jù)庫如何進行操作。518.2 .NET下的數(shù)據(jù)庫連接方式連接數(shù)據(jù)庫是指在程序中

5、為了某些目的而訪問數(shù)據(jù)庫時需要通過數(shù)據(jù)庫的權(quán)限審核。一般的連接都包含數(shù)據(jù)庫的名稱、數(shù)據(jù)庫類型和登錄的用戶名和密碼。本小節(jié)將為大家講述字符串連接數(shù)據(jù)庫以及控件連接數(shù)據(jù)庫這兩種連接方式。618.2.1 通過連接字符串連接Access數(shù)據(jù)庫Access數(shù)據(jù)庫連接字符串中可以包含很多參數(shù),參數(shù)越多意味著訪問的限制越高。常用的字符串的格式如下圖所示:其中,Provider可以理解為這個Access數(shù)據(jù)庫的版本,Data Source指存儲數(shù)據(jù)庫的存儲地址,User Id指登錄數(shù)據(jù)庫的用戶名,Password指登錄的密碼?!臼纠?8-1】下面的代碼演示了在Access數(shù)據(jù)庫中如何創(chuàng)建一個用來連接的字符串。

6、該數(shù)據(jù)庫名為mydata。在本例中,通過連接字符串連接Access數(shù)據(jù)庫。使用Access數(shù)據(jù)庫的專用連接類OledbConnection創(chuàng)建連接對象。如果數(shù)據(jù)庫連上,則打印輸出“已建立Access數(shù)據(jù)庫連接”。718.2.2 通過連接字符串連接SQL Server數(shù)據(jù)庫SQL Server數(shù)據(jù)庫的連接字符串需要包含的信息一般有數(shù)據(jù)庫服務(wù)器的地址,服務(wù)器中數(shù)據(jù)庫的名稱,訪問時的用戶名和密碼。如下圖所示標準的連接字符串的格式:其中,Data Source為數(shù)據(jù)庫服務(wù)器的地址(和Access不同,Access數(shù)據(jù)庫為一個文件),Initial Catalog為需要訪問的數(shù)據(jù)庫的名稱,User Id

7、為登錄的用戶名,Password為登錄的密碼。由于SQL Server數(shù)據(jù)庫是基于服務(wù)器,因此不需要指明需要訪問庫文件的路徑。8【示例18-2】下面的代碼演示了在SQL Server數(shù)據(jù)庫中如何創(chuàng)建一個用來連接的字符串。該數(shù)據(jù)庫名為test,登錄名是sa,密碼為123456。在本例中,通過連接字符串連接SQL Server數(shù)據(jù)庫。使用SQL Server數(shù)據(jù)庫的專用連接類SqlConnection創(chuàng)建連接對象。如果數(shù)據(jù)庫連上,則打印輸出“已建立SQL數(shù)據(jù)庫連接”。918.2.3 通過控件連接數(shù)據(jù)庫通過控件連接數(shù)據(jù)庫主要是指通過C#提供的數(shù)據(jù)控件來連接數(shù)據(jù)庫。在建立的過程中需要輸入數(shù)據(jù)庫服務(wù)器的

8、地址和登錄信息。下面通過一系列的操作演示如何建立一個數(shù)據(jù)庫連接。注意:通過控件創(chuàng)建的數(shù)據(jù)庫連接后,可以直接讀取到數(shù)據(jù)庫中的表、存儲過程以及函數(shù)等信息。修改后,連接會自動更新。1018.3 SQL語句結(jié)構(gòu)化查詢語言(Structuref Query Language,SQL)是一種與關(guān)系數(shù)據(jù)庫通信的方式,使用戶可以定義、查詢、修改和控制數(shù)據(jù)。使用SQL語法,可以構(gòu)造一條語句,根據(jù)指定的條件來提取記錄。SQL語句以create或select這樣的關(guān)鍵字開頭。SQL是一種功能強大的語言,一個語句就可以影響整個表。下表列出了最常用的SQL關(guān)鍵字和其作用。SQL關(guān)鍵字作用select標識數(shù)據(jù)源中要使用的

9、表和列where應(yīng)用篩選以縮小選定范圍order by對記錄集應(yīng)用排序順序insert into向記錄集添加新記錄delete從記錄集中刪除記錄update修改記錄的字段1118.3.1 select語句select語句讓用戶能夠讀取表格中一個或多個字段的所有記錄。這將把所有的記錄都獲取,無論記錄是否重復(fù)。select語句的通用格式如下圖所示。其中,Name1表示表中的字段名,Name2表示表名?!臼纠?8-3】下面的程序利用select語句獲取student表中的信息。namesexagemaryboy20jimgirl19jokegirl221218.3.2 where語句通常用戶不會每一

10、次將表格中的所有記錄都獲取出來。許多情況下,用戶會選擇性地獲取記錄。這樣就會用到where語句。where語句通常與select語句相關(guān)聯(lián)。其通用形式如下圖所示。其中,an是一個條件表達式,來判斷查詢到的記錄是否滿足條件?!臼纠?8-4】下面使用where子句獲取student表中年齡是20歲的學(xué)生姓名。本例中主要使用where子句選擇性地獲取student表中的記錄并將符合條件的內(nèi)容打印輸出。1318.3.3 order by語句用戶通常需要將從表里獲取到的記錄進行從大到?。╠escending)或者從小到大(ascending)的排序,這樣就運用到order by語句。其通用形式如下圖所示

11、。其中,where語句可以存在,也可以不存在。如果存在where語句,那么就必須在order by語句之前。14order by語句還可以按多字段排序,其格式如下圖所示。【示例18-5】下面使用order by語句將student表中的信息按年齡升序排列。1518.3.4 insert into語句insert into語句的作用是為表格添加數(shù)據(jù)。其格式如下圖所示。【示例18-6】下面使用insert into語句為student表添加一條信息,zhangliang,boy,23。要驗證插入結(jié)果,可在數(shù)據(jù)庫中打開表查看。也可以將本例中的sql語句改寫為如下代碼:select * from student即可查看student表中的內(nèi)容。1618.3.5 delete語句delete語句用于刪除表格中的某些數(shù)據(jù)。其通用格式如下圖所示?!臼纠?8-7】下面使用delete語句將student表中的學(xué)生zhangliang的信息刪除掉。要驗證刪除結(jié)果,可在數(shù)據(jù)庫中打開表查看。也可以將本例中的sql語句改寫為如下代碼:select * from student即可查看student表中的內(nèi)容。1718.3.6 update語句update語句用于修改表格中的數(shù)據(jù),其與關(guān)鍵字set相連。通用形式如下圖示?!臼纠?8-8】下

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論