ASPNET(C#)網(wǎng)站開發(fā)完整版教學(xué)課件全書電子講義_第1頁
ASPNET(C#)網(wǎng)站開發(fā)完整版教學(xué)課件全書電子講義_第2頁
ASPNET(C#)網(wǎng)站開發(fā)完整版教學(xué)課件全書電子講義_第3頁
ASPNET(C#)網(wǎng)站開發(fā)完整版教學(xué)課件全書電子講義_第4頁
ASPNET(C#)網(wǎng)站開發(fā)完整版教學(xué)課件全書電子講義_第5頁
已閱讀5頁,還剩332頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

高職高專院?!笆濉本肥痉断盗薪滩模ㄜ浖夹g(shù)專業(yè)群)ASP.NET(C#)網(wǎng)站開發(fā)

第1章ASP.NET開發(fā)環(huán)境學(xué)習(xí)目標

通過本章知識的學(xué)習(xí),讀者首先對Web基礎(chǔ)知識有些初步了解;在此基礎(chǔ)上,學(xué)習(xí)、掌握ASP.NET開發(fā)環(huán)境的安裝、配置、測試方法,并利用VisualStudio2008開發(fā)環(huán)境創(chuàng)建一個動態(tài)網(wǎng)站。通過本章內(nèi)容的學(xué)習(xí),讀者可以達到以下學(xué)習(xí)目的:了解Web系統(tǒng)三層結(jié)構(gòu)的含義。掌握IIS、Framework和VisualStudio的安裝方法。掌握ASP.NET網(wǎng)站開發(fā)環(huán)境的配置方法。了解ASP.NET網(wǎng)站頁面處理過程。1.1情景分析

通過本章內(nèi)容的學(xué)習(xí),讀者可以掌握ASP.NET網(wǎng)站環(huán)境設(shè)置的相關(guān)知識,并能夠成功創(chuàng)建動態(tài)顯示用戶姓名的ASP.NET網(wǎng)站,效果如圖1-1所示。1.2Web基礎(chǔ)知識1、C/S結(jié)構(gòu)和B/S結(jié)構(gòu)C/S(Client/Server)結(jié)構(gòu)即客戶機和服務(wù)器結(jié)構(gòu),B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。C/S結(jié)構(gòu)是建立在局域網(wǎng)的基礎(chǔ)上的,而B/S結(jié)構(gòu)則主要是建立于廣域網(wǎng)的基礎(chǔ)上的。以目前的網(wǎng)絡(luò)發(fā)展和開發(fā)技術(shù)來看,采用B/S結(jié)構(gòu)通過Internet/Intranet模式進行數(shù)據(jù)庫訪問的網(wǎng)絡(luò)應(yīng)用,能夠?qū)崿F(xiàn)不同接入方式(比如LAN、WAN、Internet/Intranet等)訪問和操作,在系統(tǒng)開發(fā)難易程度、數(shù)據(jù)庫安全,以及系統(tǒng)后期維護等多個方面具有明顯優(yōu)勢。2Web系統(tǒng)三層架構(gòu)Web系統(tǒng)的三層架構(gòu)是將系統(tǒng)的整個業(yè)務(wù)應(yīng)用劃分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,如圖1-2所示。層與層之間相互獨立,任何一層的改變不影響其它層的功能。圖1-2Web系統(tǒng)三層架構(gòu)示意圖3ASP.NET工作原理

傳統(tǒng)ASP應(yīng)用程序的工作原理,如圖1-3所示??蛻舳送ㄟ^瀏覽器向Web服務(wù)器提出訪問請求,Web服務(wù)器向數(shù)據(jù)庫服務(wù)器發(fā)出操作請求,數(shù)據(jù)庫服務(wù)器對數(shù)據(jù)進行相應(yīng)處理,把數(shù)據(jù)返回到Web服務(wù)器,Web服務(wù)器將最終結(jié)果返回給客戶端。ASP.NET同樣采用上述工作方式,不同的是ASP.NET程序在被訪問時要先編譯成MSIL(MicrosoftIntermediateLanguage)語言,然后,MSIL再被編譯成機器碼執(zhí)行。MSIL包含裝載、初始化、調(diào)用對象的方法等指令及操作,與機器碼十分接近,具有很快的執(zhí)行速度。

使用MSIL有以下幾個方面的好處。通過JIT(JustInTime)編譯器將MSIL編譯成機器碼,因為不同的計算機系統(tǒng)支持不同的JIT編譯器。因此,將相同的MSIL通過不同的JIT編譯器編譯后便能實現(xiàn)MSIL的跨平臺運行。采用MSIL實現(xiàn)了.NET框架對多種程序語言的支持,因為任何可編譯成MSIL的程序語言都可以被.NET應(yīng)用程序所使用。ASP.NET程序在第一次被訪問時,程序先被編譯成MSIL再被調(diào)用執(zhí)行,相對于ASP程序該處理時間變長了。然而,當該程序被第二次調(diào)用時,直接將MSIL編譯后執(zhí)行,執(zhí)行速度很快。這樣以來,總體的執(zhí)行效率就得到了提高。1.3ASP.NET開發(fā)環(huán)境配置1ASP.NET的運行環(huán)境1.軟件環(huán)境操作系統(tǒng):Windows2000Professional/Server、WindowsXPProfessional、win7家庭高級版,或者其它Windows高級版本??紤]到多方面的條件限制,本書采用WindowsXPProfessional操作系統(tǒng)。服務(wù)器軟件:InternetInformationServices(簡稱IIS)5.0,.NETFrameWork2.0,MicrosoftDataAccessComponents(簡稱MDAC),或者以上軟件的高級版本。本書采用IIS5.0,.NETFrameWork3.5和MDAC2.8版本。客戶端軟件:InternetExplorer(簡稱IE)6.0或者以上版本均可。本書采用IE8.0版本。2.硬件環(huán)境CPU:CPU要求IntelPentiumIII-class600MHz以上。內(nèi)存:內(nèi)存要求在256MB以上。磁盤:磁盤空間4GB以上。

上述硬件環(huán)境為ASP.NET正常運行的最低要求,為了提高開發(fā)效率,建議讀者采用高性能CPU和較大容量內(nèi)存的計算機。2安裝IIS服務(wù)

一般情況下,服務(wù)器版的Windows操作系統(tǒng)中,IIS會作為系統(tǒng)組件預(yù)裝在電腦里,而非服務(wù)器版的Windows需要讀者自行安裝。IIS的安裝其實很簡單,大約需要幾分鐘時間即可完成。下面以WindowsXP為例介紹IIS5.0的安裝步驟。(1)將WindowsXP系統(tǒng)光盤放入光盤驅(qū)動器。(2)選擇“開始”→“設(shè)置”→“控制面板”命令,在“控制面板”窗口中雙擊“添加或刪除程序”圖標,打開“添加或刪除程序”窗口,如圖1-4所示。2安裝IIS服務(wù)(3)單擊“添加或刪除程序”窗口左側(cè)的“添加/刪除Windows組件”按鈕,彈出“Windows組件向?qū)А睂υ捒?。選中“Internet信息服務(wù)(IIS)”復(fù)選框,如圖1-5所示。2安裝IIS服務(wù)(4)單擊“詳細信息”按鈕,查看IIS詳細信息,如圖1-6所示。2安裝IIS服務(wù)(5)連續(xù)單擊兩次“確定”按鈕,即可完成IIS的安裝,如圖1-7所示。3安裝.NETFramework.NETFramework是.NET平臺的核心,它主要由兩部分組成:公共語言運行庫(CommonLanguageRuntime,CLR)和.NETFramework類庫(FrameworkClassLibrary,F(xiàn)CL)。.NETFramework的組成如圖1-8所示。IIS服務(wù)安裝完成后,為了支持ASP.NET程序,還必須安裝.NETFramework,用戶可到Microsoft網(wǎng)站下載。用戶如果安裝了VisualStudio2008,則會自動安裝.NETFramework3.5。由于.NETFramework的安裝簡單,在此不再累贅。需要提醒用戶的是,安裝.NETFramework之前,應(yīng)首先安裝IIS。4測試ASP.NET環(huán)境【例1-1】使用記事本創(chuàng)建第一個ASP.NET程序(Ex01.aspx)。<%@PageLanguage="C#"%><%Response.Write("這是一個ASP.NET環(huán)境測試程序。");%>5安裝VisualStudioVS2008安裝為例介紹VS的安裝方法。

(1)安裝完IIS服務(wù)和.NETFramework之后,就可以開始安裝VisualStudio了。雙擊安裝光盤中的Setup.exe文件,安裝程序首先對操作系統(tǒng)的配置進行檢測,通過檢測就會出現(xiàn)如圖1-10所示窗口。(2)單擊“安裝VisualStudio2008”鏈接,打開VS2008安裝程序起始頁。選擇“我已閱讀并接受許可條款(A)”選項,輸入產(chǎn)品密鑰和名稱,如圖1-11所示。(3)單擊“下一步”按鈕,打開VS2008安裝程序功能選擇頁面,在“選擇要安裝的功能(S)”選擇“自定義”項,如圖1-12所示。(4)單擊“下一步”按鈕,打開VS2008安裝程序功能選項頁,讀者可根據(jù)需要選擇相應(yīng)功能。本書根據(jù)教學(xué)內(nèi)容要求選擇了“VisualC#”、“VisualWebDeveloper”語言工具和其它幾個選項,如圖1-13所示。(5)單擊“安裝”按鈕,VS2008就開始進行安裝,如圖1-14所示。幾分鐘過后,系統(tǒng)會提示軟件安裝成功,如圖1-15所示。(6)單擊“完成(F)”按鈕,完成VS2008開發(fā)環(huán)境的安裝。1.4初識VisualStudio20081.“工具箱”窗口

在VS2008開發(fā)環(huán)境中,工具箱窗口主要包含了分類顯示的各種控件列表。在設(shè)計Web窗體界面時,可以直接通過拖放(或雙擊)工具箱中的控件來實現(xiàn)控件添加。2.“解決方案資源管理器”窗口

在VS2008中,屬于同一應(yīng)用程序的一組稱為解決方案?!敖鉀Q方案資源管理器”窗口顯示了每個項目的樹狀列表,包括各個項目的引用和組件。該窗口頂部有一系列按鈕,這些按鈕根據(jù)所選項目不同而顯示不同。3.“屬性”窗口

在設(shè)計Web窗體應(yīng)用程序界面時,讀者可以直接通過“屬性”窗口來設(shè)置所選控件的屬性,省去了編寫代碼的煩瑣,提高了系統(tǒng)開發(fā)效率。2創(chuàng)建ASP.NET網(wǎng)站【例1-2】創(chuàng)建一個基于VisualC#語言的ASP.NET網(wǎng)站,保存到D:\try目錄下。(1)選擇“開始”→“程序”→“MicrosoftVisualStudio2008”→“MicrosoftVisualStudio2008”命令啟動VS2008應(yīng)用程序,打開VS起始頁,如圖1-17所示。(2)單擊“最近的項目”中“創(chuàng)建:網(wǎng)站…”鏈接,或者選擇“文件”→“新建網(wǎng)站(W)…”命令,彈出“新建網(wǎng)站”窗口。在“模板(T)”項中選擇“ASP.NET網(wǎng)站”,“位置(L)”選擇“文件系統(tǒng)”項,“語言(G)”選擇“VisualC#”項,并修改網(wǎng)站保存位置為D:\try目錄,如圖1-18所示。(3)單擊“確定”按鈕,完成ASP.NET網(wǎng)站的創(chuàng)建。同時,系統(tǒng)會自動生成并打開Default.aspx網(wǎng)頁文件,如圖1-19所示。3創(chuàng)建Web頁面

【例1-3】在try網(wǎng)站中創(chuàng)建Default頁面,實現(xiàn)在文本框中輸入用戶姓名,單擊“查看效果”按鈕后,用戶姓名動態(tài)地添加到歡迎語句(Default.aspx)。(1)點擊頁面主窗體中的“設(shè)計”視圖切換按鈕,把圖1-19的“源”視圖方式切換到設(shè)計視圖,如圖1-20所示。(2)從工具箱的“標準”類中拖動Label控件到頁面,或者雙擊Label控件,將其屬性窗口的控件“(ID)”屬性改為“l(fā)blname”,Text屬性值刪除;在Label控件后面輸入“同學(xué),歡迎你開始學(xué)習(xí)ASP.NET網(wǎng)站開發(fā)!”,如圖1-21所示。(3)按回車鍵換行,輸入“請輸入你的姓名:”。再按步驟(2)的方法分別添加一個TextBox和Button控件,設(shè)置TextBox控件的ID屬性為txtname,Button控件的Text屬性為“查看效果”,如圖1-22所示。(4)雙擊“查看效果”按鈕,打開代碼文件Default.aspx.cs編輯窗口,將光標定位在Button1_Click事件內(nèi),輸入下面代碼,如圖1-23所示。(5)保存文件,選擇“調(diào)試”→“啟動調(diào)試(S)”命令,或者按F5鍵運行Web應(yīng)用程序調(diào)試。這時系統(tǒng)會提示添加網(wǎng)站W(wǎng)eb.config配置文件,如圖1-24所示。(6)選擇“修改Web.config文件以啟用調(diào)試”項,單擊“確定”按鈕,打開IE瀏覽器窗口,運行結(jié)果。該案例中的頁面共有兩個文件組成,即Default.aspx頁面文件和Default.aspx.cs事件代碼文件。Default.aspx中的主要內(nèi)容(源代碼)如下:<asp:LabelID="lblname"runat="server"></asp:Label>同學(xué),歡迎你開始學(xué)習(xí)ASP.NET網(wǎng)站開發(fā)!<br/>請輸入你的姓名:<asp:TextBoxID="txtname"runat="server"></asp:TextBox><asp:ButtonID="Button1"runat="server"onclick="Button1_Click"Text="查看效果"/>Default.aspx.cs文件中的主要內(nèi)容(事件代碼)如下:publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){lblname.Text=txtname.Text;}}第2章常用標準控件學(xué)習(xí)目標

