




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫應用數(shù)據(jù)庫與應用程序接口通過前面的學習,我們已掌握了SQL Server 的基本技術,具備了在后臺對數(shù)據(jù)庫進行管理的能力,那么,如何在前臺以windows應用程序或網(wǎng)頁的形式對后臺的數(shù)據(jù)進行插入、修改、刪除等操作,或進行管理呢?q開發(fā)工具連接SQL Server 2005,實現(xiàn) 數(shù)據(jù)的插入 數(shù)據(jù)的修改 數(shù)據(jù)的刪除 數(shù)據(jù)的查詢q 開發(fā)工具對存儲過程的調用 無參存儲過程的調用 有參存儲過程的調用概述應用程序訪問數(shù)據(jù)庫中的數(shù)據(jù)是數(shù)據(jù)庫應用的一個基本內容不同數(shù)據(jù)庫提供數(shù)據(jù)訪問的數(shù)據(jù)接口有所不同SQL Server2005以上版本提供了豐富的應用程序接口(API)p幫助用戶實現(xiàn)前端程序同本地服務器
2、或遠程服務器上的數(shù)據(jù)庫的連接和訪問。常規(guī)的數(shù)據(jù)庫訪問API支持多種編程方式pODBCpJDBCpADO.NET接下來將學習的內容是:接下來將學習的內容是:通過ODBC連接SQL Server通過JDBC連接SQL Server通過ADO.NET對象連接SQL ServerODBC與SQL ServerODBCpODBC(Open Database Connectivity),即開放式數(shù)據(jù)庫連接p數(shù)據(jù)庫服務器的一個標準協(xié)議p向訪問數(shù)據(jù)庫的應用程序提供一種通用語言p應用程序開發(fā)人員不必知道所連接的數(shù)據(jù)庫類型p可以用標準的SQL語言訪問數(shù)據(jù)庫中的數(shù)據(jù)ODBC通過ODBC的驅動程序將SQL語句轉換成特
3、定數(shù)據(jù)庫的訪問函數(shù)驅動程序在客戶機應用和數(shù)據(jù)庫服務器之間提供一個通信層對于不同的數(shù)據(jù)庫就要求使用不同的驅動程序在使用ODBC時,應根據(jù)數(shù)據(jù)庫類型的不同選擇不同的數(shù)據(jù)源名稱數(shù)據(jù)源名稱(Data Source Name,DSN)DSN中指定與后臺數(shù)據(jù)庫服務器的連接驅動程序、連接方式等信息建立ODBC數(shù)據(jù)源基本采用控制面板的圖形界面方式建立數(shù)據(jù)源p“管理工具” “數(shù)據(jù)庫(ODBC)”圖標,打開“ODBC數(shù)據(jù)源管理器”對話框選擇“用戶DNS”、“系統(tǒng)DNS”、“文件DNS”p如要添加一個新的數(shù)據(jù)源,單擊“添加”,彈出“創(chuàng)建新數(shù)據(jù)源”對話框。特別指出的是:SQL Server2005新增了一種數(shù)據(jù)訪問技
4、術,列表中對應著“SQL Native Client”,這一訪問技術獎SQL OLE DB訪問接口和SQL ODBC驅動程序以及它們所關聯(lián)的網(wǎng)絡庫結合在一起,形成本機動態(tài)鏈接庫(DLL),這樣可以更為容易地將更新應用于各個模塊,而不會影響該程序的其他部分。JDBCp為支持為支持Java程序的數(shù)據(jù)庫操作功能,程序的數(shù)據(jù)庫操作功能,Java語言采用語言采用了專門的了專門的Java數(shù)據(jù)庫連接(數(shù)據(jù)庫連接(Java Database Connectivity,JDBC)JDBC與ODBC相類似,都通過編程接口將數(shù)據(jù)庫的功能以標準的形式呈現(xiàn)給應用程序開發(fā)人員JDBC是一系列Java類與接口的集合,Jav
5、a程序利用它就可以對數(shù)據(jù)庫進行訪問Java應用程序不能直接與數(shù)據(jù)庫通信因為數(shù)據(jù)庫只能解釋SQL語句而不能解釋Java語句需要一種將Java語句轉化為SQL語句的機制由JDBC提供這種轉換機制JDBC所使用的類和接口是java.sql包的一部分。JDBC API通過JDBC驅動程序與特定的數(shù)據(jù)庫通信。不同的數(shù)據(jù)庫廠商提供的JDBC驅動程序不同JDBC驅動程序類型JDBC-ODBC橋驅動程序Native-API Partly-Java驅動程序JDBC-Net Pure-Java驅動程序Native-Protocol Pure-Java驅動程序JDBC-ODBC橋驅動程序(類型1)pJDBC驅動程序
6、管理器并不直接操縱數(shù)據(jù)庫驅動程序,而是由JDBC-ODBC橋驅動程序操作ODBC驅動程序,進而連接各種類型的數(shù)據(jù)庫。Access和和SQL Server均采用這種方式均采用這種方式Java程序不能直接與ODBC驅動程序通信JDBC-ODBC橋驅動程序把JDBC API翻譯為ODBC APINative-API Partly-Java驅動程序(類型2)p該類型的驅動程序使用數(shù)據(jù)庫廠商提供的本地庫訪問數(shù)據(jù)庫pJDBC驅動程序將JDBC調用轉換成Oracle、Sybase、Informix、DB2或其他DBMS的本地方式調用p被傳送到本地調用級接口,此接口包含由C語言編寫的用來訪問數(shù)據(jù)庫的函數(shù)JDB
7、C-Net Pure-Java驅動程序(類型3)p當Java小應用程序連接到數(shù)據(jù)庫時可以通過網(wǎng)絡使用此驅動程序p該驅動程序包含客戶端和服務器端,客戶端包含純Java函數(shù),而服務器端包含Java和本地方法pJava應用程序將JDBC調用發(fā)送到JDBC-Net Pure-Java驅動程序的客戶端,進而將JDBC調用轉化為數(shù)據(jù)庫調用p數(shù)據(jù)庫調用被發(fā)送到JDBC-Net Pure-Java驅動程序的服務器端,從而轉發(fā)給數(shù)據(jù)庫Native-Protocol Pure-Java驅動程序(類型4)p該類型的驅動程序是直接使用特定廠商專用的網(wǎng)絡協(xié)議p將JDBC調用轉換為直接網(wǎng)絡調用p在實際應用中最簡單的驅動程
8、序p主要的數(shù)據(jù)庫廠商都為其數(shù)據(jù)庫產品提供了這種類型的JDBC驅動程序類型1(JDBC-ODBC橋驅動程序)和類型2(Native API Partly Java驅動程序)用于程序員編寫應用程序類型3(JDBC-NET Pure Java驅動程序)和類型4(Native Protocol Pure Java驅動程序)通常用于由中間件或數(shù)據(jù)庫提供商使用。使用JDBC API檢索數(shù)據(jù)庫的一般步驟是:加載驅動程序建立數(shù)據(jù)庫連接查詢數(shù)據(jù)庫首先導入數(shù)據(jù)庫開發(fā)類:Import java.sql.*;1、加載驅動程序 開發(fā)JDBC應用程序的第一步就是利用驅動程序管理器加載所需的驅動程序。為了與數(shù)據(jù)庫建立連接,
9、可以通過java.lang.Class類的forName()方法來加載數(shù)據(jù)庫特定的驅動程序。Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);2、建立數(shù)據(jù)庫連接 加載驅動程序后,需要建立與數(shù)據(jù)庫的連接。驅動程序管理器DriverManager提供的getConnection()方法可以創(chuàng)建一個Connection連接對象。 Connection con=DriverManager.getConnection(“jdbc:odbc:student”, “sa”, ”123123”);3、查詢數(shù)據(jù)庫 創(chuàng)建了連接之后,編寫SQ
10、L語句檢索數(shù)據(jù)庫中的數(shù)據(jù)。創(chuàng)建一個Statement對象將查詢請求發(fā)送到數(shù)據(jù)庫 利用Connection對象提供的createStatement()創(chuàng)建一個Statement對象Statement對象的executeQuery()方法能以ResultSet結果集的形式返回查詢結果。Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(“select * from teacher_info”);/執(zhí)行任何合法的SQL語句ADO.NET與SQL ServerADO.NET概述 ADO.NET是ActiveX Data
11、 Objects for the .NET Framework的縮寫,它是.NET Framework體系結構的一部分,是一種全新的數(shù)據(jù)庫訪問技術。 ADO.NET提供給.NET開發(fā)人員一組類,通過它可以與數(shù)據(jù)庫進行通訊,用來檢索、訪問和更新數(shù)據(jù)。ADO.NET對象模型 通過ADO.NET,應用程序連接到數(shù)據(jù)源并操作數(shù)據(jù)。在ADO.NET對象模型中,包含兩個核心組件:p.NET Framework數(shù)據(jù)提供程序p數(shù)據(jù)集DataSet 數(shù)據(jù)提供程序p 數(shù)據(jù)提供程序主要用來連接到數(shù)據(jù)庫,檢索和存儲數(shù)據(jù)集中的數(shù)據(jù),讀取檢索的數(shù)據(jù)和更新數(shù)據(jù)庫。 數(shù)據(jù)提供程序中包含的四個主要對象pConnection連接
12、對象連接對象:建立與特定數(shù)據(jù)源的連接。:建立與特定數(shù)據(jù)源的連接。pCommand命令對象命令對象:對數(shù)據(jù)源執(zhí)行操作命令。包:對數(shù)據(jù)源執(zhí)行操作命令。包括查詢、插入、修改和刪除數(shù)據(jù)源中的數(shù)據(jù)。括查詢、插入、修改和刪除數(shù)據(jù)源中的數(shù)據(jù)。pDataReader數(shù)據(jù)讀取器數(shù)據(jù)讀取器:以順序且只讀的方式從:以順序且只讀的方式從數(shù)據(jù)源中讀取數(shù)據(jù)。數(shù)據(jù)源中讀取數(shù)據(jù)。pDataAdapter數(shù)據(jù)適配器數(shù)據(jù)適配器:將數(shù)據(jù)從數(shù)據(jù)庫檢索到:將數(shù)據(jù)從數(shù)據(jù)庫檢索到數(shù)據(jù)集(數(shù)據(jù)集(DataSet),是數(shù)據(jù)源與數(shù)據(jù)集之間的橋),是數(shù)據(jù)源與數(shù)據(jù)集之間的橋梁。梁。 為客戶端應用程序選擇適當?shù)臄?shù)據(jù)提供程序取決于要訪問的數(shù)據(jù)源的類型.
13、NET Framework提供了四種數(shù)據(jù)提供程序用于SQL Server的.NET Framework數(shù)據(jù)提供程序p使用自身協(xié)議與SQL Server進行通信p經過優(yōu)化,對SQL Server數(shù)據(jù)庫的訪問性能較高p數(shù)據(jù)提供程序中的類包含在System. Data. SqlClient名稱空間中p包含的主要對象名稱分別為:SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter數(shù)據(jù)集(數(shù)據(jù)集(DataSet)pDataSet是從數(shù)據(jù)源中檢索到的數(shù)據(jù)在內存中駐留的表示形式即緩存,是ADO.NET的斷開式數(shù)據(jù)庫操作的核心組件,無論數(shù)據(jù)源是什么,它都會
14、提供一致的關系編程模型。DataSet的的類包含在System.Data.DataSet名稱空間中,它包含的主要對象為:pDataTable:內存中數(shù)據(jù)集合中的一個表。:內存中數(shù)據(jù)集合中的一個表。pDataRow:DataTable中的行。中的行。pDataColumn:DataTable中的列。中的列。DataSet獨立于各種數(shù)據(jù)源,既可以以離線方式,也可以以實時連接方式來操作數(shù)據(jù)庫中的數(shù)據(jù)DataSet可以用XML形式表示數(shù)據(jù)ADO.NET數(shù)據(jù)訪問 客戶端應用程序可以通過數(shù)據(jù)集數(shù)據(jù)集或DataReader對象對象來訪問數(shù)據(jù)。數(shù)據(jù)庫 connection command DataRead .
15、NET應用程序數(shù)據(jù)庫 connection Command DataAdapter DataSet .NET應用程序獲得數(shù)據(jù)只讀、順序、單方向逐一讀取,一般用于單次且短時間的數(shù)據(jù)讀取操作獲得數(shù)據(jù)可對其修改、添加、刪除,并寫回數(shù)據(jù)庫,訪問是雙向的、任意的,更為靈活數(shù)據(jù)訪問模式使用數(shù)據(jù)集DataSet的斷開式數(shù)據(jù)訪問模式 斷開式數(shù)據(jù)訪問模式是指客戶不直接對數(shù)據(jù)庫操作,而是先完成數(shù)據(jù)庫連接,通過數(shù)據(jù)適配器(DataAdapter)填充數(shù)據(jù)集DataSet對象,然后客戶端再通過讀取DataSet來獲取需要的數(shù)據(jù)。同樣在更新數(shù)據(jù)庫中的數(shù)據(jù)時,也需要首先更新DataSet,然后再通過數(shù)據(jù)適配器來更新數(shù)據(jù)庫
16、中對應的數(shù)據(jù)。使用數(shù)據(jù)讀取器DataReader的連接式數(shù)據(jù)訪問模式 連接式數(shù)據(jù)訪問模式是指客戶在操作過程中,與數(shù)據(jù)庫的連接是打開的。使用Command對象進行數(shù)據(jù)庫相關操作,使用DataReader對象以順序只讀的方式讀取數(shù)據(jù)。使用ADO.NET實現(xiàn)對SQL Server2005數(shù)據(jù)的操作例:要求查詢Student數(shù)據(jù)庫中所有教師的信息p1)創(chuàng)建連接對象String connStr = “DataSource = HBSI; Initial Catalog = Student; User ID = sa; Password = 123123”;SqlConnection connection = new SqlConnection();connection. ConnectionString = connStr;該連接使用SQL Serve
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同視角下的產品經銷三方合作
- 工業(yè)園區(qū)食堂勞務合同標準版
- 梧州市長洲區(qū)政府綠化工程委托合同
- 隱名投資利益分配合同
- 代理社保業(yè)務合同合作協(xié)議2025
- 代理合作協(xié)議合同模板
- 搪瓷企業(yè)設備更新與技術改造考核試卷
- 旅游客運突發(fā)事件應急預案考核試卷
- 政策性銀行服務農村電商與精準扶貧考核試卷
- 后勤服務中的客戶關系管理測試考核試卷
- 借哪吒精神燃開學斗志 開學主題班會課件
- GB/T 45107-2024表土剝離及其再利用技術要求
- 一年級家長會課件2024-2025學年
- 2024年海南省??谑行∩鯏?shù)學試卷(含答案)
- 《中醫(yī)藥健康知識講座》課件
- 7S管理標準目視化管理標準
- 幼兒園安全教育課件:《危險的小圓珠》
- 廣東省五年一貫制語文試卷
- 過橋資金(新)
- 顱內壓監(jiān)測的方法與護理ppt課件
- 房地產項目盈虧平衡分析
評論
0/150
提交評論