實用教程項目教學版及代碼等基礎(chǔ)篇2課件_第1頁
實用教程項目教學版及代碼等基礎(chǔ)篇2課件_第2頁
實用教程項目教學版及代碼等基礎(chǔ)篇2課件_第3頁
實用教程項目教學版及代碼等基礎(chǔ)篇2課件_第4頁
實用教程項目教學版及代碼等基礎(chǔ)篇2課件_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實用教程(項目教學版)基礎(chǔ)篇——(二):常用技術(shù)目錄數(shù)據(jù)驗證技術(shù)

母版頁技術(shù)

AJAX技術(shù)

對象技術(shù)數(shù)據(jù)控件必填驗證

必填驗證控件,即RequiredFieldValidator,用于檢查是否有輸入值。如要求用戶在注冊頁面提交之前必須填寫用戶名、密碼,如果對這些控件進行了必填驗證,當文本框為空時,則不能通過驗證。必填驗證控件使用的標準代碼如下:

數(shù)據(jù)驗證技術(shù)<ASP:RequiredFieldValidatorid=“Validator_Name”Runat=“Server”ControlToValidate=“要檢查的控件名”

ErrorMessage="出錯信息"Display="Static|Dymatic|None"></ASP:RequiredFieldValidator>必填驗證

數(shù)據(jù)驗證技術(shù)在以上標準代碼中,需要注意的必填驗證控件屬性有:ControlToValidate:表示要進行檢查控件的ID。ErrorMessage:表示當檢查不合法時,出現(xiàn)的錯誤信息。Display:錯誤信息的顯示方式,Static表示控件的錯誤信息在頁面中占有固定位置;Dymatic表示控件錯誤信息出現(xiàn)時才占用頁面空間;None表示錯誤出現(xiàn)時不顯示,但是可以在ValidatorSummary中顯示。注意:對于表單中每一個需要進行必填驗證的控件都要添加一個RequiredFieldValidator控件進行驗證,其他驗證控件也都是每個驗證控件只能夠驗證一個輸入控件。比較驗證

比較驗證控件,即CompareValidator,比較控件的輸入是否符合程序設(shè)定,大家不要把比較僅僅理解為“相等”,盡管相等是用的最多的,其實,這里的比較包括范圍很廣。比較驗證控件的標準代碼如下:數(shù)據(jù)驗證技術(shù)<pareValidatorid="Validator_ID"RunAt="Server"ControlToValidate="要驗證的控件ID"ErrorMessage="錯誤信息"pare="要比較的控件ID"Type="String|Integer|Double|Date|Currency“Operator="Equal|NotEqual|GreaterThan|GreaterThanEqual|LessThan|LessThanEqual|DataTypeCheck"Display="Static|Dymatic|None"></pareValidator>比較驗證

在以上標準代碼中:Type表示要比較的控件內(nèi)文本的數(shù)據(jù)類型。其中String表示是字符串,Integer代表整數(shù),Double代表實數(shù),DateTime代表日期類型,Currency代表貨幣類型。Operator表示比較操作(也就是剛才說的為什么比較不僅僅是“相等”的原因),這里比較有7種方式:Equal指等于,NotEqual指不等,GreaterThan指大于,GreaterThanEqual指大于等于,LessThan指小于,LessThanEqual指小于等于,DataTypeCheck代表只檢查數(shù)據(jù)類型是否一致。其他屬性和必填驗證控件相同。注意:ControlToValidate和pare的區(qū)別,如果Operate為GreateThan,那么,必須pare大于ControlToValidate才是合法的,這樣應(yīng)該明白它們兩者的意義了吧!數(shù)據(jù)驗證技術(shù)范圍驗證

