SQLServer數(shù)據(jù)庫應用技術實例教程 任務13 設計數(shù)據(jù)庫應用程序.ppt_第1頁
SQLServer數(shù)據(jù)庫應用技術實例教程 任務13 設計數(shù)據(jù)庫應用程序.ppt_第2頁
SQLServer數(shù)據(jù)庫應用技術實例教程 任務13 設計數(shù)據(jù)庫應用程序.ppt_第3頁
SQLServer數(shù)據(jù)庫應用技術實例教程 任務13 設計數(shù)據(jù)庫應用程序.ppt_第4頁
SQLServer數(shù)據(jù)庫應用技術實例教程 任務13 設計數(shù)據(jù)庫應用程序.ppt_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、任務十三 設計數(shù)據(jù)庫應用程序 .NET訪問SQL Server 2005,任務:了解數(shù)據(jù)庫訪問技術,認識C#語言,使用C#語言編寫基于ADO.NET數(shù)據(jù)庫訪問技術的應用程序。,13.1 數(shù)據(jù)庫訪問技術 13.2 開發(fā)語言選擇 13.3 認識ADO.NET 13.4 使用C#開發(fā)數(shù)據(jù)庫應用程序 13.5 知識進階 項目實訓,.NET訪問SQL Server 2005,學習目標,了解數(shù)據(jù)庫訪問技術原理 了解C#語言的特點與基本語法 了解ADO.NET的功能和結構 使用Connection對象連接到數(shù)據(jù)庫 使用 DataAdapter對象、DataSet對象進行數(shù)據(jù)讀取與更新 使用 DataGrid

2、View對象進行數(shù)據(jù)的綁定顯示,.NET訪問SQL Server 2005,數(shù)據(jù)庫應用程序的必要性,直接訪問數(shù)據(jù)庫操作麻煩 需要專業(yè)的數(shù)據(jù)庫知識:SQL語句,存儲過程 應用程序通過數(shù)據(jù)庫訪問技術訪問數(shù)據(jù)庫,屏蔽復雜性 應用程序提供友好的操作界面,.NET訪問SQL Server 2005,任務:了解數(shù)據(jù)庫訪問技術的發(fā)展,掌握不同數(shù)據(jù)庫訪問技術的訪問特點與原理。直接訪問數(shù)據(jù)庫操作麻煩。,13.1 數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,當前主流數(shù)據(jù)庫 桌面型數(shù)據(jù)庫:Foxpro ,Access。 中型數(shù)據(jù)庫: SQLServer ,mysql。 大型數(shù)據(jù)庫: Oracle ,

3、Sybase。 巨型數(shù)據(jù)庫: DB2 不同的數(shù)據(jù)庫有不同的訪問方法。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,2. 數(shù)據(jù)庫訪問方法 早期數(shù)據(jù)庫訪問方法:通過數(shù)據(jù)庫廠商提供的開發(fā)接口直接訪問,開發(fā)效率低,移植性差。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,2. 數(shù)據(jù)庫訪問方法 ODBC 開放式數(shù)據(jù)庫訪問接口:微軟開發(fā)的用于連接各種關系型數(shù)據(jù)庫的函數(shù)庫,以動態(tài)鏈接庫的形式提供給程序使用,其目的是給出統(tǒng)一的編程接口,從而簡化數(shù)據(jù)庫應用程序的編寫。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,OLE DB數(shù)據(jù)庫訪問接口 微軟用于替代ODBC的基于

4、COM的方案,其目的是給出操作各種數(shù)據(jù)源的統(tǒng)一編程接口。主要由OLE DB 提供者構成,相當于ODBC中的驅動程序。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,JDBC數(shù)據(jù)庫標準訪問接口 支持標準SQL功能的通用接口,由Java 語言編寫的】類和接口組成,旨在讓各個數(shù)據(jù)庫開發(fā)商為Java程序員提供標準的數(shù)據(jù)庫訪問接口 。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,專用數(shù)據(jù)庫訪問接口 通用數(shù)據(jù)庫訪問接口可移植性好,性能低。 專用接口針對特定的數(shù)據(jù)庫編寫,性能高。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,3. 數(shù)據(jù)庫訪問接口的使用與封裝 直接

