版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1第7章數據訪問
2要點:掌握VisualStudio2010中管理數據庫的方法熟練使用數據源控件AccessDataSource數據源控件、SqlDataSource數據源控件、ObjectDataSource、XmlDataSource控件、SiteMapDataSource控件;熟練掌握數據綁定控件的使用掌握ListControl類控件與數據源的綁定;掌握GridView控件與數據源的綁定;掌握DetailsView控件與數據源的綁定。37.1數據訪問概述ASP.NET1.X主要使用ADO.NET訪問數據。ADO.NET提供了用于完成如數據庫連接、查詢數據、插入數據、更新數據和刪除數據等操作的對象。
Connection對象Command對象DataReader對象DataAdapter對象DataSet對象442024/5/9ADO.NET的對象Connection對象:用來連接到數據庫。Command對象:用來對數據庫執(zhí)行SQL命令,如查詢語句。DataReader對象:用來從數據庫返回只讀數據。DataAdapter對象:用來從數據庫返回數據,并送到Dataset對象中,還要負責保證Dataset對象中的數據和數據庫中的數據保持一致。DataSet對象:它可以看做是內存中的數據庫。利用DataAdapter對象將數據庫中的數據送到該對象中,然后就可以在其中對數據進行各種操作,最后再利用DataAdapter對象將更新反映到數據庫中。5ADO.NET兩種讀取數據庫的方式一種是利用Connetction、Command和DataReader對象,這種方式只能讀取數據庫,也就是說不能修改記錄。如果只是想查詢記錄的話,此方式的效率更高些。(保持連接模式)第二種是利用Connection、Command、DataAdapter和Dataset對象,這種方式更靈活,可以對數據庫進行各種操作。(斷開連接模式)662024/5/9ADO.NET兩種讀取數據庫的視圖77.2建立SQLServerExpress數據庫SQLServerExpress2008與VisualStudio2010緊密集成。與允許建立網站時直接在VisualStudio2010的開發(fā)環(huán)境中創(chuàng)建并管理數據庫。利用VisualStudio2010中“服務器資源管理器”管理SQLServer數據庫。87.3數據源控件用于實現從不同數據源獲取數據的功能。9數據源控件和數據綁定控件開發(fā)人員能夠智能的配置與數據庫的連接,而不需要手動的編寫數據庫連接。ASP.NET不僅提供了數據源控件,還提供了能夠顯示數據的控件,簡化了數據顯示的開發(fā)。數據源控件封裝所有獲取和處理數據的功能,主要包括連接數據源、使用Select、Update、Delete和Insert等SQL語句獲取和管理數據等。數據綁定控件主要用于以多種方式顯示數據。結合使用數據源控件和數據綁定控件,只需要設置相關屬性,幾乎不用編寫任何代碼即能存取數據庫。10
數據源控件簡介
數據源控件的類型主要有以下幾種。
1.AccessDataSourceAccessDataSource數據源控件是專門為連接MicrosoftAccess數據庫而設計的。
2.SqlDataSourceSqlDataSource數據源控件是專門為連接MicrosoftSQLServer數據庫而設計的。
3.ObjectDataSource主要用在三層分布式架構時,將中間層的邏輯功能封裝到這個控件中,以便在應用程序中共享。
數據源控件用來配置數據源,當數據控件綁定數據源控件時,就能夠通過數據庫源控件來獲取數據源中的數據并顯示,而無需通過程序實現數據源代碼。
11
ASP.NET包含兩個層次數據源控件:用于連接XML文件的XmlDataSource和用于連接站點導航數據的SiteMapDataSource。4.XmlDataSource
XmlDataSource控件可將一個XML文件綁定到一個用于顯示層次結構的TreeView控件上。
5.SiteMapDataSource127.3.1SqlDataSource控件用來訪問Access、SQLServer、SQLServerExpress、Oracle、ODBC數據源和OLEDB數據源。要訪問帶密碼的Access數據庫,就不能使用AccessDataSource,只能使用SqlDataSource控件。 <asp:SqlDataSourceID="SqlDataSource1"runat="server"></asp:SqlDataSource>13SqlDataSource常用屬性表ConnectionString獲取或設置連接到數據庫的字符串。DataSourceMode獲取或設置獲取數據時所使用的數據返回模式。值DataReader表示獲取只讀數據;值為DataSet表示獲取數據可更改。默認值為DataSet。DeleteCommand獲取或設置用于刪除數據的SQL語句或存儲過程名。DeleteCommandType獲取或設置屬性DeleteCommand值的類型。Text表示SQL語句;StoreProcedure表示存儲過程。默認值為Text。DeleteParameters獲取DeleteCommand值中出現的參數集合。DeleteQuery設置Delete命令使用的參數。14SqlDataSource常用屬性表(續(xù))EnableCaching邏輯值,true表示啟用數據緩存功能,false表示不啟用。默認值為false。InsertCommand獲取或設置用于插入數據的SQL語句或存儲過程名。InsertCommandType獲取或設置屬性InsertCommand值的類型。InsertParameters獲取屬性InsertCommand值中出現的參數集合。InsertQuery設置Insert語句使用的參數。ProviderName獲取或設置連接數據源的提供程序名稱。15SqlDataSource常用屬性表(續(xù))SelectCommand獲取或設置用于查詢數據的SQL語句或存儲過程名。SelectCommandType獲取或設置屬性SelectCommand值的類型。SelectParameters獲取SelectCommand值中出現的參數集合。SelectQuery設置Select語句使用的參數。
UpdateCommand獲取或設置用于更新數據的SQL語句或存儲過程。UpdateCommandType獲取或設置UpdateCommand值的類型。UpdateParameters獲取屬性UpdateCommand值中出現的參數集合。UpdateQuery設置Update命令使用的參數。16連接數據庫使用SqlDataSource連接數據源不需要編寫代碼,只需按“配置數據源”向導逐步設置就可以了。17數據連接說明下拉列表框會列出存儲在App_Data文件夾中的數據庫名和存儲在web.config文件的<connectionStrings>配置節(jié)中的數據連接名。連接字符串包括數據庫信息和身份驗證信息。
DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyPetShop.mdf;
Integrated
Security=True;User
Instance=True
指示要連接到的數據源的名稱連接是否為安全連接附加的數據庫文件名稱指示是否將連接重定向,以連接到該用戶賬戶下運行的SQLServer實例18連接字符串存放位置說明在web.config的<connectionStrings>配置節(jié)中<connectionStrings><addname="MyPetShopConnectionString"connectionString="DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyPetShop.mdf; IntegratedSecurity=True;UserInstance=True"providerName="System.Data.SqlClient"/></connectionStrings>19
Access數據庫是一種桌面級的數據庫,對其訪問可使用專門的數據源控件AccessDataSource。與SqlDataSource不同的是,SqlDataSource主要采用的是ConnectionString屬性連接數據庫,而Access則采用的是AccessDataSource方式連接數據庫。因為Access數據庫是以文件的形式存在于系統中的,所以主要采用DataFile屬性直接以文件地址的方式進行連接。要連接Access數據庫,則必須選擇Access數據庫文件。7.3.2AccessDataSource控件20AccessDataSource控件當需要使用Access數據庫,應將Access數據庫文件保存在App_Data文件夾中,以保證數據庫文件是私有的,因為ASP.NET不允許直接請求App_Data文件夾。注意:AccessDataSource控件不支持訪問受密碼保護的Access數據庫文件,如果需要訪問受密碼保護的Access數據庫文件,則需要使用SqlDataSource控件。21連接失敗連接數據庫失敗是程序開發(fā)中常有的情形。造成失敗的原因有連接字符串設置錯誤、數據庫服務未啟動、網絡問題等。此時,需要給用戶適當的出錯提示信息。22例:使用SqlDataSource控件連接到SQLServer數據庫,并把獲得的數據顯示在DropDownList控件中。23實例7-1連接失敗的處理當數據庫連接正常時在下拉列表中填充“Category”表的“Name”字段信息。當數據庫連接失敗時返回出錯信息。源程序:FailtureConn.aspx程序說明:當SqlDataSource控件執(zhí)行Select命令之后,將觸發(fā)Selected事件,并且拋出任何異常信息。因此,數據庫連接失敗的處理可在Selected事件中捕獲異常,再顯示出錯信息并通知SqlDataSource控件已處理異常。24SqlDataSource的參數綁定在Select、Insert、Delete、Update等數據操作時允許使用參數。25SqlDataSource參數綁定的數據來源ControlParameter:實現控件屬性值與參數的綁定。QueryStringParameter:實現QueryString對象值與參數的綁定。
FormParameter:實現表單域的值與參數的綁定。CookieParameter:實現Cookie對象值與參數的綁定。SessionParameter:實現Session對象與參數的綁定。26實例7-2實現SqlDataSource控件的參數綁定
當選擇寵物類別后,列表框中將顯示該類別的所有產品。源程序:SqlDSParameters.aspx
程序說明:本示例不用編寫任何代碼,所有操作都通過屬性設置實現。27利用SqlDataSource設置的SQL語句管理數據
在數據源配置時除可設定Select語句外,還可組合Insert、Update和Delete語句。設定的Select語句在網頁有數據顯示時即被執(zhí)行,不需要調用相應的方法執(zhí)行,而設定的Insert、Update和Delete語句必須調用相應的方法才能被執(zhí)行。例如,Insert語句的執(zhí)行應調用SqlDataSource控件的Insert()方法。28實例7-3利用SqlDataSource插入數據當輸入“分類名”、“描述”等信息,單擊“插入并顯示”后,將把數據信息插入到Category表,然后在GridView中顯示表中所有數據。源程序:SqlDSInsert.aspx
程序說明:單擊按鈕時將調用Insert()方法,從而執(zhí)行SqlDataSource中設置的Insert語句,實現數據插入功能。然后再執(zhí)行SqlDataSource中設置的Select語句,返回Category表中所有數據并在GridView中顯示出來。297.3.3XmlDataSource控件訪問的是“層次化數據”,常用于連接和訪問XML數據源中的數據。屬性DataFile:用于設置要綁定的XML文件名。對于能顯示層次化數據的控件有TreeView、Menu等,只需設置這些控件的屬性DataSourceID值,即能顯示XMLDataSource中的XML數據。30例:使用XmlDataSource數據源控件,結合TreeView控件和容器控件PlaceHolder,設計一個以樹型結構用于查看員工基本情況的Web應用程序。1、創(chuàng)建xml文件2、向aspx中添加XmlDataSource控件、TreeView控件、PlaceHolder控件。3、設XmlDataSource控件數據源為前面創(chuàng)建的*.xml文件;4、設TreeView控件的數據源為XmlDataSource控件5、編寫程序(TreeView1_SelectedNodeChanged事件)31界面設計:32運行效果:3334實例7-6在GridView中顯示XML文件源程序:books.xml源程序:books.xsl源程序:XmlDSGridView.aspx
357.3.4SiteMapDataSource控件用于訪問XML格式的網站地圖文件Web.sitemap,再將數據源綁定到TreeView、SiteMapPath或Menu等控件即能顯示網站地圖文件內容。當與SiteMapPath控件綁定時,不需要聲明SiteMapDataSource,系統會自動實現綁定。不需要設置連接數據源的屬性。36(1)創(chuàng)建web.sitemap文件---建在站點根目錄下37(2)創(chuàng)建aspx文件,并添加TreeView控件,為其選擇數據源
新建數據源,選擇站點地圖,系統會自動添加一個SiteMapSo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年蘇人新版選修6歷史上冊月考試卷含答案
- 2025年浙教新版九年級語文下冊月考試卷
- 2025年新世紀版七年級生物上冊階段測試試卷含答案
- 2025年湘師大新版九年級英語下冊階段測試試卷含答案
- 2025年粵教滬科版八年級歷史上冊月考試卷含答案
- 2025年北師大新版高二化學上冊階段測試試卷
- 2025年滬教新版九年級歷史上冊階段測試試卷
- 二零二五年度土地承包經營權流轉服務合同3篇
- 2025年度生物制藥企業(yè)原材料采購合同3篇
- 2025年牧民草場承包經營權轉讓合同范本4篇
- 《健康體檢知識》課件
- 2023年護理人員分層培訓、考核計劃表
- 生產計劃主管述職報告
- JTG-T-F20-2015公路路面基層施工技術細則
- 2024年遼寧石化職業(yè)技術學院單招職業(yè)適應性測試題庫附答案
- 中西方校服文化差異研究
- 《子宮肉瘤》課件
- 《準媽媽衣食住行》課件
- 給男友的道歉信10000字(十二篇)
- 客人在酒店受傷免責承諾書范本
- 練字本方格模板
評論
0/150
提交評論