范圍驗證控件,即RangeValidator,驗證輸入是否在一定范圍,范圍用MaximumValue(最大)和MinimunValue(最?。﹣泶_定。

范圍驗證控件的標準代碼如下:數(shù)據(jù)驗證技術(shù)<ASP:RangeValidatorid="Vaidator_ID"Runat="Server"

ControlToValidate="要驗證的控件ID"ErrorMessage="錯誤信息" MaximumValue="最大值"Display="Static|Dymatic|None" MinimumValue="最小值"Type="String|Integer|Double|Date|Currency"></ASP:RangeValidator>在以上代碼中,用MinimumValue和MaximumValue來界定控件輸入值的范圍,用Type來定義控件輸入值的類型。正則表達式驗證

正則表達式驗證控件,即RegularExpressionValidator,它的功能非常強大,可以很容易構(gòu)造驗證方式。正則表達式驗證控件的標準代碼如下:數(shù)據(jù)驗證技術(shù)<ASP:RegularExpressionValidatorid=“Validator_ID”RunAt=“Server”ErrorMessage=“錯誤信息”ControlToValidate=“要驗證控件名”ValidationExpression=“正則表達式”Display=“Static|Dymatic|None”></ASP:RegularExpressionValidator>正則表達式驗證

在以上標準代碼中,ValidationExpression是重點,現(xiàn)在來看看它的構(gòu)造,在ValidationExpression中,不同的字符表示不同的含義:"."表示任意字符;”\w”表示任何單詞字符(任何字母或數(shù)字);”\W”

表示任何非單詞字符(除了字母和數(shù)字以外的任何字符);"[A-Z]"表示任意一個大寫字母;"\d"表示任意一個數(shù)字;”[]”表示只匹配單個字符,也就是從中選擇一個字符匹配;"*"用于和其他表達式搭配,表示0到無數(shù)次的組合;”{n}”表示它之前的組合必須匹配確定的n次,這里的n是一個整數(shù);”x|y”表示匹配的組合x、y是二選一關(guān)系,這里的x和y代表一個字符或字符組合;”^”

表示以它之后的組合開頭;”$”

表示以它之后的組合結(jié)尾,或者是字符串結(jié)尾“\n”之前的最后一個字符。注意:在以上表達式中,引號不包括在內(nèi)。舉一個例子就明白了:正則表達式:\d.*[A-Z]|@,表示數(shù)字開頭的任意字符組合其后接一個大寫字母或@符號。數(shù)據(jù)驗證技術(shù)母版頁

使用母版頁可以為應(yīng)用程序中的頁創(chuàng)建一致的布局。單個母版頁可以為應(yīng)用程序中的所有頁(或一組頁)定義所需的外觀和標準行為。然后可以創(chuàng)建包含要顯示的內(nèi)容的各個內(nèi)容頁。當用戶請求內(nèi)容頁時,這些內(nèi)容頁與母版頁合并以將母版頁的布局與內(nèi)容頁的內(nèi)容組合在一起輸出。它很好地實現(xiàn)界面設(shè)計的模塊化,并且實現(xiàn)了代碼的重用。母版頁技術(shù)使用母版頁的優(yōu)點有:(1)有利于站點修改和維護,降低開發(fā)人員的工作強度。(2)有利于實現(xiàn)頁面布局。(3)提供一種便于利用的對象模型。母版頁

母版頁為具有擴展名.master的文件。它的使用跟普通的頁面一樣,可以可視化的設(shè)計,也可以編寫后置代碼。與普通頁面不一樣的是,它可以包含ContentPlaceHolder控件,ContentPlaceHolder控件就是可以顯示內(nèi)容頁面的區(qū)域。母版頁頁面開頭代碼如下:母版頁技術(shù)<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"Inherits="MasterPage"%>注意:這里是以“@Master”開頭的。內(nèi)容頁

在創(chuàng)建一個完整的母版頁之后,接下來必然要創(chuàng)建內(nèi)容頁。從用戶訪問的角度來講,內(nèi)容頁與最終結(jié)果頁的訪問路徑相同,這好像表明二者是同一文件,實際不然。結(jié)果頁是一個虛擬的頁面,沒有實際代碼,其代碼內(nèi)容是在運行時狀態(tài)下母版頁和內(nèi)容頁合并的結(jié)果。

與創(chuàng)建母版頁類似,創(chuàng)建內(nèi)容頁的過程比較簡單。注意一定要選擇母版頁。

內(nèi)容頁與普通.aspx文件在代碼上有很多不同。內(nèi)容頁沒有<html>、<body>、<form>等關(guān)鍵Web元素,這些元素都被放置在母版頁中。內(nèi)容頁中除了代碼頭聲明,僅包含Content控件。內(nèi)容頁的代碼頭聲明與普通.aspx文件相似。但是,新增加了兩個屬性MasterPageFile和Title。另外,在源代碼中,還設(shè)置了兩個Content控件Content1和Content2。兩個控件內(nèi)部包含的內(nèi)容是頁面的非公共部分。通過設(shè)置屬性ContentPlaceHolderID,將Content1與母版頁的ContentPlaceHolder1對應(yīng),將Content2與母版頁的ContentPlaceHolder2對應(yīng)。在頁面運行時,Content控件中包含的內(nèi)容將顯示在母版頁中的對應(yīng)位置。母版頁技術(shù)內(nèi)容頁

母版頁運行機制母版頁僅僅是一個頁面模板,單獨的母版頁是不能被用戶所訪問的。單獨的內(nèi)容頁也不能夠使用。母版頁和內(nèi)容頁的運行過程可以概括為以下5個步驟。(1)用戶通過鍵入內(nèi)容頁的URL來請求某頁。(2)獲取內(nèi)容頁后,讀取@Page指令。如果該指令引用一個母版頁,則也讀取該母版頁。如果是第一次請求這兩個頁,則兩個頁都要進行編譯。(3)母版頁合并到內(nèi)容頁的控件樹中。(4)各個Content控件的內(nèi)容合并到母版頁中相應(yīng)的ContentPlaceHolder控件中。(5)呈現(xiàn)得到結(jié)果頁。母版頁技術(shù)內(nèi)容頁

母版頁和內(nèi)容頁代碼訪問(1)在母版頁中編寫后臺代碼,訪問母版頁中的控件(2)在內(nèi)容頁面中編寫后臺代碼,訪問內(nèi)容頁面中的控件(3)在內(nèi)容頁面中編寫代碼訪問母版頁中的控件(4)在內(nèi)容頁面中編寫代碼訪問母版頁中的屬性和方法(5)在母版頁中訪問內(nèi)容頁面的控件(6)在母版頁中訪問內(nèi)容頁面中的方法和屬性(7)在母版頁中根據(jù)不同的內(nèi)容頁面實現(xiàn)不同的操作(8)在母版面與內(nèi)容頁面中JS代碼的操作母版頁技術(shù)Ajax運行原理

Ajax是AsynchronousJavaScriptandXML(異步JavaScript和XML)的縮寫,由著名用戶體驗專家Jesse-JamesGarrett在2005年2月18日首先提出。Ajax并不是只包含JavaScript和XML兩種技術(shù),事實上,Ajax是由JavaScript、XML、XSLT、CSS、DOM和XMLHttpRequest等多種技術(shù)組成的。XMLHttpRequest對象是Ajax的核心,該對象由瀏覽器中的JavaScript創(chuàng)建,負責在后臺以異步的方式讓客戶端連接到服務(wù)器。Ajax解決的問題主要是提高Web應(yīng)用程序的速度,不再讓用戶等待。Ajax的高明之處在于,它只會將頁面中需要更新的部分發(fā)送給Web服務(wù)器去處理,并且將處理后的內(nèi)容發(fā)送回客戶端瀏覽器進行局部更新。AJAX技術(shù)

Ajax運行原理

客戶端框架(1)MicrosoftAjaxLibrary:MicrosoftAjaxLibrary(MicrosoftAjax庫),由一組JavaScript文件組成,這些文件可以獨立于服務(wù)器特性使用。組成部分如下:★組件層:完成核心庫的大部分主要工作。提示了JSON串行化、網(wǎng)絡(luò)通信、本地化、DOM交互和應(yīng)用服務(wù)(如驗證與個性化)。還引入了構(gòu)建可重用模塊的概念。★類型系統(tǒng):主要目標在JavaScript中引入我們熟悉的面向?qū)ο蟮母拍?,如類、繼承、接口和事件處理。這一層還擴展了現(xiàn)有的JavaScript類型,如stringArray等?!飸?yīng)用層:類似于中的頁面生命周期,提供了一個事件驅(qū)動編程模型,可用來在瀏覽器中處理DOM元素、組件和應(yīng)用程序的生命周期。(2)HTML、JavaScript、XMLScript(3)Ajax服務(wù)代碼:可以通過一組由服務(wù)器生成的客戶端代理調(diào)用Web服務(wù)。AJAX技術(shù)