5、使用ODBC、OLEDB提供的API進行數(shù)據(jù)庫訪問。 優(yōu)點:訪問速度快 缺點:API 非常復雜,降低了開發(fā)效率 API函數(shù)封裝成數(shù)據(jù)庫訪問對象,如ADO,ADO.NET 優(yōu)點:簡化了程序的開發(fā),提高開發(fā)效率 缺點:訪問速度相對較低。 針對大多數(shù)應用,服務器性能不是主要矛盾,開發(fā)中常使用封裝好的數(shù)據(jù)庫訪問對象進行訪問。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,DAO 數(shù)據(jù)庫訪問對象 是第一個面向對象的接口。 可以通過ODBC驅動程序訪問ODBC數(shù)據(jù)源。 在訪問Access數(shù)據(jù)庫時,具有很好的性能 訪問其他的數(shù)據(jù)源時表現(xiàn)一般。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server

6、2005,RDO數(shù)據(jù)庫訪問對象 出現(xiàn)原因: DAO通過ODBC訪問關系數(shù)據(jù)庫時表現(xiàn)欠佳 技術特點:以OLEAutomation技術直接封裝ODBCAPI,讓程序員能夠存取關系數(shù)據(jù)庫。 ADO數(shù)據(jù)庫訪問對象 出現(xiàn)時間: ADO是DAO/RDO的后繼產(chǎn)物。 技術特點:封裝了OLE DB復雜的接口,以極為簡單的COM)接口存取數(shù)據(jù)。 訪問范圍:可以訪問文件數(shù)據(jù)庫、客戶/服務器數(shù)據(jù)庫甚至非關系型數(shù)據(jù)庫。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,ADO數(shù)據(jù)庫訪問對象 出現(xiàn)時間: ADO是DAO/RDO的后繼產(chǎn)物。 技術特點: 封裝了OLE DB復雜的接口。 訪問范圍:文件數(shù)據(jù)庫、客戶

7、/服務器數(shù)據(jù)庫甚至非關系型數(shù)據(jù)庫。 ADO主要由三種對象構成: Connection:負責連接數(shù)據(jù)庫 Recordset:數(shù)據(jù)庫操作返回的記錄集 Command:發(fā)出數(shù)據(jù)庫操作命令, 包括執(zhí)行SQL語句及調用存儲過程。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,ADO.NET數(shù)據(jù)庫訪問對象 繼ADO后推出的數(shù)據(jù)庫訪問技術,.NET平臺上的ADO。,數(shù)據(jù)庫訪問技術,.NET訪問SQL Server 2005,任務:了解應用程序開發(fā)工具,熟悉開發(fā)語言C#,利用C#編寫簡單應用程序 。,13.2 開發(fā)語言的選擇,13.2.1 控制臺程序編寫 13.2.2 編寫Windows窗體應用

8、程序,.NET訪問SQL Server 2005,13.2.1 控制臺程序編寫,1. 開發(fā)語言選擇 J2EE開發(fā)平臺:Java 2 Platform,Enterprise Edition),是SUN公司定義的開發(fā)分布式企業(yè)級的應用規(guī)范。它提供了一個多層次的分布式應用模型和一系列開發(fā)技術規(guī)范。,.NET訪問SQL Server 2005,.NET開發(fā)平臺:Microsoft基于一組開放的互聯(lián)網(wǎng)協(xié)議,推出的一系列的技術、產(chǎn)品和服務。其框架的基礎是采用公共語言運行時環(huán)境和基礎類庫。,13.2.1 控制臺程序編寫,.NET訪問SQL Server 2005,是Mirosoft專門為.NET量身訂制的新