通過本章知識的學(xué)習(xí),讀者首先對服務(wù)器控件有些初步了解;掌握TextBox、Label、Button、DropDownList等常用控件的使用方法,以及利用表格進行網(wǎng)頁頁面布局的方法技巧。并利用本章知識設(shè)計和實現(xiàn)用戶注冊頁面。通過本章內(nèi)容的學(xué)習(xí),讀者可以達到以下學(xué)習(xí)目的:了解服務(wù)器控件基礎(chǔ)知識。掌握文本控件(Label控件、TextBox控件)的使用方法。掌握選擇控件(RadioButtonList控件、CheckBoxList控件、DropDownList控件等)的使用方法。掌握按鈕控件(Button控件、LinksButton控件、ImageButton控件等)的使用方法。掌握利用表格進行頁面布局的方法。掌握網(wǎng)頁設(shè)計中容器控件的使用方法。2.1情景分析

本章的會員注冊僅完成會員注冊信息填寫(如圖2-1所示)和信息顯示功能(如圖2-2所示)。2.2服務(wù)器控件概述ASP.NET服務(wù)器控件是運行在服務(wù)器端并且封裝了用戶界面和其它功能的組件??丶暮x表明它不僅是具有呈現(xiàn)外觀作用的元素,而且是一種對象,一種定義Web應(yīng)用程序用戶界面的組件。1.服務(wù)器控件的屬性和事件