Ajax運行原理

服務(wù)器框架(1)Ajax服務(wù)器控件主要由兩個控件來驅(qū)動,一個ScriptManager,一個是UpdatePanel。ScriptManager是Ajax頁面的大腦中樞,有許多職責,主要協(xié)調(diào)頁面上的異步回送期間動態(tài)更新各個區(qū)域。UpdatePanel用于定義頁面上指定為部分更新的區(qū)域。(2)Web服務(wù)橋可以創(chuàng)建一個網(wǎng)關(guān),從而允許從客戶端腳本調(diào)用外部Web服務(wù)。(3)應(yīng)用服務(wù)橋?qū)崿F(xiàn)在一個原有的應(yīng)用中訪問某個應(yīng)用服務(wù)(如驗證和個性化服務(wù))幾乎不費吹灰之力。利用這個特性可以完成很多任務(wù),如驗證一個用戶的憑證,訪問其個性化信息并從客戶端腳本出發(fā)。AJAX技術(shù)

Ajax服務(wù)器控件在3.5之前,自身并不支持Ajax的應(yīng)用,VisualStudio2008之后就將Ajax服務(wù)器控件集成到開發(fā)環(huán)境的“工具箱”里了。Ajax服務(wù)器控件主要包括ScriptManager控件、UpdatePanel控件、Timer控件、UpdateProgress控件和ScriptManageProxy控件,下面分別介紹這幾個控件的使用方法。AJAX技術(shù)