9、一代程序開發(fā)語言。 擁有C+、Visual Basic、Dephi、Java等語言的優(yōu)點。語法簡潔,徹底的面向對象。完善的錯誤、異常處理機制。簡單、類型安全。 C#的開發(fā)方式:使用文本編輯器編寫程序代碼,然后以.cs保存源文件,并用命令行編輯器(csc)進行編譯。其優(yōu)點是配置要求低,缺點是開發(fā)效率低。 使用Visual Studio.NET提供的集成開發(fā)環(huán)境IDE進行開發(fā)。其優(yōu)點是為開發(fā)人員提供了大量的實用,包括自動編譯、項目創(chuàng)建向導、創(chuàng)建部署工程等,使得工作效率大大提高。,2. .NET開發(fā)平臺支持的開發(fā)語言_ C#語言,13.2.1 控制臺程序編寫,.NET訪問SQL Server 200

10、5,VS.net開發(fā)環(huán)境,VS.net是一個復雜龐大的產(chǎn)品,具有以下功能: 把光標放在隱藏的窗口上,便會自動彈出這些窗口。 工具箱窗口顯示常用的窗體控件,通過簡單拖拽操作,可以快速開發(fā)圖形化界面工程。 解決方案資源管理器窗口顯示當前解決方案信息,窗口中可以查看解決方案的各種視圖。 屬性窗口顯示工程內容更詳細的信息,可以對工程中單個控件或它的對象進行配置。例如,可以使用屬性窗口改變windows工程中一個按鈕的外觀、大小等。 任務列表窗口和輸出窗口顯示編譯工程時的信息,以及開發(fā)環(huán)境已經(jīng)完成的任務。,13.2.1 控制臺程序編寫,.NET訪問SQL Server 2005,VS.net開發(fā)環(huán)境,工

11、具箱,設計工作區(qū),菜單工具欄,資源管理區(qū),屬性區(qū),13.2.1 控制臺程序編寫,.NET訪問SQL Server 2005,創(chuàng)建應用程HelloWorld新建項目,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,生成后的開發(fā)環(huán)境,Console.WriteLine(Hello World);,添加,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,編譯C#項目 從菜單中選擇“生成”“生成解決方案”,該過程將編譯項目中包括的所有文件,編譯結果顯示在“輸出”窗口中。 如果結果顯示“生成: 1 已成功, 0 已失敗,

12、0 已跳過”,則說明已經(jīng)成功生成,然后即可交付該應用程序,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,運行結果,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,應用程序文件夾結構,Visual Studio .NET 2005 創(chuàng)建一個與項目同名的文件夾,此處為“Hello World” ; 該文件夾包含項目文件“Hello World.csproj”和其他關聯(lián)文件 ; 每個新項目都創(chuàng)建了 bin 和 obj 兩個文件夾; 這兩個文件夾下都有一個 Debug 子目錄,其中包含可執(zhí)行文件 HelloWorld

13、.exe; 在“解決方案資源管理器”中啟用“顯示所有文件”選項,可查看“Hello World”項目的結構。,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,Hello World程序分析,/ C# 編寫的一個簡單的 HelloWorld 程序 using System; namespace HelloWorld class HelloWorld public static void Main() Console.WriteLine(Hello World); ,聲明 HelloWorld 類,程序入口點, Main 的返回類型為 void,控制臺類的

14、 WriteLine() 方法用于顯示輸出結果,導入 System 命名空間,聲明命名空間 HelloWorld,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,關于命名空間,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,選擇開發(fā)模板,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,開發(fā)環(huán)境,窗體,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,添加按鈕,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Ser

15、ver 2005,運行程序,13.2.2 編寫Windows窗體應用程序,.NET訪問SQL Server 2005,任務:熟悉ADO.NET的結構體系,掌握ADO.NET各個對象的使用方法。,13.3 認識ADO.NET,13.3.1 ADO.NET結構 13.3.2 ADO.NET的對象 13.3.3 數(shù)據(jù)綁定技術,.NET訪問SQL Server 2005,13.3.1 ADO.NET結構,ADO.NET是功能強大的數(shù)據(jù)訪問接口,.NET訪問SQL Server 2005,ADO.NET結構: ADO.NET有兩個核心組件:DataSet和.NET數(shù)據(jù)提供者即.NET Data Prov