服務(wù)器控件的屬性是指控件中具有的與用戶界面特征相關(guān)的字段或與運行狀態(tài)有關(guān)的字段。大部分服務(wù)器控件的屬性可分為五類:布局、數(shù)據(jù)、外觀、行為和雜項。

事件是指程序得以運行的觸發(fā)器(如Button控件的Click事件等),當用戶與Web頁面進行交互時被觸發(fā),并通過執(zhí)行事件程序做出相應(yīng)的響應(yīng)。2.服務(wù)器控件的特點公共對象模型。服務(wù)器控件是基于公共對象模型的,因此它們可以相互共享大量屬性,這是軟件復(fù)用思想的體現(xiàn)。保存視圖狀態(tài)。傳統(tǒng)的HTML元素是無視圖狀態(tài)的。而當頁面在服務(wù)器端和客戶端之間來回傳送時,服務(wù)器控件會自動保存視圖狀態(tài)。數(shù)據(jù)綁定模型。ASP.NET服務(wù)器控件為使用多種數(shù)據(jù)源提供了方便,可以快速實現(xiàn)數(shù)據(jù)綁定和訪問,大大簡化了動態(tài)網(wǎng)頁的創(chuàng)建過程。用戶定制。服務(wù)器控件為網(wǎng)頁開發(fā)者提供了多種機制來定制自己的頁面。配置文件。服務(wù)器控件在Web應(yīng)用程序級別上可通過web.config文件對程序進行配置。創(chuàng)建瀏覽器特定的HTML。當瀏覽器申請某個頁面時,服務(wù)器控件會確定瀏覽器的類型,然后生成適合該瀏覽器顯示的HTML代碼。2.3常用服務(wù)器控件1.Label控件Label控件用于在頁面上顯示文本信息,它不但支持靜態(tài)文本顯示,而且還支持用戶以編程方式動態(tài)顯示文本。Label控件常用的屬性有ID、Text和Font屬性等。其中,ID表示控件標識,Text表示控件顯示的文本內(nèi)容,F(xiàn)ont屬性表示字體格式設(shè)置,如大小、顏色等?!纠?-1】利用Label控件動態(tài)顯示改變文本內(nèi)容與顯示格式(Ex2-1.aspx)。protectedvoidButton1_Click(objectsender,EventArgse){lblmes.Text=DateTime.Now.ToString();lblmes.ForeColor=System.Drawing.Color.Red;lblmes.Font.Bold=true;}2.TextBox控件TextBox控件又稱文本框控件,是用于輸入任何類型的文本、數(shù)字或其它字符的文本區(qū)域。同時,TextBox控件也可以設(shè)置為只讀控件,用于文本顯示。屬

性說

明ID控件唯一標識Text控件要顯示的文本TextMode控件的輸入模式,有SingleLine(單行)、MultiLine(多行)和Password(密碼)三種,默認為SingleLineWidth控件的寬度MaxLength控件可接收的最大字符數(shù)AutoPostBack控件內(nèi)容修改后,是否自動回發(fā)到服務(wù)器。常和控件的TextChanged事件配合使用Visible控件是否可見Enabled控件是否可用Rows控件中文本顯示的行數(shù),該屬性在TextMode為MultiLine時有效【例2-2】利用TextBox控件制作用戶登錄頁面,如圖2-7所示。用戶名最大支持3個字符,光標移出姓名文本框時屏幕上出現(xiàn)動態(tài)提示文字;密碼輸入時以黑點顯示(Ex2-2.aspx)。protectedvoidtxtname_TextChanged(objectsender,EventArgse){Response.Write("你的姓名是:"+txtname.Text);}2選擇控件RadioButton控件RadioButton控件是單選按鈕控件,當用戶選擇某個單選按鈕時,同組中的其它選項不能被同時選中。屬