Ajax服務(wù)器控件ScriptManager控件ScriptManager控件是AJAX的核心組件,是放置在Web窗體上的服務(wù)器端控件,在AJAX中發(fā)揮核心作用,其主要任務(wù)是調(diào)解Web窗體上的所有其他AJAX控件,并將適當?shù)哪_本庫添加到Web瀏覽器中,從而使AJAX的客戶端部分能夠正常工作。ScriptManager控件用來處理頁面上局部更新。對頁面進行全局管理時,每個要使用AJAX功能的頁面都需要使用一個ScriptManager控件,且只能被使用一次。其代碼如下:AJAX技術(shù)

<asp:ScriptManagerID="ScriptManager1"runat="server"></asp:ScriptManager>Ajax服務(wù)器控件ScriptManager控件的基本屬性如下表所示:AJAX技術(shù)

屬性名描述AsyncPostBackErrorMessage表示在異步回送過程中發(fā)生的異常將顯示出的消息AsyncPostBackTimeout異步回傳時超時限制,默認值為90,單位為秒EnablePageMethods該屬性用于設(shè)定客戶端JavaScript代碼直接調(diào)用服務(wù)端靜態(tài)WebMethodEnablePartialRendering可以使頁面的某些控件或某個區(qū)域?qū)崿F(xiàn)AJAX類型的異步回送和局部更新功能,默認值為true。當屬性設(shè)置為false時,則整個頁面將不進行局部更新而失去AJAX的效果LoadScriptBeforeUI是否需要在加載UI控件前首先加載腳本,默認為falseScriptMode指定ScriptManager發(fā)送到客戶端的腳本的模式,有4種模式:Auto,Inherit,Debug和Release,默認值為AutoScriptPath設(shè)置所有的腳本塊的根目錄,作為全局屬性,包括自定義的腳本塊或者引用第三方的腳本塊Ajax服務(wù)器控件UpdatePanel控件UpdatePanel控件能保存回送模型,允許執(zhí)行頁面的局部刷新。使用UpdatePanel控件時,整個頁面中只有UpdatePanel控件中的服務(wù)器控件或事件進行刷新操作,而頁面的其他地方則不會被刷新。UpdatePanel控件主要屬性有:

★RenderMode屬性:指明UpdatePanel控件內(nèi)呈現(xiàn)的標記是<div>或<span>,值為Block代表<div>標簽,值為Inline代表<span>標簽。

★UpdateMode屬性:指明內(nèi)容模板的更新模式,有Always和Conditional兩種。Always模式指每次提交后,若頁面有多個UpdatePanel都會被連帶異步更新;Conditional模式會避免連帶受到其他UpdatePanel的影響。

★ChildrenAsTriggers屬性:指明在UpdatePanel控件的子控件的回發(fā)中是否導致UpdatePanel控件的更新,默認值為true。

★EnableViewState屬性:指明是否自動保存其往返過程的值。AJAX技術(shù)

Ajax服務(wù)器控件Timer控件Timer控件可以使應(yīng)用程序方便有效地對系統(tǒng)時間進行控制。Timer控件能夠在一定的時間間隔內(nèi)觸發(fā)某個事件。Timer控件的主要屬性有:

★Enabled屬性:是否啟用了Tick事件引發(fā)。

★Interval屬性:設(shè)置Tick事件之間的連續(xù)時間,單位為毫秒。如果要實現(xiàn)時鐘的無刷新變化,還需要將該控件放置于有ScriptManage控件進行頁面全局管理的頁中,并使用UpdatePanel控件,實現(xiàn)時鐘的局部更新。AJAX技術(shù)

Ajax服務(wù)器控件UpdateProgress控件當服務(wù)器與客戶端進行異步通信時,UpdateProgress控件給終端用戶顯示一個可視化元素,提示頁面局部回送過程正在進行。如果要實現(xiàn)無刷新變化,要把UpdateProgress控件放到UpdatePanel控件中使用。

其HTML標簽代碼如下:AJAX技術(shù)

<asp:UpdateProgressID="UpdateProgress1"runat="server"><ProgressTemplate>

正在進行提交...</ProgressTemplate></asp:UpdateProgress>Ajax服務(wù)器控件ScriptManageProxy控件在Web應(yīng)用的開發(fā)過程中,常常通過母版頁來為應(yīng)用程序中的頁創(chuàng)建一致布局。母版頁與內(nèi)容頁可以一同組合成一個新頁面呈現(xiàn)在客戶端瀏覽器中。如果在母版頁中使用了ScriptManager控件,而在內(nèi)容頁中也使用ScriptManager控件,整合在一起的頁面就會出現(xiàn)異常。如果在母版頁中使用了ScriptManager控件,內(nèi)容頁必須通過ScriptManagerProxy控件支持內(nèi)容頁的Ajax應(yīng)用。AJAX技術(shù)

Response對象

Response對象用于將數(shù)據(jù)從服務(wù)器發(fā)送回瀏覽器,它允許將數(shù)據(jù)作為請求的結(jié)果發(fā)送到瀏覽器中,并提供相關(guān)響應(yīng)的信息,包括向瀏覽器輸出數(shù)據(jù)、重定向瀏覽器到另一個URL或者停止輸出數(shù)據(jù)。Response對象是屬于Page對象的成員,不用聲明便可以直接使用,其對應(yīng)HttpResponse類,命名空間為System.Web,它也與HTTP協(xié)議響應(yīng)消息對應(yīng)。Response對象的常用屬性如下表所示:對象屬性說明Cache獲取Web頁的緩存策略Charset設(shè)置或獲取HTTP的輸出字符編碼Expires設(shè)置或獲取在瀏覽器上緩存的頁過期之前的分鐘數(shù)Cookies獲取當前請求的Cookie集合SuppressContent設(shè)定是否將HTTP的內(nèi)容發(fā)送至客戶端瀏覽器,若為true,則網(wǎng)頁將不會發(fā)送至客戶端Response對象

Response對象的常用方法對象方法說明Clear將緩沖區(qū)的內(nèi)容清除End將目前緩沖區(qū)中所有的內(nèi)容發(fā)送至客戶端后關(guān)閉Flush將緩沖區(qū)中所有的數(shù)據(jù)發(fā)送至客戶端Redirect將網(wǎng)頁重新導向另一個地址Write將數(shù)據(jù)輸出到客戶端WriteFile將指定的文件直接寫入HTTP內(nèi)容輸出流Response對象