16、ider,包括Connection、Command、DataReader、DataAdapter 4個核心對)。,13.3.1 ADO.NET結構,.NET訪問SQL Server 2005,ADO.NET對象關系圖,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,ADO.NET對象的功能,Connection:與數(shù)據(jù)源建立連接 Command:對數(shù)據(jù)源執(zhí)行SQL指令并返回結果 DataReader:從數(shù)據(jù)源提取只讀、順序的數(shù)據(jù)集 DataAdapter:在DataSet與數(shù)據(jù)源之間建立通道,將數(shù)據(jù)源中的數(shù)據(jù)寫入DataSet,或根據(jù)DataSet中的數(shù)據(jù)改寫數(shù)

17、據(jù)源。 DataSet:服務器內存中的數(shù)據(jù)庫,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,ADO.NET數(shù)據(jù)庫訪問流程,連接數(shù)據(jù)庫,由Connection對象負責。 命令執(zhí)行,并返回結果,進行結果處理。通過Command、DataReader對象進行命令執(zhí)行與數(shù)據(jù)處理,也可通過DataAdapter、DataSet對象進行命令的執(zhí)行與數(shù)據(jù)處理。命令一般分為兩種情況:查詢(select語句)、更新(insert、update、insert語句)。,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,SqlConnectioni對象:

18、負責數(shù)據(jù)庫的連接和關閉,包含兩個方法Open()、Close()和一個屬性連接串,用來指明連接數(shù)據(jù)庫的具體參數(shù)。,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,Connection對象,(1) 定義連接字符串 string connString=Data Source=服務器名; Inital Catalog=數(shù)據(jù)庫名;UID=用戶名;PWD=密碼; (2) 創(chuàng)建Connection對象SqlConnection connection=new SqlConnection(connString); (3) 打開數(shù)據(jù)庫連接 connection.Open(); (

19、4) 關閉數(shù)據(jù)庫 connection.Close();,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,Command對象 用于執(zhí)行SQL指令,以完成對數(shù)據(jù)源進行各種操作(如讀取、 寫入記錄等)。建立Command對象的語法如下: Dimobjcmd As Newsqlcommand(cmdText,Connection),13.3.2 ADO.NET的對象,描述需要進行的操作,指定所用的連接,Command對象屬性與方法,.NET訪問SQL Server 2005,DataReader對象 只能在數(shù)據(jù)庫中進行單方向處理的對象,它是一個只讀的記錄集。 Data

20、Set對象和DataAdapeter對象 Dataset(數(shù)據(jù)適配器)對象和DataAdapeter(數(shù)據(jù)集)對象適用于大批量的數(shù)據(jù)修改和查詢,同時可以進行數(shù)據(jù)離線修改。,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,DataSet對象和DataAdapeter對象使用流程 (1)創(chuàng)建 SqlDataAdapter 對象 SqlDataAdapter 對象名 = new SqlDataAdapter(sql語句, 數(shù)據(jù)庫連接對象); (2)創(chuàng)建DataSet對象,并填充數(shù)據(jù)。 SqlDataSet 對象名= new SqlDataSet(); DataAdap

21、ter對象. Fill(SqlDataSet 對象名, 數(shù)據(jù)表名); (3)更新數(shù)據(jù)庫 SqlCommandBuilder builder = new SqlCommandBuilder(DataAdapter對象); DataAdapter對象. Update(SqlDataSet對象, 表名); 在調用Update方法以前,要利用 SqlCommandBuilder 對象自動生成INSERT、UPDATE、DELETE 命令,以便將數(shù)據(jù)更新到數(shù)據(jù)庫。,13.3.2 ADO.NET的對象,.NET訪問SQL Server 2005,添加DataGridView控件,13.3.3 數(shù)據(jù)綁定技術