性說

明ID控件唯一標識Text控件關(guān)聯(lián)的文本標簽GroupName控件所屬的控件組名Checked控件是否被選中AutoPostBack單擊控件時是否自動回發(fā)到服務(wù)器Enabled判斷控件是否可用【例2-3】利用RadioButton控件實現(xiàn)考試系統(tǒng)中單選題的操作,如圖2-8所示。用戶不選擇答案單擊“提交”按鈕時,頁面彈出“請選擇答案!”提示;當用戶選擇正確答案B時,頁面提示“恭喜你,回答正確!”;否則提示“對不起,正確答案是B!”(Ex2-3.aspx)。protectedvoidButton1_Click(objectsender,EventArgse){//如果沒有選擇答案if(R1.Checked==false&&R2.Checked==false&&R3.Checked==false)Response.Write("<script>alert('請選擇答案!')</script>");else{//判斷所選答案是否正確if(R2.Checked==true)Response.Write("<script>alert('恭喜你,回答正確!')</script>");elseResponse.Write("<script>alert('對不起,正確答案是B!')</script>");}}2.RadioButtonList控件RadioButtonList控件有效地解決了每個RadioButton控件在RadioButton組中是相互獨立的問題,為讀者提供了一組RadioButton,大大方便了用戶操作。屬

性說

明ID控件唯一標識AutoPostBack單擊控件時是否自動回發(fā)到服務(wù)器,響應(yīng)OnSelectedIndexChanged事件CellPading各項目之間的距離,單位是像素Items返回RadioButtonList控件中的ListItem的對象RepeatDirection選擇項目的排列方向,默認為VerticalRepeatColumns設(shè)置一行旋轉(zhuǎn)選擇項目的個數(shù),默認為0(表示忽略該項)SelectedItem返回被選擇的ListItem對象TextAlign設(shè)置各項目所顯示文字在按鈕左邊還是右邊,默認Right【例2-4】利用RadioButtonList控件AutoPostBack屬性和OnSelectedIndexChanged事件實現(xiàn)性別單選和提示文字即時更新,如圖2-9所示。如用戶選擇“男”,頁面下面的文字立即改變?yōu)椤澳氵x擇的是:男;對應(yīng)的值為:1”(Ex2-4.aspx)。protectedvoidrblsex_SelectedIndexChanged(objectsender,EventArgse){lbl1.Text=rblsex.SelectedItem.Text;lbl2.Text=rblsex.SelectedItem.Value;}3.CheckBox控件CheckBox控件用來表示是否選取了某個選項,常用于具有是/否、真/假選項的選取。CheckBox控件和RadioButton控件的區(qū)別在于前者允許多選。由于CheckBox控件和RadioButton控件的常用屬性大體相同?!纠?-5】利用CheckBox控件實現(xiàn)考試系統(tǒng)中不定項選擇題的操作,如圖2-10所示。當用戶選擇ABC三個答案時,提示“回答正確”;否則提示“錯誤,正確答案為ABC”(Ex2-5.aspx)。protectedvoidButton1_Click(objectsender,EventArgse){if(!ckb1.Checked&&!ckb2.Checked&&!ckb3.Checked&&!ckb4.Checked)Response.Write("<script>alert('請選擇答案!')</script>");else{if(ckb1.Checked&&ckb2.Checked&&ckb3.Checked)Response.Write("<script>alert('回答正確')</script>");elseResponse.Write("<script>alert('錯誤,正確答案為ABC')</script>");}}CheckBoxList控件

用CheckBox控件可以實現(xiàn)多選功能,但在判斷被選中的選項時需要對每一個對象都進行判斷。CheckBoxList控件和RadioButtonList控件類似,可以方便地判斷用戶選中的選項?!纠?-6】利用CheckBoxList控件實現(xiàn)用戶個人愛好選擇功能頁面,如圖2-11所示。根據(jù)用戶所選擇的愛好不同,頁面下方出現(xiàn)的選擇結(jié)果動態(tài)變化(Ex2-6.aspx)。protectedvoidButton1_Click(objectsender,EventArgse){stringresult="你選擇的是:";for(inti=0;i<ckl1.Items.Count;i++){if(ckl1.Items[i].Selected)result+=ckl1.Items[i].Text+" ";}lblmes.Text=result;}DropDownList控件DropDownList控件是一個下拉式列表控件,功能和RadioButtonList控件類似,用戶可【例2-7】利用DropDownList控件實現(xiàn)用戶出生地選擇功能,如圖2-12所示。根據(jù)用戶所選擇的出生地不同,點擊“提交”按鈕后提示不同的信息(Ex2-7.aspx)。以從下拉列表中選擇單一選項。protectedvoidButton1_Click(objectsender,EventArgse){lblmes.Text+=ddlbir.SelectedItem.Text;}Calendar控件Calendar控件是日歷控件,用于選擇日期??梢越Y(jié)合TextBox控件一起使用,實現(xiàn)日期輸入,從而規(guī)范并簡化的日期格式輸入。【例2-8】利用Calendar控件實現(xiàn)用戶入團日期輸入功能,如圖2-13所示。用戶通過選擇Calendar控件的日期,使其自動出現(xiàn)TextBox控件文本框中(Ex2-8.aspx)。protectedvoidCalendar1_SelectionChanged(objectsender,EventArgse){txtdate.Text=Calendar1.SelectedDate.ToShortDateString();}3按鈕控件Button控件Button控件是讀者使用頻率最高的控件之一,用戶通過單擊Button來執(zhí)行該控件的Click事件。Button控件的常用屬性有Id、Text、PostBackUrl,以及onclick事件。其中,PostBackUrl屬性用于設(shè)置單擊控件所發(fā)送的URL地址?!纠?-9】利用Button控件控制Calendar控件的顯示,效果如圖2-14所示。單擊“顯示日歷”按鈕,出現(xiàn)日歷;用戶選擇日期后,日期出現(xiàn)在文本框中,日歷窗口關(guān)閉(Ex2-9.aspx)。protectedvoidCalendar1_SelectionChanged(objectsender,EventArgse){txtdate.Text=Calendar1.SelectedDate.ToShortDateString();Calendar1.Visible=false;}protectedvoidButton1_Click(objectsender,EventArgse){Calendar1.Visible=true;}LinkButton控件LinkButton控件又稱超鏈接按鈕控件,該控件在功能上與Button控件相同,但樣式以超鏈接形式顯示。LinkButton控件有一個PostBackUrl屬性,該屬性用于設(shè)置單擊控件時鏈接到的網(wǎng)址。【例2-10】利用LinkButton控件PostBackUrl屬性實現(xiàn)超鏈接功能,如圖2-15所示。用戶單擊“打開Ex2-9”文本,頁面將轉(zhuǎn)向Ex2-9.aspx頁面(Ex2-10.aspx)。<formid="form1"runat="server"><div>