對象向瀏覽器輸出數(shù)據(jù)在Web開發(fā)中使用Response最頻繁的語句是顯示文本,還可以將HTML標記輸出到客戶端瀏覽器,也可輸出JavaScript腳本。如:Response.Write("這是向瀏覽器輸出的字符串");Response.Write("<h2>軟件技術(shù)</h2>");Response.Write("<scriptlanguage=\"javascript\">alert('歡迎使用')</script>");Response對象

對象頁面重定向

Response對象的Redirect方法用于實現(xiàn)頁面重定向,該方法可以由一個頁面地址跳轉(zhuǎn)到另一個頁面地址或URL地址。下面的代碼表示從當前頁跳轉(zhuǎn)到名為Index.aspx的頁面。

Response.Redirect("Index.aspx");通常,從一個頁面跳轉(zhuǎn)至另一頁面時,還需要傳遞一些信息,Response.Redirect方法在頁面跳轉(zhuǎn)時,可以向另一頁面?zhèn)鬟f一些參數(shù),例如:Response.Redirect("Index.aspx?uName=xiaoli");Request對象Request對象主要用于從客戶端獲取數(shù)據(jù),當用戶打開WEB瀏覽器并從網(wǎng)站請求Web頁時,Web服務(wù)器就收到一個HTTP請求。Request對象是HttpRequest類的一個實例,命名空間為System.Web,它提供對當前頁請求的訪問,包括標題、Cookie、客戶端證書以及查詢字符串等。Request對象的常用屬性如右表所示:對象屬性說明ApplicationPath獲取服務(wù)器上應(yīng)用程序虛擬應(yīng)用程序的根目錄路徑Browser獲取或設(shè)置有關(guān)正在請求的客戶端瀏覽器的功能信息Cookies獲取客戶端發(fā)送的Cookie集合FilePath獲取當前請求的虛擬路徑Files獲取采用多部分MIME格式的由客戶端上載的文件集合Form獲取窗體變量集合Params獲取QueryString、Form、ServerVariables和Cookies項的組合集合Path獲取當前請求的虛擬路徑QueryString獲取HTTP查詢字符串變量集合Url獲取有關(guān)當前請求的URL的信息UserHostAddress獲取遠程客戶端IP主機地址UserHostName獲取遠程客戶端DNS名稱Request對象Request對象的常用方法如下:對象方法說明MapPath將請求的URL中的虛擬路徑映射到服務(wù)器上的物理路徑SaveAs將HTTP請求保存到磁盤獲取表單的數(shù)據(jù)使用Request對象的Form屬性可以獲取來自表單的數(shù)據(jù),實現(xiàn)信息的提交和處理。獲取計算機和瀏覽器的相關(guān)數(shù)據(jù)通過Request對象的Browser屬性獲取客戶端瀏覽器信息Session對象

Session對象在服務(wù)器端存儲特定的用戶會話所需的信息,它是HttpSessionState類的一個實例。當多個用戶使用同一個應(yīng)用程序時,每個用戶都將擁有各自的Session對象,且這些Session對象相互獨立,互不影響。對象設(shè)置SessionSession[“uName”]=“張三”;或Session.Add("uName","張三");訪問Sessionif(Session["uName"]!=null){stringstrVipName=Session["uName"].ToString();}Cookie對象

Cookie是Web服務(wù)器保存在客戶端計算機上的一段文本,允許一個Web站點在用戶的計算機上保存信息并讀取它。其優(yōu)點主要有:對象能使站點跟蹤特定訪問者的訪問次數(shù),最后訪問者和訪問者進入站點的路徑??膳渲玫狡谝?guī)則。不需要任何服務(wù)器資源簡單性數(shù)據(jù)持久性Application對象Application對象用于在整個應(yīng)用程序中共享信息,它是HttpApplicationState的一個實例。Application對象是應(yīng)用程序的全局變量,其生命周期從請求該應(yīng)用程序的第一個頁面開始,直到IIS停止。HttpApplicationState類提供Lock和Unlock方法,解決了Application對象訪問的同步問題,一次只允許一個線程訪問應(yīng)用程序狀態(tài)變量。對象Application.Lock();Application["appVar"]=TextBox1.Text;Application.UnLock();原理通過對的引用,達到了獲取數(shù)據(jù)和操作數(shù)據(jù)的目的。數(shù)據(jù)訪問涉及四個主要的組件:Web應(yīng)用程序()、數(shù)據(jù)訪問層()、數(shù)據(jù)提供程序以及數(shù)據(jù)存儲。技術(shù)