22、,.NET訪問SQL Server 2005,設置DataGridView控件屬性,13.3.3 數(shù)據(jù)綁定技術,.NET訪問SQL Server 2005,綁定數(shù)據(jù),進行顯示,為DataGridView對象的DataSource屬性指定數(shù)據(jù)源:DataGridView對象.DataSource = dataSet.Tables數(shù)據(jù)表名; 激活已經(jīng)設置的綁定,開始進行數(shù)據(jù)的顯示:DataGridView對象.DataBind();,13.3.3 數(shù)據(jù)綁定技術,.NET訪問SQL Server 2005,任務:根據(jù)項目需求確定開發(fā)功能,通過C#建立程序框架,進行系統(tǒng)功能開發(fā) 。,13.4 使用C#

23、開發(fā)數(shù)據(jù)庫應用程序,13.4.1 功能模塊化分 13.4.2 系統(tǒng)主界面的實現(xiàn) 13.4.3 系部管理模塊功能的實現(xiàn),.NET訪問SQL Server 2005,13.4.1 功能模塊劃分,.NET訪問SQL Server 2005,創(chuàng)建新項目,13.4.2 系統(tǒng)主界面的實現(xiàn),.NET訪問SQL Server 2005,創(chuàng)建主界面MainForm,13.4.2 系統(tǒng)主界面的實現(xiàn),.NET訪問SQL Server 2005,13.4.2 系統(tǒng)主界面的實現(xiàn),在MainForm上創(chuàng)建功能菜單,.NET訪問SQL Server 2005,創(chuàng)建主菜單及子菜單,13.4.2 系統(tǒng)主界面的實現(xiàn),.NET訪問

24、SQL Server 2005,MainForm設置為啟動界面(代碼省略) 實現(xiàn)“系部信息管理”子菜單,13.4.2 系統(tǒng)主界面的實現(xiàn),.NET訪問SQL Server 2005,系部管理的實現(xiàn),13.4.2 系統(tǒng)主界面的實現(xiàn),.NET訪問SQL Server 2005,任務:了解數(shù)據(jù)庫應用系統(tǒng)的主流開發(fā)模式,理解開發(fā)模式的選擇要點 。,13.5 知識進階,13.5.1 C/S開發(fā)模式 13.5.2 B/S開發(fā)模式 13.5.3 開發(fā)模式的選擇,.NET訪問SQL Server 2005,13.5.1 C/S開發(fā)模式,C/S(Client/Server)客戶/服務器模式,是應用軟件開發(fā)所使用的

25、最成功的一種模式,在局域網(wǎng)環(huán)境下,其性能顯的格外的突出。 工作原理:客戶端向服務端提交一個請求,服務端處理該請求,并將結果返回給客戶端。由于客戶端實現(xiàn)與服務器的直接相連,沒有中間環(huán)節(jié),因此響應速度快。 C/S開發(fā)模式也存在著很多缺點: (1)分布能力差,只適用于局域網(wǎng)。 (2)無論客戶端還是服務器端都需要特定的軟件支持,使系統(tǒng)維護復雜,升級麻煩,不利于推廣使等。 (3)客戶端軟件是針對性開發(fā),缺少通用性。(4)兼容性差。 (5)對客戶端的操作系統(tǒng)一般有限制。,.NET訪問SQL Server 2005,13.5.2 B/S開發(fā)模式,B/S(Brower/Server)瀏覽器/服務器模式,是對C/S的改進。客戶端通過Web瀏覽器實現(xiàn),只需安裝一個瀏覽器(Browser),主要任務都是在服務器端實現(xiàn)。,.NET訪問SQL Server 2005,B/S模式具有以下優(yōu)勢: (1)客戶端免開發(fā)、免安裝、免維護。B/S結構的“瘦”客戶機,“胖”服務器機制,給系統(tǒng)維護和升級都帶來極大便利。 (2)

溫馨提示

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

最新文檔

評論

0/150

提交評論