超鏈接頁面<asp:LinkButtonID="LinkButton1"runat="server"PostBackUrl="~/Ex2-9.aspx">打開Ex2-9</asp:LinkButton></div></form>ImageButton控件ImageButton控件是圖片按鈕控件,用戶單擊控件上的圖片引發(fā)控件的Click事件。ImageButton控件有一個ImageUrl屬性,該屬性用于設(shè)置按鈕上顯示的圖片位置?!纠?-11】利用ImageButton控件達到美化按鈕的效果,如圖2-16所示(Ex2-11.aspx)。<div>

你的入團時間是:<asp:TextBoxID="txtdate"runat="server"Enabled="False"/><asp:ImageButtonID="ImageButton1"runat="server"ImageUrl="~/images/date.GIF"onclick="ImageButton1_Click"/><asp:CalendarID="Calendar1"runat="server"Visible="False"></asp:Calendar></div>protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){Calendar1.Visible=true;}FileUpload控件FileUpload控件是用于客戶端文件上傳到服務(wù)器的控件。該控件顯示1個文本框和1個瀏覽按鈕,用戶可以通過“瀏覽”按鈕選擇文件。FileUpload控件有一個SaveAs方法,用于將上傳的文件保存到服務(wù)器。屬

性說

明ID控件唯一標識FileContent獲取指定上傳文件的Stream對象(Stream數(shù)據(jù)類型)FileName獲取上傳文件在客戶端的文件名稱HasFile獲取一個布爾值,用于表示控件是否已經(jīng)包含一個文件PostedFile獲取一個與上傳文件相關(guān)的HttpPostedFile對象,使用該對象可以獲取上傳文件的相關(guān)屬性【例2-12】利用FileUpload控件實現(xiàn)文件上傳操作,如圖2-17所示。用戶單擊頁面“瀏覽…”按鈕,選擇要上傳的文件,單擊“上傳”按鈕,文件將上傳到服務(wù)器網(wǎng)站的根目錄下(Ex2-12.aspx)。<div>

請選擇上傳的文件:<asp:FileUploadID="fulfile"runat="server"/><br/><asp:ButtonID="Button1"runat="server"onclick="Button1_Click"Text="上傳"/><asp:LabelID="lblmes"runat="server"Text=""></asp:Label></div>protectedvoidButton1_Click(objectsender,EventArgse){if(fulfile.HasFile){stringstrname=fulfile.FileName;fulfile.SaveAs(Server.MapPath(strname));lblmes.Text+="文件:"+strname+"已上傳到了根目錄!";}else{Response.Write("請選擇上傳文件!");}}4表格控件

網(wǎng)站開發(fā)過程中,表格是頁面布局的一種重要手段。使用Table表格、tr表格行和td表格單元格進行頁面布局,操作簡單、快捷,大大提高了開發(fā)效率。屬

性說

明Boder表格邊框?qū)挾菴ellPadding單元格邊框與內(nèi)容的間距CellSpacing單元格間距Align表格、單元格水平方向?qū)R方式,有Left、Right和Center等3種Valign單元格豎直方向?qū)R方式,有baseline、bottom、middle和top等4種Style表格、單元格樣式【例2-13】利用表格控件實現(xiàn)系統(tǒng)登錄頁面布局設(shè)計,如圖2-18所示(Ex2-13.aspx)。2.4會員注冊頁面設(shè)計

會員注冊頁面是網(wǎng)站開發(fā)過程中經(jīng)常用到的,本節(jié)將利用本章所學(xué)知識進行會員注冊頁面設(shè)計,最終效果如圖2-1和2-2所示。(1)新建Addmember.aspx,在頁面添加Panel控件,設(shè)置ID為Panel1。在Panel1控件內(nèi)添加一個9行2列的Table控件。(2)將Table左邊單元格td的align屬性全部設(shè)置為right(即右對齊),右邊單元格設(shè)置為left(即左對齊)。將第一行的2個單元格合并,輸入“會員注冊”,并設(shè)置單元格格式。(3)左邊單元格自上向下依次輸入“用戶名:”、“密碼:”、“確認密碼:”、“性別:”、“出生日期:”、“最高學(xué)歷:”、“個人愛好:”。(4)右邊單元格自上向下依次添加相應(yīng)的服務(wù)器控件,并設(shè)置其屬性如表2-6所示左側(cè)內(nèi)容控件ID控件類型說