Connection對象Connection類負責建立連接數(shù)據(jù)庫的對象,通過一個連接字符串來連接到一個特定的數(shù)據(jù)源。其中針對不同的數(shù)據(jù)源需要不同的Connection對象。提供了針對不同的數(shù)據(jù)庫使用不同類的對象建立與數(shù)據(jù)庫的連接。在進行SQLServer數(shù)據(jù)庫連接的時候,首先要使用數(shù)據(jù)庫連接的提供者,因此在程序的開始要使用如下代碼:技術(shù)usingSystem.Data;usingSystem.Data.SqlClient;接下來要連接數(shù)據(jù)源,這需要使用連接字符串創(chuàng)建一個連接對象。連接字符串中包含希望連接的數(shù)據(jù)庫提供者名稱、登錄信息(用戶名,密碼等)以及希望使用的數(shù)據(jù)庫名稱。創(chuàng)建連接對象的代碼如下:SqlConnectioncon=newSqlConnection(“Server=(local);Database=CMS;IntegratedSecurity=True;”);

Command對象

Command對象允許執(zhí)行多種不同類型的查詢,可以通過三種方式創(chuàng)建Command對象。技術(shù)使用new關(guān)鍵字直接創(chuàng)建對象的一個實例,然后設(shè)置適當屬性。使用一個可用的構(gòu)造函數(shù)來指定查詢字符串的Connection對象。調(diào)用Connection類的mand方法。Command對象是一個設(shè)置并執(zhí)行SQL命令的對象,在執(zhí)行SQL命令之前必須要明確它對哪個數(shù)據(jù)庫執(zhí)行SQL命令,因此必須通過它的Connection屬性與一個Connection對象相連接,這樣它的一切SQL命令操作就針對它連接的Connection對象指定的數(shù)據(jù)庫了。

Command對象

使用Command對象操作數(shù)據(jù)技術(shù)mand對象的ExecuteNonQuery方法的示例:stringmyconnstr=ConfigurationManager.ConnectionStrings["DBConnStr"].ConnectionString;SqlConnectionsqlconn=newSqlConnection(myconnstr);mandcmd;cmd.Connection=sqlconn;mandType=CommandType.Text;sqlconn.Open();mandText="CreateTableTempTable(IDColInt)";cmd.ExecuteNonQuery();//執(zhí)行創(chuàng)建表操作mandText="InsertTempTable(IDCol)Values(1)";cmd.ExecuteNonQuery();//執(zhí)行添加一條記錄操作mandText="DropTableTempTable";cmd.ExecuteNonQuery();//執(zhí)行刪除表操作sqlconn.Close();

Command對象

使用SQL參數(shù)操作數(shù)據(jù)技術(shù)要在對象模型中使用SQL參數(shù),需要向Command對象的Parameters集合中添加Parameter對象。在使用SQL數(shù)據(jù)提供程序時,要使用的Parameter對象的類名為SqlParameter。使用SqlParameter對象的示例:intId=1;stringName="lui";//直接在sql語句中寫添加的參數(shù)名,不論參數(shù)類型都是如此mandText="insertintoTUserLoginvalues(@Id,@Name)";//生成一個名字為@Id的參數(shù),必須以@開頭表示是添加的參數(shù),并設(shè)置其類型長度,類型長度與數(shù)據(jù)庫中對應(yīng)字段相同SqlParameterpara=newSqlParameter("@Id",SqlDbT,4);para.Value=Id;//給參數(shù)賦值cmd.Parameters.Add(para);//必須把參數(shù)變量添加到命令對象中去。//以下類似para=newSqlParameter("@N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論