版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章
使用數(shù)據(jù)源控件和數(shù)據(jù)控件
本章要點(diǎn)介紹ADO.NET使用數(shù)據(jù)源控件理解SQL語(yǔ)言將數(shù)據(jù)控件同數(shù)據(jù)源控件關(guān)聯(lián)起來(lái)ADO.NET簡(jiǎn)介
ADO.NET由MicrosoftActiveXDataObjects(ADO)改進(jìn)而來(lái),是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢?lèi)庫(kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel表格或者XML文件。ADO.NET允許和不同類(lèi)型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類(lèi)庫(kù)。這些類(lèi)庫(kù)稱(chēng)為DataProviders,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類(lèi)型來(lái)命名的。ADO.NET包含的5種對(duì)象
command對(duì)象:用于數(shù)據(jù)庫(kù)交互所執(zhí)行的操作。SqlConnection對(duì)象:用于連接數(shù)據(jù)庫(kù)。sqlDataReader對(duì)象:用于從command對(duì)象的SELECT語(yǔ)句得到的結(jié)果從而讀取一串?dāng)?shù)據(jù)。DataSet對(duì)象:它是是數(shù)據(jù)在內(nèi)存中的表示形式,就可以包括多個(gè)DataTable對(duì)象,而一個(gè)DataTable對(duì)象包含多個(gè)列和行。SqlDataAdapter對(duì)象:用于當(dāng)所使用的數(shù)據(jù)主要是只讀的,很少需要將其改變至底層的數(shù)據(jù)源,以此來(lái)減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫(kù)調(diào)用的次數(shù)的情況
數(shù)據(jù)源控件
使用數(shù)據(jù)控件,只需要通過(guò)拖放適當(dāng)?shù)臄?shù)據(jù)控件到ASP.NET網(wǎng)頁(yè)中,就可以訪問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)。然后它將提示你指定要連接到哪個(gè)數(shù)據(jù)庫(kù)以及要從該數(shù)據(jù)庫(kù)中檢索哪些數(shù)據(jù)。所有這些配置都可以通過(guò)ASP.NET網(wǎng)頁(yè)實(shí)現(xiàn),而不需要編寫(xiě)代碼。在ASP.NET中有五個(gè)數(shù)據(jù)源控件。每個(gè)數(shù)據(jù)源控件的名稱(chēng)都以DataSource結(jié)尾,如SqlDataSource、AccessDataSource等。每個(gè)數(shù)據(jù)源控件設(shè)計(jì)用于操作不同的數(shù)據(jù)源。如SqlDataSource設(shè)計(jì)用于從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),XMLDataSource用于訪問(wèn)XML文件中的數(shù)據(jù),SiteMapDataSource用于檢查網(wǎng)站地圖并返回網(wǎng)站的導(dǎo)航結(jié)構(gòu),以便在TreeView或Menu控件中顯示它。數(shù)據(jù)源控件僅作為ASP.NET和數(shù)據(jù)庫(kù)之間的橋梁。也就是說(shuō),數(shù)據(jù)源控件只能檢索數(shù)據(jù)庫(kù)的數(shù)據(jù),且不具有任何在網(wǎng)頁(yè)中顯示所檢索數(shù)據(jù)的能力。要顯示數(shù)據(jù),就要使用其他web控件。SqlDataSource數(shù)據(jù)源控件
SqlDataSource控件在這里有如下三個(gè)屬性值。ID:該屬性唯一的標(biāo)識(shí)該數(shù)據(jù)源控件,使它與網(wǎng)頁(yè)中其它所有的Web控件匹配。ConnectionString:該屬性指定用于連接到數(shù)據(jù)庫(kù)的連接字符串。如果選擇將連接字符串信息保存在Web應(yīng)用的配置文件中,該值將為web.config中的連接字符串設(shè)置的名稱(chēng)。SelectCommand:該屬性指定指定向數(shù)據(jù)庫(kù)發(fā)出的SELECT查詢(xún)。注意該屬性值等同于向?qū)е辛谐龅腟ELECT命令。<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:studentConnectionString%>"ProviderName="<%$ConnectionStrings:studentConnectionString.ProviderName%>"SelectCommand="SELECT*FROM[Student]WHERE([StudentID]>=?)ORDERBY[Birthday]"><SelectParameters><asp:ParameterDefaultValue="2"Name="StudentID"Type="Int32"/></SelectParameters></asp:SqlDataSource>SqlDataSource數(shù)據(jù)源控件
值得注意的是,盡管現(xiàn)在的SelectCommand包含一個(gè)WHERE字句和一個(gè)ORDERBY字句,雖然在【添加Where字句】對(duì)話框中為這段查詢(xún)語(yǔ)句提供硬編碼值,但是在SelectCommand語(yǔ)句中并沒(méi)有為篩選表達(dá)式提供值。這是因?yàn)?,在這里使用了參數(shù)化查詢(xún)的辦法。參數(shù)是SQL語(yǔ)句中的一個(gè)占位符,其形式為@ParametersName。它占據(jù)一個(gè)位置,在SQL語(yǔ)句實(shí)際發(fā)送到數(shù)據(jù)庫(kù)前將在這個(gè)位置插入一個(gè)值。SqlDataSource控件在<SelectParameters>元素中列出SelectCommand的參數(shù)。在本例中,在<SelectParameters>元素內(nèi)有一個(gè)<asp:Parameter>元素,用于@StudentID參數(shù)。這里,它們的硬編碼值在DefaultValue屬性中指定。用戶訪問(wèn)該ASP.NET網(wǎng)頁(yè)時(shí),SqlDataSource將接受這些參數(shù)值,并在發(fā)送查詢(xún)到數(shù)據(jù)庫(kù)前,將他們插入到SELECT查詢(xún)中的適當(dāng)位置。SqlDataSource數(shù)據(jù)源控件
數(shù)據(jù)控件在ASP.NET網(wǎng)頁(yè)中顯示數(shù)據(jù)需要使用兩種類(lèi)型的Web控件。首先需要使用數(shù)據(jù)源控件來(lái)訪問(wèn)數(shù)據(jù),其次需要使用數(shù)據(jù)控件來(lái)顯示數(shù)據(jù)源控件檢索到的數(shù)據(jù)。9.2節(jié)重點(diǎn)介紹了SqlDataSource數(shù)據(jù)源控件,本節(jié)將介紹數(shù)據(jù)控件。數(shù)據(jù)源控件唯一的用途是從數(shù)據(jù)源檢索數(shù)據(jù),而數(shù)據(jù)控件唯一的用途就是顯示數(shù)據(jù)。因而,數(shù)據(jù)控件不提供任何實(shí)際檢索數(shù)據(jù)的功能,相反,它們只是從數(shù)據(jù)源控件取得數(shù)據(jù),并在ASP.NET網(wǎng)頁(yè)中顯示。GridView控件
使用GridView控件顯示數(shù)據(jù)定制GridView控件的字段定制GridView控件的外觀使用GridView控件進(jìn)行分頁(yè)和排序
DetailsView控件
使用DetailsView控件每次顯示一條記錄定制分頁(yè)界面定制DetailsView的外觀小結(jié)
本章介紹了ASP.NET的數(shù)據(jù)源和數(shù)據(jù)源控件。數(shù)據(jù)源控件介紹了SqlDataSource控件,它設(shè)計(jì)用于從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)。SqlDataSource控件需要兩項(xiàng)信息才能從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù):如何連接到數(shù)據(jù)可的信息和要執(zhí)行的SQL查詢(xún)。SqlDataSource控件包含一個(gè)向?qū)В褂孟驅(qū)Э梢院苋菀椎闹付ㄟ@些信息。SqlDataSource控件的向?qū)ё罱K生成一個(gè)SQLSELECT語(yǔ)句,指定從底層數(shù)據(jù)庫(kù)中檢索哪些數(shù)據(jù)。這個(gè)查詢(xún)使用結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)編寫(xiě),它是所有現(xiàn)代數(shù)據(jù)庫(kù)系統(tǒng)用于檢索、插入、更新和刪除數(shù)據(jù)的語(yǔ)言。本章介紹的數(shù)據(jù)控件是GridView控件和DetailsView控件。數(shù)據(jù)源控件唯一的用途是從數(shù)據(jù)源檢索數(shù)據(jù),而數(shù)據(jù)控件唯一的用途就是顯示數(shù)據(jù)。因而,數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年在線銷(xiāo)售合作合同書(shū)范本
- 長(zhǎng)期金融咨詢(xún)服務(wù)合同模板
- 店面接盤(pán)協(xié)議書(shū)格式
- 長(zhǎng)期供貨協(xié)議樣本
- 工業(yè)產(chǎn)品購(gòu)銷(xiāo)合同模板
- 勞動(dòng)關(guān)系解除協(xié)議
- 個(gè)人參與創(chuàng)業(yè)團(tuán)隊(duì)入股協(xié)議
- 建筑工程清包工作合同參考
- 2023年高考地理第三次模擬考試卷(江蘇B卷)(解析版)
- 貨物分期付款購(gòu)買(mǎi)協(xié)議樣本
- 城市綠地系統(tǒng)規(guī)劃 第9章 工業(yè)綠地規(guī)劃
- 遼寧省遼南協(xié)作校2022-2023學(xué)年高二上學(xué)期期末考試語(yǔ)文答案 Word版含解析
- 中職英語(yǔ)統(tǒng)考復(fù)習(xí)講課教案
- 決策心理學(xué)第一講課件
- 高中化學(xué)趣味化學(xué)知識(shí)競(jìng)賽課件
- 寫(xiě)作指導(dǎo):順敘倒敘插敘課件
- 計(jì)算思維與程序設(shè)計(jì)課件
- 殘疾兒童送教上門(mén)教案10篇
- 【核心素養(yǎng)目標(biāo)】浙教版五上《勞動(dòng)》項(xiàng)目二 任務(wù)二《制作七巧板》教學(xué)設(shè)計(jì)
- 云南省保山市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 沃爾瑪山姆會(huì)員店管理層結(jié)構(gòu)
評(píng)論
0/150
提交評(píng)論