明用戶名txtnameTextBox設(shè)置Width屬性為82px密碼txtpwdTextBox設(shè)置TextMode屬性為Password確認密碼txtpwd2TextBox設(shè)置TextMode屬性為Password性別rbtlsexRadioButtonList設(shè)置RepeatDirection屬性為Horizontal,ListItem為“男”、“女”出生日期TxtdateTextBox設(shè)置Enabled屬性為"False",Width屬性為83pxIbtndateImageButton設(shè)置ImageUrl="~/images/圖標.JPG",onclick="ibtndate_Click"clddateCalendar設(shè)置onselectionchanged="clddate_SelectionChanged",Visible="False"最高學(xué)歷ddlschoolDropDownList設(shè)置ListItem為研究生、大學(xué)生、中學(xué)生、小學(xué)生個人愛好chbloveCheckBoxList設(shè)置RepeatDirection="Horizontal",RepeatColumns="3"(5)將表格最下面一行2個單元格合并,添加2個ImageButton控件來表示“提交”和“取消”。(6)按照上面的操作方法,在Table后面再添加一個Panel控件Panel2。在Panel2內(nèi)添加8行2列的Table控件,表格第一個單元格和左邊1列內(nèi)容與上面表格內(nèi)容相同;右邊列單元格里,依次添加Label服務(wù)器控件,ID屬性依次為lblname、lblpwd、lblsex、lbldate、lblschool、lbllove等。(7)最下面一行2個單元格合并,添加一個Button控件,設(shè)置onclick="Button1_Click"和Text="關(guān)閉窗口"。(8)添加page_load和其它Button按鈕單擊事件,詳見后臺代碼。protectedvoidPage_Load(objectsender,EventArgse){Panel2.Visible=false;Panel1.Visible=true;txtpwd.Attributes["value"]=txtpwd.Text;txtpwd2.Attributes["value"]=txtpwd2.Text;}protectedvoidibtndate_Click(objectsender,ImageClickEventArgse){clddate.Visible=true;}protectedvoidclddate_SelectionChanged(objectsender,EventArgse){txtdate.Text=clddate.SelectedDate.ToShortDateString();clddate.Visible=false;}protectedvoidbtnOk_Click(objectsender,ImageClickEventArgse){Panel1.Visible=false;Panel2.Visible=true;lbldate.Text=txtdate.Text;lbllove.Text="";for(inti=0;i<chblove.Items.Count;i++){if(chblove.Items[i].Selected)lbllove.Text+=""+chblove.Items[i].Text;}lblname.Text=txtname.Text;lblpwd.Text=txtpwd.Text;lblschool.Text=ddlschool.SelectedItem.Text;lblsex.Text=rbtlsex.SelectedValue;

}protectedvoidbtnclose_Click(objectsender,EventArgse){Response.Write("<script>window.close();</script>");}protectedvoidbtnOk_Click1(objectsender,ImageClickEventArgse){Panel1.Visible=false;Panel2.Visible=true;lbldate.Text=txtdate.Text;lbllove.Text="";for(inti=0;i<chblove.Items.Count;i++){if(chblove.Items[i].Selected)lbllove.Text+=""+chblove.Items[i].Text;}lblname.Text=txtname.Text;lblpwd.Text=txtpwd.Text;lblschool.Text=ddlschool.SelectedItem.Text;lblsex.Text=rbtlsex.SelectedValue;}protectedvoidIbtncancel_Click(objectsender,ImageClickEventArgse){Response.Redirect("addmember.aspx");}第3章數(shù)據(jù)驗證控件學(xué)習(xí)目標

通過本章知識的學(xué)習(xí),讀者在充分理解驗證控件作用的前提下,掌握RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator等頁面驗證控件的使用方法。了解驗證控件的作用。掌握RequiredFieldValidator驗證控件的使用方法。掌握CompareValidator驗證控件的使用方法。掌握RangeValidator驗證控件的使用方法。掌握RegularExpressionValidator驗證控件的使用方法。掌握CustomValidator驗證控件的使用方法。掌握ValidationSummary驗證控件的使用方法。3.1情景分析

通過第二章內(nèi)容的學(xué)習(xí),我們已經(jīng)能夠?qū)崿F(xiàn)用戶注冊頁面的開發(fā)。但日常生活中,網(wǎng)站惡意注冊、用戶手誤等類似事件時有發(fā)生。為了保證網(wǎng)站得到數(shù)據(jù)的有效性,數(shù)據(jù)驗證是一項十分有效的手段。

數(shù)據(jù)驗證實際上是對用戶輸入數(shù)據(jù)的一種限制,從而確保用戶輸入的數(shù)據(jù)是正確的、滿足實際要求的。例如,“用戶名”必須輸入,“確認密碼”必須和“密碼”內(nèi)容必須一樣,電子郵箱的格式必須正確,用戶的郵編必須合法,年齡必須符合年齡范圍要求等等。3.2數(shù)據(jù)驗證控件ASP.NET簡化開發(fā)人員的工作,提供了多種數(shù)據(jù)驗證控件進行有效的數(shù)據(jù)驗證。如必須字段驗證控件RequiredFieldValidator、比較驗證控件CompareValidator、范圍驗證控件RangeValidator、正則表達式驗證控件RegularExpressionValidator、自定義驗證控件CustomValidator和驗證總結(jié)控件ValidationSummary等。

用戶可以利用驗證控件進行簡單操作,就可實現(xiàn)復(fù)雜的數(shù)據(jù)驗證,從而大大提高了開發(fā)效率。1RequiredFieldValidator控件RequiredFieldValidator控件稱為“必須字段檢驗控件”,用于控制指定控件對象必須輸入內(nèi)容,如限制輸入用戶號的文本框TextBox控件等。屬

性說

明ControlToValidate要驗證的控件對象IDText當驗證的控件無效時顯示的驗證程序文本ErrorMessage當驗證的控件無效時在ValidationSummary中顯示的消息,此屬性要結(jié)合ValidationSummary控件使用ValidationGroup驗證程序所屬的組SetFocusOnError當驗證的控件無效時是否自動將焦點設(shè)置到被驗證的控件上【例3-1】利用RequiredFieldValidator控件實現(xiàn)用戶登錄,但用戶沒有輸入用戶名,或者密碼點擊登錄按鈕時,相應(yīng)文本框右側(cè)出現(xiàn)錯誤提示,如圖3-2所示。當輸入用戶名、密碼登錄時,系統(tǒng)出現(xiàn)用戶輸入信息。(Ex3-1.aspx)<div>

用戶名:<asp:TextBoxID="txtname"runat="server"></asp:TextBox><asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"ControlToValidate="txtname"ValidationGroup="vgdl"ErrorMessage="結(jié)合使用"Text="請輸入用戶名"/></div>protectedvoidButton1_Click(objectsender,EventArgse){if(Page.IsValid)Response.Write("你填寫的用戶名是"+txtname.Text+",密碼是"+txtpwd.Text);}2CompareValidator控件CompareValidator控件稱為“比較驗證控件”,主要用于驗證用戶在TextBox控件輸入的內(nèi)容與其它控件內(nèi)容或者某個固定值的是否相同。屬

性說

明ControlToValidate要驗證的控件對象IDControlToCompare要進行比較的控件IDValueToCompare指定要比較的常數(shù)值Operator要執(zhí)行的比較運算類型,如大于、小于、等于等Type定義控件輸入值的類型Text當驗證的控件無效時顯示的驗證程序文本ValidationGroup驗證程序所屬的組ErrorMessage當驗證的控件無效時在ValidationSummary中顯示的消息,此屬性要結(jié)合ValidationSummary控件使用SetFocusOnError當驗證的控件無效時是否自動將焦點設(shè)置到被驗證的控件上【例3-2】利用CompareValidator控件實現(xiàn)用戶密碼驗證,但用戶輸入的兩次密碼不一致時,相應(yīng)文本框右側(cè)出現(xiàn)錯誤提示,如圖3-3所示。(Ex3-2.aspx)<div>

