輕松學C之數據庫開發_第1頁
輕松學C之數據庫開發_第2頁
輕松學C之數據庫開發_第3頁
輕松學C之數據庫開發_第4頁
輕松學C之數據庫開發_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論