




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、WINDOWS程序設計(VB)上海交通大學網絡教育學院陳澤宇 博士、副教授2第0章 概述(補充) 第1章 緒論 第2章 創建第一個Windows應用程序第3章 數據類型、變量和表達式第4章 選擇結構第5章 循環結構 第6章 數組 第7章 過程 第8章 類 第9章 菜單與圖形 第10章 文件 第11章 Form窗體和對話框 第12章 Web編程基礎第13章 初步第14章 Web控件 第15章 數據訪問 第16章 初步 3第16章 初步16.1 簡介16.2 在Visual Basic中訪問數據庫16.3 數據集16.4 修改和更新數據庫16.5 綜合示例:DataGrid(補充)416.1 簡介
2、16.1.1 的工作原理(補充) 16.1.2 的優點5 是.NET平臺內用于訪問數據源的一組類 具有全新的對象模型,該模型使用XML作為主要的數據傳輸格式,同時它使得用戶對無關聯數據的操作變得更加簡單比起ADO來說, 的主要優點在于:編程更簡單、性能更高、伸縮性更強、對單個數據源特性的依賴更小,以及與其它平臺的交互性更強616.1.1 的工作原理(補充)1. 數據提供程序(Data Provider) 2. 數據集(DataSet) 7 的兩個核心組件數據提供程序(Data Provider)數據集(DataSet)81. 數據提供程序(Data Provider)設計目的:為了實現對數據的
3、快速訪問包括Connection、Command、DataReader和DataAdapter對象.NET框架提供了4個數據提供程序SQL Server數據提供程序OLE DB數據提供程序ODBC數據提供程序Oracle數據提供程序9Connection對象提供與數據源的連接Command對象在用Connection對象成功連接數據庫后,可以用Command對象對數據庫進行操作,如對數據進行新增、刪除、修改等DataReader對象從數據源中提供高性能的數據流10DataAdapter(數據適配器)對象提供連接DataSet對象和數據源的橋梁DataAdapter使用Command對象在數據源
4、中執行SQL命令,以便將數據加載到DataSet中,并使對DataSet中數據的更改與數據源保持一致112. 數據集(DataSet)設計目的:為了實現獨立于任何數據源的數據訪問DataSet不是一個單獨的表,而是一組包含了表結構數據的表,同時它還包括表之間的所有關系DataSet對象是一個存儲在內存中的離線數據庫,它并未與數據庫建立即時的連接DataSet對象專門用來存儲從數據源中讀出的數據,無論是SQL Server數據庫還是Access數據庫,在DataSet中存儲方式都是一致的,用戶無法從DataSet中判斷讀取的數據庫類型12通常在進行數據操作時,用戶將來自數據庫的數據填入DataS
5、et中,然后再對其進行操作當用戶更改了數據并準備將更改結果發送回數據源時,DataSet可以一次性完成發送操作由于DataSet的智能化,只有數據中被更改的部分才會被發送回數據庫1316.1.2 的優點1.可伸縮性如果用戶使用DataSet對象,則 就是基于非連接數據訪問,這表明使用數據庫連接的時間比較短2.數據源獨立性在 中,Recordset真正地獨立于數據源143.協同性因為 使用XML作為其標準的數據傳輸格式,因此與之進行數據通信的軟件無須是 的一個組件甚至不必基于Windows平臺,而唯一的要求就是它能夠兼容XML4.強大的分類字段5.性能6.防火墻因為 利用XML傳輸數據,所以數據
6、可以通過大多數防火墻1516.2 在Visual Basic中訪問數據庫16.2.1 Connection 對象(補充) 16.2.2 Command 對象(補充) 16.2.3 DataReader對象(補充) 16.2.4 完成dbTest2示例16當需要從VB訪問數據庫時,VB程序是數據庫的客戶端在訪問數據庫之前首先需要連接到數據庫1716.2.1 Connection 對象(補充)要訪問數據庫,首先必須建立與數據庫的連接使用Connection對象創建和管理連接SqlConnection對象管理與SQL Server數據庫的連接OleDbConnection對象管理與可通過OLE DB
7、訪問的任何數據存儲區的連接OdbcConnection對象管理與通過使用連接字符串或ODBC數據源名稱創建的數據源的連接OracleConnection對象管理與Oracle數據庫的連接18連接字符串在建立連接時,通常要提供一些數據源的信息,如數據庫的名稱、數據庫所在的物理位置、用戶名、密碼等通過Connection對象的ConnectionString屬性來設置連接字符串19打開和關閉連接在對數據庫實際操作之前,首先需要打開連接,使用完后應立即關閉,這是由Open和Close方法來完成的Open方法使用ConnectionString屬性中的信息聯系數據源并建立一個打開的連接Close方法關
8、閉連接如果正在使用DataAdapter或Command,則不必顯式打開和關閉連接當調用這些對象的某個方法(例如DataAdapter的Fill或Update方法)時,該方法將檢查連接是否已打開。如果沒有,適配器將打開連接,執行其邏輯,然后再關閉連接2016.2.2 Command 對象(補充)實際對數據庫的操作可以使用Command 對象來完成設置CommandText屬性該屬性是一個字符串,實際上就是一個完整的SQL語句例如: mandText = SELECT au_lname FROM authors21設置好CommandText屬性后需要指出該對象使用哪個連接例如: mand.Co
9、nnection = sqlcnMyDB2216.2.3 DataReader對象(補充)如果不需要DataSet所提供的功能,則可以使用DataReader以只讀方式返回數據因為節省了DataSet所使用的內存,并省去了創建DataSet并填充其內容所需的必要處理,所以可以提高應用程序的性能2316.3 數據集16.3.1 DataSet對象16.3.2 DataAdapter對象16.3.3 填充數據集24使用DataReader可以直接從數據庫中讀取數據,直接對數據庫執行SQL語句,在此期間一直保持對數據庫的連接然而,這并不是最好的方式25在 的構架下,并不以客戶端/服務器的兩層模式運作
10、,通常可以采用多層的方式對數據庫操作,或者說 是面向非連接的簡單地講,可以將數據庫的數據一次性地從數據庫中取出來,存放在本地隨后的操作都在本地進行,如對數據的修改、插入或刪除等最后,在必要的時候,將修改后的數據全部寫回到數據庫中最大好處就是降低了數據庫服務器的資源占用,減輕了數據庫服務器的負擔,同時也減少了網絡負擔2616.3.1 DataSet對象將數據庫中的數據傳輸到本地后, 提供了DataSet對象來存儲數據DataSet用來存儲從數據庫中檢索的數據,并保存到客戶機的內存中DataSet中的數據實際與數據庫是斷開的,可以獨立于數據庫來操作數據可以將DataSet看作是一個便攜式的數據庫同
11、時,DataSet對象也并不和任何一個底層數據庫相關聯,當需要從DataSet向數據庫傳出或傳入數據時,需要使用DataAdapter(數據適配器)對象2716.3.2 DataAdapter對象DataAdapter像是數據源(數據庫)和DataSet之間的橋梁DataAdapter類有幾個屬性代表單個的命令對象,如 mand、 mand、 mand等在將數據通過數據適配器傳遞時,數據適配器使用這些命令和數據庫交換記錄對數據適配器而言,最主要的問題是如何將數據映射到源數據庫2816.3.3 填充數據集DataAdapter的主要方法是Fill,用來將來自DataAdapter中的數據填入Da
12、taSet中一旦將要使用的數據放到了DataSet中,就可以和數據庫斷開連接,以后對數據的操作,將在DataSet上進行2916.4 修改和更新數據庫16.4.1 利用Visual Studio產生代碼16.4.2 使用DataGrid顯示數據16.4.3 數據的修改與更新30DataSet中的數據是在本地的,對數據的修改、插入或刪除等操作將首先在DataSet中完成隨后,在必要的時候,再一次性地向數據庫更新所有的數據3116.4.1 利用Visual Studio產生代碼對數據庫的操作最簡單的方式可能應該是將一個數據表直接由Visual Studio的服務器資源管理器拖動到Windows窗體
13、上此時,Visual Studio將在幕后自動產生相應的代碼查看VB生成的代碼,除了正確地設置了連接外,主要自動生成了DataAdapter的 mand、 mand、 mand和 mand屬性的值3216.4.2 使用DataGrid顯示數據有時需要將整個一張表同時顯示出來,DataGrid控件可以完成這個功能,只需將DataGrid控件和一個DataSet綁定即可也就是說當DataSet改變時,DataGrid會反映這種變化,同時,在DataGrid中做的修改也會反映給DataSet要將DataGrid和DataSet綁定,只需正確設置DataGrid的DataSource屬性和DataMe
14、mber屬性3316.4.3 數據的修改與更新在DataGrid可以直接對數據進行操作可以調用DataAdapter的Update方法更新數據庫3416.5 綜合示例:DataGrid(補充)通過DataGrid控件訪問、修改“通信錄.mdb”參見:Windows 窗體中的簡單數據訪問35實現步驟1. 創建數據連接和數據適配器2. 生成數據集3. 添加并綁定DataGrid控件4. 填充數據集(按鈕btnLoad)5. 更新數據庫(按鈕btnUpdate)361. 創建數據連接和數據適配器工具箱數據添加OleDbDataAdapter,“數據適配器配置向導”將自動啟動選擇“Microsoft
15、Jet 4.0 OLE DB Provider”作為提供程序,選擇指向“通信錄.mdb”數據庫的連接,從而建立連接指定“使用 SQL 語句”來訪問數據庫通過“查詢生成器”生成SQL語句最終獲得數據連接OleDbConnectionMyDB和數據適配器OleDbDataAdapterMyDB372. 生成數據集鼠標右擊OleDbDataAdapter,選擇“生成數據集”,獲得數據集DataSetMyDB383. 添加并綁定DataGrid控件工具箱添加DataGridDataGrid的DataSource屬性設為“DataSetMyDB”,DataMember屬性設為“通信錄表”394. 填充數據集(按鈕btnLoad)OleDbDataAdapterMyDB.Fill(DataSetMyDB)405. 更新數據庫(按鈕btnUpdate)OleDbDataAdapterMyDB.Update(DataSetMyDB)41事件處理代碼Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click DataSetMyD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石嘴山工貿職業技術學院《水工程施工》2023-2024學年第一學期期末試卷
- 西安財經大學《系統理論數學基礎》2023-2024學年第二學期期末試卷
- 《騰訊戰略投資》課件
- 2025海鮮供貨合同
- 2025至2031年中國化纖紡織原料行業投資前景及策略咨詢研究報告
- 2025至2030年中國高爾夫發球桿數據監測研究報告
- 2025至2030年中國鋼槽輪數據監測研究報告
- 2025至2030年中國線纜外護層開剝刀數據監測研究報告
- 2025至2030年中國糖果柜數據監測研究報告
- 罩棚吊頂噴漆施工方案
- 水利工程運維水利工程運行和日常維修養護方案
- 理論力學簡明教程(第二版)課后答案陳世民
- 2016醫學機能學實驗教程
- 2024年10月公務員制度自考試卷含解析
- 幼兒園課件:谷雨繪本故事-養蠶忙
- 高級審計師《審計理論與審計案例分析》真題
- 高中生班會課課件 愛情三角理論愛情的本質
- 小學教學能手述職報告
- 區塊鏈技術在農業領域的應用
- 學生創新思維綜合評價表
- 采購職員離職工作交接詳單
評論
0/150
提交評論