新密碼:<asp:TextBoxID="txtpwd1"runat="server"TextMode="Password"></asp:TextBox><br/>

再次輸入新密碼:<asp:TextBoxID="txtpwd2"runat="server"TextMode="Password"></asp:TextBox><asp:CompareValidatorID="CompareValidator1"runat="server"ControlToCompare="txtpwd1"ControlToValidate="txtpwd2"SetFocusOnError="True">兩次密碼不一致</asp:CompareValidator><br/><asp:ButtonID="Button1"runat="server"Text="驗證密碼"/></div>【例3-3】利用CompareValidator控件實現(xiàn)數(shù)據(jù)比較驗證,如圖3-4所示。其中,“年齡”應(yīng)輸入數(shù)字大于18,“畢業(yè)日期”應(yīng)易于“入學(xué)日期。(Ex3-3.aspx)年齡:<asp:TextBoxID="txtage"runat="server"></asp:TextBox><asp:CompareValidatorID="CompareValidator1"runat="server"ControlToValidate="txtage"Operator="GreaterThan"Type="Integer"ValueToCompare="18">應(yīng)大于18</asp:CompareValidator>入學(xué)日期:<asp:TextBoxID="txtrx"runat="server"></asp:TextBox>畢業(yè)日期:<asp:TextBoxID="txtby"runat="server"></asp:TextBox><asp:CompareValidatorID="CompareValidator2"runat="server"ControlToCompare="txtrx"ControlToValidate="txtby"Operator="GreaterThan"Type="Date">應(yīng)晚于入學(xué)日期</asp:CompareValidator><asp:ButtonID="Button1"runat="server"onclick="Button1_Click"Text="提交"/>3RangeValidator控件RangeValidator控件稱為“范圍驗證控件”,用于檢查控件內(nèi)輸入值是否介于最小值和最大值之間。RangeValidator控件常用屬性除了前面介紹過的ControlToValidate、Text、Type、ErrorMessage等屬性外,還有最小值MinimumValue和最大值MaximumValue用于限制驗證范圍?!纠?-4】利用RangeValidator控件實現(xiàn)成績錄入的成績范圍必須在0-100之間,如圖3-5所示。(Ex3-4.aspx)<div>

輸入成績:<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><asp:RangeValidatorID="RangeValidator1"runat="server"ControlToValidate="TextBox1"MaximumValue="100"MinimumValue="0"Type="Double">0-100之間</asp:RangeValidator><br/><asp:ButtonID="Button1"runat="server"Text="提交"/></div>4RegularExpressionValidator控件RegularExpressionValidator控件稱為“正則表達式驗證控件”,用于要求有特定格式的輸入。例如電子郵件、郵政編碼、身份證號等。同時,對于一些特定的格式要求,用戶也可以自行定義驗證表達式。RegularExpressionValidator控件常用屬性有ControlToValidate、ValidationExpression、Text等。其中,ValidationExpression屬性主要用來指定RegularExpressionValidator控件的正則表達式。正則表達式字符含

義\w匹配任何一個字符(a—z、A—Z和0—9)\d匹配任意一個數(shù)字(0—9)[……]匹配括號中的任意一個字符[^……]匹配不在括號中的任意一個字符{n}表示長度為n的有效字符串|匹配前面表達式或者后面表達式[0-n]或者[a-z]表示某個范圍內(nèi)的數(shù)字或字母\S與任何非單詞字符匹配\.匹配點字符【例3-5】利用RegularExpressionValidator控件驗證用戶信息填寫格式,效果如圖3-6所示。(Ex3-5.aspx)身份證號:<asp:TextBoxID="txtcard"runat="server"Width="164px"></asp:TextBox><asp:RegularExpressionValidatorID="RegularExpressionValidator1"runat="server"ControlToValidate="txtcard"ValidationExpression="\d{17}[\d|X]|\d{15}">身份證格式不對</asp:RegularExpressionValidator>Email:<asp:TextBoxID="txtmail"runat="server"Width="205px"></asp:TextBox><asp:RegularExpressionValidatorID="RegularExpressionValidator2"runat="server"ControlToValidate="txtmail"ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">郵箱格式不對</asp:RegularExpressionValidator>5CustomValidator控件CustomValidator控件稱為“自定義驗證控件”。當上述驗證控件無法滿足用戶要求時,可以使用CustomValidator控件定義用戶自己的驗證控件。CustomValidator控件常用屬性有ControlToValidate、ClientValidationFunction、Text和OnServerValidate等。其中,ClientValidationFunction屬性用于設(shè)置客戶端驗證函數(shù);而OnServerValidate屬性用于設(shè)置服務(wù)器端驗證函數(shù)?!纠?-6】利用CustomValidator控件進行服務(wù)器端驗證用戶名是否已被注冊。如果用戶名已被注冊(如admin),提示“用戶名已被注冊”,效果如圖3-7所示。(Ex3-6.aspx)<div>

用戶名:<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><asp:CustomValidatorID="CustomValidator1"runat="server"ControlToValidate="TextBox1"ErrorMessage="用戶名已被注冊!"onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator><br/><asp:ButtonID="Button1"runat="server"Text="檢測用戶名"/></div>protectedvoidCustomValidator1_ServerValidate(objectsource,ServerValidateEventArgsargs){if(args.Value=="admin"){args.IsValid=false;}else{args.IsValid=true;}}6ValidationSummary控件ValidationSummary控件稱為“驗證總結(jié)控件”,用于在頁面上以列表的形式集中顯示所有驗證控件的錯誤信息,即各驗證控件的ErrorMessage屬性值。ValidationSummary控件常用屬性有ValidationGroup、DisplayMode、ShowSummary和ShowMessageBox等。DisplayMode屬性用于指定錯誤信息的顯示格式,屬性值可為BulletList、List或者SingleParagraph,它們依次表示以項目符號列表形式、列表形式和段落形式顯示結(jié)果;ShowSummary屬性用于控制錯誤信息是否顯示在頁面上;ShowMessageBox屬性用于控制錯誤信息是否以彈出窗口形式出現(xiàn)。【例3-7】利用ValidationSummary控件進行錯誤信息匯總。要求必須填寫收貨人和移動電話信息,移動電話要求符合移動電話格式,且金額控制范圍為10-50。錯誤信息以彈出窗口形式顯示,效果如圖3-8所示。(Ex3-7.aspx)3.3會員注冊信息驗證(1)打開會員注冊頁面文件Addmember.aspx,在此基礎(chǔ)上進行完善。(2)在用戶名、密碼、確認密碼、出生日期對應(yīng)行的后面,依次添加必須字段檢驗控件rfvname、rfvpws、rfvpws2和rfvbir。(3)在確認密碼和出生日期對應(yīng)行后面,依次添加比較驗證控件cvpwd2和cvbir。(4)在頁面添加一個驗證總結(jié)控件vsall。并將所有驗證控件屬性按表3-4所示進行設(shè)置。(5)設(shè)置提交按鈕的ValidationGroup屬性為"memok",保存即可。左側(cè)內(nèi)容控件ID控件類型屬性設(shè)置用戶名rfvnameRequiredFieldValidatorControlToValidate="txtname“ErrorMessage="用戶名不能為空“SetFocusOnError="True“Text=”*”ValidationGroup="memok"密碼rfvpwsRequiredFieldValidatorControlToValidate="txtpwd“ErrorMessage="密碼不能為空“SetFocusOnError="True“Text=”*”ValidationGroup="memok"確認密碼rfvpws2RequiredFieldValidatorControlToValidate="txtpwd2“ErrorMessage="確認密碼不能為空“SetFocusOnError="True“Text=”*”ValidationGroup="memok"cvpwd2CompareValidatorControlToCompare="txtpwd“ControlToValidate="txtpwd2“ErrorMessage="兩次必須一致“SetFocusOnError="True“Text=”*”ValidationGroup="memok"出生日期rfvbirRequiredFieldValidatorControlToValidate="txtdate“ErrorMessage="出生日期不能為空“SetFocusOnError="True“Text=”*”ValidationGroup="memok"rvbirRangeValidatorControlToValidate="txtdate“ErrorMessage="出生日期為1988年—2008年之間“MaximumValue="2008-12-31“MinimumValue="1988-1-1“Type="Date“Text=”*”ValidationGroup="memok"

vsallValidationSummaryShowMessageBox="True“ShowSummary="False"ValidationGroup="memok"第4章ADO.NET數(shù)據(jù)訪問學(xué)習(xí)目標

通過本章知識的學(xué)習(xí),讀者在深入理解ADO.NET訪問數(shù)據(jù)庫信息的基礎(chǔ)上,掌握Connection、Command、DataReader、DataAdapter和DataSet等ADO.NET核心組件的使用方法。了解ADO.NET數(shù)據(jù)訪問技術(shù)。理解并掌握Connection、Command、DataAdapter和DataSet等ADO.NET核心組件的使用方法。掌握ADO.NET訪問Access和SQLServer數(shù)據(jù)庫的方法。掌握Web.config文件配置數(shù)據(jù)庫連接的方法。4.1情景分析

在企業(yè)網(wǎng)站的開發(fā)過程中,運用ADO.NET對后臺數(shù)據(jù)庫進行數(shù)據(jù)管理的操作十分普遍。本章將圍繞網(wǎng)站的會員注冊、會員信息查詢、會員信息修改,以及刪除會員信息等常見的數(shù)據(jù)管理進行介紹,通過會員信息瀏覽、會員注冊信息添加、會員修改密碼和會員管理等實例的具體操作,詳細講解ADO.NET常用對象和SQL標準化查詢命令的相關(guān)知識。

本章以后內(nèi)容要不斷使用到數(shù)據(jù)庫知識,為了方便描述,教材主要采用Access數(shù)據(jù)庫,并簡單介紹SQLSERVER數(shù)據(jù)庫連接方法。字段名字段類型字符大小描

述mid自動編號

會員編號,主關(guān)鍵字mname文本3會員姓名,最多支持3個漢字mpwd文本8會員密碼,最多支持8個字符、數(shù)字或字符和數(shù)字組合msex是/否

性別,其中“1”表示男,“0”表示女,默認值為“1”medu文本3最高學(xué)歷,最多支持3個字符,默認值為“大學(xué)生”mdate日期/時間

會員注冊日期,默認值為Date(),即系統(tǒng)日期4.2ADO.NET核心對象ADO.NET包含用于連接數(shù)據(jù)庫、執(zhí)行命令和檢索結(jié)果的.NET數(shù)據(jù)提供程序,用戶可以直接處理檢索到的結(jié)果,也可以將其放入DataSet對象中。使用Dataset對象方便將來自多個來源的數(shù)據(jù)或在層之間進行遠程處理的數(shù)據(jù)組合在一起,以特殊方式向用戶公開,它也可以獨立于.NET數(shù)據(jù)提供程序使用,用于管理應(yīng)用程序本地的數(shù)據(jù)或源自XML的數(shù)據(jù)。

在ADO.NET中,通過ManagedProvider所提供的應(yīng)用程序編程接口(API,ApplicationProgrammingInterface),可以輕松訪問各種數(shù)據(jù)源的數(shù)據(jù),包括OLEDB(ObjectLinkingandEmbeddingDataBase)所支持和ODBC(OpenDataBaseConnectivity)支持的數(shù)據(jù)庫。ADO.NET是由很多類組成的一個類庫。它提供了很多基類,分別用于完成數(shù)據(jù)庫連接、記錄查詢、記錄添加、記錄修改和記錄刪除等操作。ADO.NET主要包括Connection、Command、DataReader、DataAdapter和DataSet等核心對象。其中,Connection用于數(shù)據(jù)庫連接;Command用于對數(shù)據(jù)庫執(zhí)行SQL命令;DataReader用于從數(shù)據(jù)庫返回只讀數(shù)據(jù);DataAdapter用于從數(shù)據(jù)庫返回數(shù)據(jù),并送到DataSet中;而DataSet則可以看作是內(nèi)存中的數(shù)據(jù)庫,利用DataAdapter將數(shù)據(jù)庫中的數(shù)據(jù)送到DataSet里,然后對DataSet數(shù)據(jù)進行操作,最后再利用DataAdapter將數(shù)據(jù)更新反映到數(shù)據(jù)庫中。ADO.NET提供了2種操作數(shù)據(jù)庫的方法:一種是利用Connection、Command和DataReader對象;另一種是利用Connection、Command、DataAdapter和DataSet對象。其中,前者是通過只讀方式訪問數(shù)據(jù)庫的,數(shù)據(jù)庫訪問效率更高。而后者則更為靈活,可以對數(shù)據(jù)庫進行各種操作。針對不同的數(shù)據(jù)庫

溫馨提示

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

最新文檔

評論

0/150

提交評論