版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 配置ASP.NET網(wǎng)頁(yè)運(yùn)行和開發(fā)環(huán)境任務(wù)目標(biāo)安裝及配置Visual Studio 2005開發(fā)環(huán)境安裝及配置IIS安裝SQL Server Management Studio Express規(guī)劃及設(shè)計(jì)項(xiàng)目網(wǎng)站功能計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范2技能目標(biāo)了解C#語(yǔ)言安裝Visual Studio 2005,了解安裝必需的系統(tǒng)配置,熟悉開發(fā)環(huán)境,了解網(wǎng)站的開發(fā)過(guò)程選擇對(duì)應(yīng)的IIS并安裝,并掌握IIS安全配置方法獲取并安裝可視化的SQL Server數(shù)據(jù)管理工具規(guī)劃并設(shè)計(jì)本項(xiàng)目網(wǎng)站計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范3技能基礎(chǔ):Visual C#入門計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范41.1 C#簡(jiǎn)介
2、C是Microsoft在Visual studio .net中推出的一種新型程序設(shè)計(jì)語(yǔ)言,具有面向組件、功能強(qiáng)大和靈活等特點(diǎn)。C是由 C/C+語(yǔ)言發(fā)展而來(lái)的,與C+和Java非常類似,樣式清晰,可讀性強(qiáng),易于掌握。C與C/C+具有繼承關(guān)系,保留和擴(kuò)展了C/C+的功能,C+開發(fā)人員易于熟悉掌握;使用C可以快速地編寫各種基于MicrosoftNET平臺(tái)的應(yīng)用程序,由于MicrosoftNET提供了一系列工具和服務(wù),因此C程序開發(fā)具有更高的效率。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范5第一個(gè)C#控制臺(tái)程序,請(qǐng)同學(xué)分析程序功能using System;using System.Collections.Gene
3、ric;using System.Text;namespace ex1_1 class Program static void Main(string args) Console.Write(請(qǐng)輸入您的姓名:); string name=Console.ReadLine(); /輸入姓名字符串賦值給name變量 Console.WriteLine(Hello, + name+ WriteLine); Console.Write(Hello, + name+Write); Console.Write(第一個(gè)C#控制臺(tái)程序 ); Console.ReadLine(); 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防
4、范61.2 Visual C#數(shù)據(jù)類型C的數(shù)據(jù)類型分為值類型、引用類型和指針類型計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范7值類型 值類型表示實(shí)際的數(shù)據(jù),存儲(chǔ)在堆棧中。將一個(gè)值類型變量賦給另一個(gè)值類型變量時(shí),將復(fù)制包含的值,對(duì)其中一個(gè)變量操作時(shí),不影響其他變量。C#中的多數(shù)基本類型都是值類型。值類型包括簡(jiǎn)單類型、枚舉類型和結(jié)構(gòu)類型。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范8類 別位 數(shù)類 型范圍/精度有符號(hào)整型8sbyte-12812716short-327683276732int-2147483648214748364764long-92233720368547758089223372036854775807無(wú)符
5、號(hào)整型8byte025516ushort06553632uint0429496729564unlong018446744073709551615浮點(diǎn)32float1.5e-453.4e3864double5.0e-3241.7e308Decimal128decimal1.010e-287.910e28Unicode字符16 charU+0000U+ffff布爾值booltrue/false9 引用類型表示指向數(shù)據(jù)的指針或引用,可存儲(chǔ)對(duì)實(shí)際數(shù)據(jù)的引用。引用類型在內(nèi)存中的存儲(chǔ)位置僅包含對(duì)對(duì)象的地址的引用。引用類型為null時(shí),表明沒(méi)有引用任何對(duì)象,引用類型包括類、接口、數(shù)組和字符串。引用類型結(jié)構(gòu)如
6、圖所示。10引用類型1.3 數(shù)據(jù)類型轉(zhuǎn)換1. 隱式類型轉(zhuǎn)換2. 顯式類型轉(zhuǎn)換計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范11隱式類型轉(zhuǎn)換隱式類型轉(zhuǎn)換是指不需要聲明就能進(jìn)行的轉(zhuǎn)換。進(jìn)行隱式類型轉(zhuǎn)換時(shí),編譯器不需要進(jìn)行檢查就能安全地進(jìn)行轉(zhuǎn)換,下表列出了可以進(jìn)行隱式類型轉(zhuǎn)換的數(shù)據(jù)類型。源 類 型目 標(biāo) 類 型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double或decimalshortint、long、float、double或decimalushortint、uint、long、ulon
7、g、float、double或decimalintlong、float、double或decimaluintlong、ulong、float、double 或 decimalcharushort、int、uint、long、ulong、float、double或decimalfloatdoubleulongfloat、double或decimallongfloat、double或decimal12顯式類型轉(zhuǎn)換也可以稱為強(qiáng)制類型轉(zhuǎn)換,它需要在代碼中明確地聲明要轉(zhuǎn)換的類型。如果在不存在隱式轉(zhuǎn)換的類型之間進(jìn)行轉(zhuǎn)換,就需要使用顯式類型轉(zhuǎn)換。下表列出了需要進(jìn)行顯式類型轉(zhuǎn)換的數(shù)據(jù)類型。源 類 型目 標(biāo) 類
8、 型sbytebyte、ushort、uint、ulong或charbytesbyte和charshortsbyte、byte、ushort、uint、ulong或charushortsbyte、byte、short或charintsbyte、byte、short、ushort、uint、ulong或charuintsbyte、byte、short、ushort、int或charcharsbyte、byte或shortulongsbyte、byte、short、ushort、int、uint、long或charlongsbyte、byte、short、ushort、int、uint、ulong
9、或chardoublesbyte、byte、short、ushort、int、uint、ulong、long、char或decimalfloatsbyte、byte、short、ushort、int、uint、long、ulong、char或decimal13顯式類型轉(zhuǎn)換小結(jié)掌握C# 語(yǔ)句的基礎(chǔ)數(shù)據(jù)類型掌握數(shù)據(jù)類型轉(zhuǎn)換的原則計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范14“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第1章 配置ASP.NET網(wǎng)頁(yè)運(yùn)行和開發(fā)環(huán)境任務(wù)一:認(rèn)識(shí)ASP.NETVS 2005簡(jiǎn)介Visual Studi
10、o 2005是經(jīng)典的ASP.NET開發(fā)環(huán)境,它是一套完整的開發(fā)工具,用于生成ASP.NET Web應(yīng)用程序、XML Web Service、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Studio 2005開發(fā)環(huán)境允許使用Visual Basic.NET、Visual C+.NET、Visual C#.NET和Visual J#.NET,并可以創(chuàng)建混合語(yǔ)言解決方案計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范171.1 ASP.NET開發(fā)環(huán)境搭建1.安裝Visual Studio 2005 的系統(tǒng)要求Windows 2000、Windows XP及以上系統(tǒng)。CPU建議使用1GHz以上的Pentium微處理器。系
11、統(tǒng)內(nèi)存推薦值為1GB以上。硬盤空間至少為1GB以上計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范182.安裝過(guò)程初學(xué)者可以到微軟官方網(wǎng)站上下載Visual Studio 2005中文版的安裝文件,并按提示安裝即可。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范193.配置Visual Studio 2005開發(fā)環(huán)境第一次打開Microsoft Visual Studio 2005時(shí),會(huì)彈出“選擇默認(rèn)環(huán)境設(shè)置”對(duì)話框,這里選擇“Visual C#”。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范201.2 IIS安裝及安全配置1.安裝IIS(示例,不同系統(tǒng)的安裝方式并不完全相同)將Windows 7操作系統(tǒng)光盤放到光盤驅(qū)動(dòng)器中,依次打開“控制
12、面版”/“程序”,選擇“程序和功能”/“打開或關(guān)閉Windows功能”,彈出“Windows功能”窗口。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范21選擇“Internet信息服務(wù)”復(fù)選框,確定后進(jìn)行安裝。打開“控制面板”/“系統(tǒng)和安全”/“管理工具”,在其中可以看到“Internet信息服務(wù)(IIS)管理器”選項(xiàng)。2.IIS安全配置具體步驟見教材計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范221.3 Visual Studio.NET開發(fā)環(huán)境介紹1.創(chuàng)建ASP.NET網(wǎng)站在菜單欄中選擇“文件”/“新建”/“網(wǎng)站”/“新建網(wǎng)站”/“ASP.NET網(wǎng)站”用戶設(shè)置網(wǎng)站的名字及位置,完成網(wǎng)站的創(chuàng)建。計(jì)算機(jī)學(xué)院Web開發(fā)與安全
13、防范232.設(shè)計(jì)Web頁(yè)面(1)加入ASP.NET網(wǎng)頁(yè)在“解決方案資源管理器”面板中選中當(dāng)前項(xiàng)目,單擊右鍵,在彈出的菜單中選擇“添加新項(xiàng)”可以在網(wǎng)站中加入ASP.NET網(wǎng)頁(yè)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范24ASP.NET網(wǎng)頁(yè)就是“Web窗體”,其擴(kuò)展名為.aspx,文件名可自行定義,默認(rèn)為Default。加入新網(wǎng)頁(yè)時(shí)需要設(shè)定編寫網(wǎng)頁(yè)里程序時(shí)使用的語(yǔ)言,這里選擇“Visual C#”語(yǔ)言。Web窗體網(wǎng)頁(yè)都有兩種視圖方式,分別為“設(shè)計(jì)”、“源”視圖,兩種方式可以切換。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范25(2)布局ASP.NET網(wǎng)頁(yè)使用Table表格布局,另一種是使用CSS+DIV布局。使用Table
14、表格布局時(shí),在Web窗體中添加一個(gè)HTML格式表格,然后根據(jù)位置的需要,向表格中添加相關(guān)文字信息或服務(wù)器控件;使用CSS+DIV布局時(shí),需要通過(guò)CSS樣式控制Web窗體中的文字信息或服務(wù)器控件的位置,這需要精通CSS樣式。(3)添加服務(wù)器控件添加服務(wù)器控件既可以通過(guò)拖拽的方式添加,也可以通過(guò)ASP.NET網(wǎng)頁(yè)代碼添加。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范263.添加配置文件Web.config在Visual Studio2005中創(chuàng)建網(wǎng)站之后,需要手動(dòng)添加Web.config配置文件。在“解決方案資源管理器”面板中,右擊網(wǎng)站名稱,在彈出的快捷菜單中選擇“添加新項(xiàng)”命令,打開“添加新項(xiàng)”對(duì)話框,選擇“
15、Web.配置文件”選項(xiàng),單擊“添加”按鈕即可。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范274.運(yùn)行應(yīng)用程序方法1:選擇“測(cè)試”/“啟動(dòng)調(diào)試”命令運(yùn)行應(yīng)用程序方法2:?jiǎn)螕艄ぞ邫谥械?按鈕運(yùn)行應(yīng)用程序;還可以直接按F5鍵運(yùn)行程序。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范28注意:第一次運(yùn)行網(wǎng)站時(shí)會(huì)彈出“未啟用調(diào)試”對(duì)話框,提示用戶有“修改Web.config文件以啟用調(diào)試”和“不進(jìn)行調(diào)試直接運(yùn)行”兩種選擇,一般選中前者。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范29小結(jié)掌握vs的安裝方法能夠配置IIS熟悉并掌握VS的運(yùn)行環(huán)境,會(huì)創(chuàng)建簡(jiǎn)單網(wǎng)站,了解每種文件類型的用途。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范30“十二五”職業(yè)教育國(guó)家規(guī)劃教材
16、(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第1章 配置ASP.NET網(wǎng)頁(yè)運(yùn)行和開發(fā)環(huán)境任務(wù)二:數(shù)據(jù)庫(kù)安裝與設(shè)計(jì)在安裝Visual Studio 2005的任務(wù)過(guò)程中,默認(rèn)安裝了可以免費(fèi)使用的數(shù)據(jù)庫(kù)SQL Server 2005 Express,但SQL Server 2005 Express本身并沒(méi)有提供可視化的工具來(lái)使用和管理SQL Server 2005數(shù)據(jù)庫(kù),要實(shí)現(xiàn)可視化的管理,需要SQL Serve Management Studio Express。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范332.1 SSMSE的安裝官方網(wǎng)站有能夠下載ss
17、mse,下載之后即可安裝計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范342.2 啟動(dòng)SSMSE安裝完畢之后,啟動(dòng)ssmse,操作界面和數(shù)據(jù)庫(kù)操作界面是一致的,登陸、創(chuàng)建及附加數(shù)據(jù)庫(kù)的方法也一致,在此不再闡述計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范35小結(jié)掌握ssmse的下載及安裝方法讀者也可以另外完全安裝SQL SERVER2005計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范36“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第1章 配置ASP.NET網(wǎng)頁(yè)運(yùn)行和開發(fā)環(huán)境任務(wù)三:網(wǎng)站項(xiàng)目規(guī)劃設(shè)計(jì)3.1 網(wǎng)站結(jié)構(gòu)分析整個(gè)網(wǎng)站的頁(yè)面層次結(jié)構(gòu)分為4個(gè)層次計(jì)算機(jī)
18、學(xué)院Web開發(fā)與安全防范393.2 網(wǎng)站功能分析1.首頁(yè)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范402.簡(jiǎn)歷頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范413.鏈接頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范424.注冊(cè)頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范435.相冊(cè)管理相冊(cè)管理和相冊(cè)瀏覽兩個(gè)部分相冊(cè)的管理主要實(shí)現(xiàn)相冊(cè)的增加、修改、刪除等功能;包括3個(gè)頁(yè)面,都存放在項(xiàng)目中的Admin目錄下,該目錄對(duì)用戶設(shè)置權(quán)限,它們分別是相冊(cè)Albums.aspx頁(yè)面、某一相冊(cè)照片Photos.aspx網(wǎng)頁(yè)以及某張照片Details.aspx網(wǎng)頁(yè)相冊(cè)的瀏覽主要實(shí)現(xiàn)相冊(cè)的顯示、相冊(cè)中照片的顯示等功能計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范446.相冊(cè)瀏
19、覽相冊(cè)的瀏覽被設(shè)置了權(quán)限,一般的瀏覽者,可以瀏覽相冊(cè)屬性設(shè)置為公開的相冊(cè)內(nèi)容,對(duì)于注冊(cè)用戶,如果屬于Administrators角色或者Friends角色,通過(guò)登錄進(jìn)入項(xiàng)目化教程網(wǎng)站,還可以瀏覽那些相冊(cè)屬性設(shè)置為不公開的相冊(cè)內(nèi)容。相冊(cè)的瀏覽有3個(gè)頁(yè)面,分別存放在項(xiàng)目的根目錄下,分別是顯示相冊(cè)內(nèi)容的Albums.aspx頁(yè)面、顯示某一相冊(cè)中所有照片的Photos.aspx網(wǎng)頁(yè)、顯示某張照片的Details.aspx網(wǎng)頁(yè)。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范45小結(jié)通過(guò) 本任務(wù),學(xué)會(huì)分析網(wǎng)站功能并進(jìn)行合理的規(guī)劃計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范46單元練習(xí)1.如何在IIS中運(yùn)行個(gè)人網(wǎng)站?能夠?qū)崿F(xiàn)登錄功能嗎?
20、2.簡(jiǎn)述在Visual Studio.NET 2005環(huán)境下創(chuàng)建ASP.NET應(yīng)用程序的過(guò)程。3.簡(jiǎn)述運(yùn)行ASP.NET網(wǎng)頁(yè)的方法。4.建立一個(gè)網(wǎng)站,在網(wǎng)站中添加一個(gè)網(wǎng)頁(yè),其中包含一個(gè)命令按鈕Button和一個(gè)標(biāo)簽Label,當(dāng)用戶單擊Button時(shí),在Label中顯示“第1章”。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范47“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第2章 建立Web頁(yè)面及Http處理程序 任務(wù)目標(biāo)如何新建數(shù)據(jù)庫(kù)、數(shù)據(jù)表如何建立Web頁(yè)面如何編寫頁(yè)面代碼如何建立Http處理程序如何進(jìn)行頁(yè)面間傳值的安全防
21、范計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范50技能目標(biāo)建立相冊(cè)、照片數(shù)據(jù)庫(kù)并分析數(shù)據(jù)關(guān)系圖建立Web頁(yè)面查詢照片名并編寫頁(yè)面代碼建立Http處理程序掌握頁(yè)面間傳值的安全解決方法計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范512.1 C#程序代碼的 基本書寫規(guī)則1.程序代碼區(qū)分字母大小寫 例如“Console”和“console”是不同的標(biāo)識(shí)符。2.語(yǔ)句書寫規(guī)則 (1)每個(gè)語(yǔ)句都必須用一個(gè)分號(hào)(“;”)作為結(jié)尾。 (2)C#允許在同一個(gè)代碼行上書寫多個(gè)語(yǔ)句。 (3)每個(gè)代碼塊用一對(duì)花括號(hào)(“”、“”)來(lái)界定。 (4)語(yǔ)句中作為語(yǔ)法成分的標(biāo)點(diǎn)符號(hào)必須是西文標(biāo)點(diǎn)符號(hào),中文標(biāo)點(diǎn)符號(hào)只能作為字符常量使用。 (5)代碼塊的書寫廣
22、泛采用縮進(jìn)格式。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范523.注釋信息 恰當(dāng)?shù)厥褂米⑨層兄谔岣叱绦虻目勺x性。 (1)單行注釋方式 1:string name = Console.ReadLine();/輸入姓名字符串賦值給 name 變量方式 2:/輸入姓名字符串賦值給 name 變量string name = Console.ReadLine();(2)多行注釋: 從“/*”開始,到“*/”結(jié)束。(3)XML 注釋計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范532.2 常量與變量1.常量 常量就是在程序的使用過(guò)程中值保持不變的量。例如: const double PI=3.14159265;const int
23、hour = 7, minute = 25, second = 30;2.變量在程序運(yùn)行過(guò)程中,其值可以改變的量稱為變量(Variable) 。示例: int y= 1;/給變量y初始化為1 string greet”Hello,World”; 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范54(1)靜態(tài)變量和實(shí)例變量 用static修飾符聲明的變量稱為靜態(tài)變量,未用static修飾符聲明的變量稱為實(shí)例變量。例如: public static long id = 1027; public int number; public decimal price; int animals = new int2; 計(jì)算機(jī)
24、學(xué)院Web開發(fā)與安全防范55(2)局部變量 在塊、for 語(yǔ)句、switch 語(yǔ)句、 using 語(yǔ)句、函數(shù)中聲明的變量稱為局部變量。 (3)隱式類型的局部變量 可以不給出其所屬的數(shù)據(jù)類型,而由編譯器根據(jù)變量的初始值推斷出變量的數(shù)據(jù)類型,例如: var age = 30; var name = 張三;注意:其實(shí),使用隱式類型的局部變量是有限制的。 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范562.3 任務(wù)一:建立數(shù)據(jù)庫(kù) 2.3.1 新建數(shù)據(jù)庫(kù)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范57計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范58用鼠標(biāo)右鍵點(diǎn)擊“對(duì)象資源管理器”窗格下的Personal數(shù)據(jù)庫(kù),在彈出的快捷菜單中單擊“新建查詢”
25、命令,打開執(zhí)行SQL語(yǔ)句的界面, 如圖2-4所示。 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范59建表SQLCREATE TABLE dbo.Albums(AlbumID int IDENTITY(1,1) NOT NULL,Caption nvarchar(50) NOT NULL,IsPublic bit NOT NULL)ALTER TABLE dbo.Albums ADD CONSTRAINT PK_Albums PRIMARY KEY (AlbumID)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范60CREATE TABLE dbo.Photos(PhotoID int IDENTITY(1,1) NOT N
26、ULL,AlbumID int NOT NULL,Caption nvarchar(50) NOT NULL,OriginalFileName nvarchar(50) NOT NULL,LargeFileName nvarchar(50) NOT NULL,MediumFileName nvarchar(50) NOT NULL,SmallFileName nvarchar(50) NOT NULL) ALTER TABLE dbo. Photos ADD CONSTRAINT PK_Photos PRIMARY KEY (PhotoID)ALTER TABLE dbo.Photos ADD
27、 CONSTRAINT FK_Photos_Albums FOREIGN KEY(AlbumID) REFERENCES dbo.Albums (AlbumID計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范612.3.2 分析數(shù)據(jù)庫(kù)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范622.4 任務(wù)二:建立Web頁(yè)面查詢照片名照片的文件存放位置計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范632.4.1新建Web頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范64從工具箱中拖放1個(gè)Panel、1個(gè)TextBox、1個(gè)Button控件到DefaultLook.aspx的設(shè)計(jì)視圖計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范65再?gòu)墓ぞ呦渫戏?個(gè)Panel、1個(gè)Literal控件
28、到DefaultLook.aspx的設(shè)計(jì)視圖,并將控件的屬性Text改為“得到文件名”計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范66最后得到的代碼計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范674.2編寫Web頁(yè)面的代碼雙擊控件“得到文件名”轉(zhuǎn)到代碼視圖,在Button1_Click事件中寫入代碼計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范68計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范69點(diǎn)擊“在瀏覽器中查看”,運(yùn)行后,在如下第1個(gè)文本框中輸入photoID為1,然后點(diǎn)擊“得到文件名”計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范702.5 任務(wù)三:建立Http處理程序2.5.1 認(rèn)識(shí)Http處理程序?yàn)槭裁匆褂肏TTP處理程序?2.5.2 建立Http處理程
29、序計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范71然后實(shí)現(xiàn)ProcessRequest 方法,其中調(diào)用了3個(gè)方法,分別是GetPhoto(獲取照片)、GetFirstPhoto、GetPath,代碼計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范72計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范73計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范74計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范752.5.3 運(yùn)行Http處理程序運(yùn)行網(wǎng)站,首先顯示指定photoId為31的圖片,在IE中輸入http:/localhost:2524/aspnet/Handler.ashx?photoId=31計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范76然后指定photoId為31并且大小為小尺寸的圖片
30、,輸入http:/localhost:2524/aspnet/Handler.ashx?photoId=31&size=S計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范77再次顯示指定photoId為33并且大小為中尺寸的圖片,輸入http:/localhost:2524/aspnet/Handler.ashx?photoId=33&size=M計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范78最后顯示相冊(cè)中的第1張照片并且大小為中尺寸的圖片,輸入http:/localhost:2524/aspnet/Handler.ashx?AlbumID=9&size=M計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范792.6 任務(wù)四:頁(yè)面間傳值的安全
31、防范2.6.1 頁(yè)面間傳值的安全問(wèn)題上節(jié)中頁(yè)面間傳值的URLhttp:/localhost:1738/WebSite1/Handler.ashx?AlbumID=1 存在安全問(wèn)題,用戶可以修改查詢字符串中傳遞的值,例如將AlbumID=1改成 AlbumID=8,這樣修改甚至可以訪問(wèn)到?jīng)]有權(quán)限的頁(yè)面,要解決查詢字符串的安全問(wèn)題,可以使用下面介紹的加密、解密方法對(duì)查詢字符串中要傳遞的值進(jìn)行加密。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范801 使用DESCryptoSericeProvider類來(lái)實(shí)現(xiàn)加密與解密功能,ESCryptoSericeProvider類的常用方法如下。(1)DESCryptoSer
32、iceProviderCreateDecryptor方法。該方法用指定的密鑰(Key)和初始化量(IV)創(chuàng)建對(duì)稱數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)解密對(duì)象,語(yǔ)法如下:Public override IcryptoTransfrom CreateEncryptor( Byte rgbkey BytergbIV)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范81(2)DESCryptoSericeProviderCreateDecryptor方法。該方法用指定的密鑰(Key)和初始化向量(IV)創(chuàng)建對(duì)稱數(shù)據(jù)解密標(biāo)準(zhǔn)(DES)加密對(duì)象,語(yǔ)法如下:Public override IcryptoTransfrom CreateEn
33、cryptor( Byte rgbkey BytergbIV)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范82(3)CryptoStream構(gòu)造函數(shù)。用目標(biāo)數(shù)據(jù)流、要使用的轉(zhuǎn)換和流的模式初始化CryptoStream類的新實(shí)型。該方法的語(yǔ)法如下:Public cryptostream(Stream stream。IcryptoTransfrom toansform。CryptoStreamMode mode)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范83對(duì)值的加密方法計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范84對(duì)值的解密方法計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范852.6.2 本項(xiàng)目的頁(yè)面間傳值的安全解決方法.計(jì)算機(jī)學(xué)院Web開發(fā)與安全
34、防范86加密URL參數(shù)AlbumID值后,輸入http:/localhost:1738/WebSite1/Handler.ashx?AlbumID=v9JRx0NQ0KI=計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范87如果輸入http:/localhost:1738/WebSite1/Handler.ashx?AlbumID=1,不能訪問(wèn),有效解決了安全問(wèn)題計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范88綜合練習(xí)1.在網(wǎng)頁(yè)間如何傳遞參數(shù)及如何獲得傳遞參數(shù)的值?2.修改HTTP處理程序,實(shí)現(xiàn)通過(guò)文件名以及圖片大小顯示圖片。3.新建一個(gè)數(shù)據(jù)庫(kù),存放圖片的路徑、圖片標(biāo)題、拍攝日期信息。4. 將手機(jī)拍攝的照片存放在指定目錄中,
35、利用上題建立的數(shù)據(jù)庫(kù),編寫自定義HTTP處理程序,顯示這些照片。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范89謝謝!計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范90“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第3章 創(chuàng)建母版頁(yè)及頁(yè)面導(dǎo)航 知識(shí)目標(biāo)理解母版頁(yè)的優(yōu)點(diǎn)頁(yè)面導(dǎo)航的實(shí)現(xiàn)理解Web.config的安全問(wèn)題計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范93技能目標(biāo)掌握母版頁(yè)的新建在項(xiàng)目化教程中實(shí)現(xiàn)頁(yè)面導(dǎo)航在項(xiàng)目化教程中實(shí)現(xiàn)Web.config安全防范計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范94任務(wù)導(dǎo)航頁(yè)面的設(shè)計(jì)、管理是網(wǎng)站運(yùn)行的一個(gè)重要方面,ASP.NET提供
36、了母版頁(yè)和頁(yè)面導(dǎo)航技術(shù),極大地方便了大、中型網(wǎng)站頁(yè)面的設(shè)計(jì)、管理。在母版頁(yè)及頁(yè)面導(dǎo)航顯示相冊(cè)任務(wù)中,介紹了如何使用母版頁(yè)簡(jiǎn)化頁(yè)面制作,并在項(xiàng)目化教程中使用母版頁(yè)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范95技能基礎(chǔ)3.1 條件語(yǔ)句1. if語(yǔ)句if語(yǔ)句,它有三種基本形式:?jiǎn)畏种нx擇,二分支選擇,多分支選擇。此三種形式的用法見例2-1。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范962. switch 語(yǔ)句當(dāng)程序中需要判斷的分支較多時(shí),使用 switch 語(yǔ)句更為直觀計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范973.2 循環(huán)語(yǔ)句C#提供了 4 種類型的循環(huán)語(yǔ)句: while 語(yǔ)句、 do- while 語(yǔ)句、 for 語(yǔ)句和 for
37、each 語(yǔ)句。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范983.3 跳轉(zhuǎn)結(jié)構(gòu)用于暫停執(zhí)行當(dāng)前代碼,而去執(zhí)行另一部分代碼,例如break語(yǔ)句、continue語(yǔ)句、goto語(yǔ)句、return語(yǔ)句和throw語(yǔ)句。 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范993.4 任務(wù)一:實(shí)現(xiàn)母版頁(yè)3.4.1 母版頁(yè)的優(yōu)點(diǎn)可以節(jié)省重復(fù)設(shè)計(jì)的大量時(shí)間,如果需要修改頁(yè)面的頭部和腳部,只需修改這個(gè)模板中的相應(yīng)部分即可,非常有利于網(wǎng)頁(yè)的制作和管理計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1003.4.2 設(shè)計(jì)母版頁(yè)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范101在“解決方案資源管理器”中雙擊母版文件Default.master,查看該母版文件的設(shè)計(jì)視圖計(jì)算機(jī)學(xué)院
38、Web開發(fā)與安全防范102母版頁(yè)Default.master的代碼視圖計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1032.設(shè)計(jì)母版頁(yè)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范104計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1053.4.3 在項(xiàng)目中使用母版頁(yè)1.新建Albums.aspx頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范106計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1072.新建Photos.aspx頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1083.新建Details.aspx頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1094新建Download.aspx頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1105 新建Admin目錄下的Albums.aspx頁(yè)面計(jì)算機(jī)
39、學(xué)院Web開發(fā)與安全防范1116 新建Admin 目錄下的Photos.aspx頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1127新建Admin目錄下的Details.aspx頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1133.5 任務(wù)二:實(shí)現(xiàn)頁(yè)面導(dǎo)航網(wǎng)站是由許許多多的頁(yè)面組成的,網(wǎng)站中頁(yè)面之間的導(dǎo)航,即頁(yè)面之間的相互鏈接3.5.1 創(chuàng)建站點(diǎn)地圖文件計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范114在網(wǎng)站中新建了8個(gè)頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1152.建立站點(diǎn)地圖文件計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范116站點(diǎn)地圖文件Web.sitemap代碼計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1173.5.2 使用TreeView控件實(shí)現(xiàn)
40、導(dǎo)航計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1183.5.3 使用SiteMapPath控件顯示導(dǎo)航路徑計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1193.5.4 使用Menu控件實(shí)現(xiàn)導(dǎo)航菜單計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1203.5.5 在母版頁(yè)中實(shí)現(xiàn)站點(diǎn)導(dǎo)航計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1213.創(chuàng)建內(nèi)容頁(yè)面計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1223.5.6 在項(xiàng)目中實(shí)現(xiàn)頁(yè)面導(dǎo)航1 建立Web.sitemap計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1232 SiteMapDataSource單擊左邊控件工具箱中“數(shù)據(jù)”控件組下面的SiteMapDataSource控件,然后將其拖放到母版Default.master頁(yè)面的下方
41、即可。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1243使用Menu單擊控件工具箱中“導(dǎo)航”控件組下面的“Menu”控件,并將其拖放到母版Default.master頁(yè)面上方的相關(guān)位置計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1254 使用SiteMapPath 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1263.6 任務(wù)三:Web.config的安全防御Admin目錄下用模板頁(yè)新建了3個(gè)頁(yè)面,只允許有管理員權(quán)限的用戶訪問(wèn),這個(gè)功能通過(guò)在Web.config中“”節(jié)進(jìn)行控制計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范127例如當(dāng)運(yùn)行Admin目錄下的Albums.aspx頁(yè)面時(shí),系統(tǒng)并不會(huì)跳轉(zhuǎn)到此頁(yè),而需要對(duì)用戶進(jìn)行身份驗(yàn)證計(jì)算機(jī)學(xué)院Web開
42、發(fā)與安全防范128如果要加密一個(gè)配置節(jié),使用SectionInformation類的ProtectSection()方法,傳遞想要使用的提供程序的名字來(lái)執(zhí)行加密。當(dāng)需要解密文件配置節(jié)時(shí),需要調(diào)用SectionInformation類的UnProtectSection()方法(1)ProtectSection方法Public void ProtectSection(string protectionProvider)(2)UnprotectSection方法Public void UnprotectSection(string protectionProvider)計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范
43、129在本項(xiàng)目中我們?nèi)缦逻M(jìn)行加密:在本項(xiàng)目中我們?nèi)缦逻M(jìn)行解密:計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范130運(yùn)行后的加密Web.config效果計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范131綜合練習(xí)1.簡(jiǎn)述“母版頁(yè)”的作用,以及運(yùn)用站點(diǎn)地圖(SiteMap)技術(shù)的好處。2.修改母版,在頭部中網(wǎng)站的頁(yè)面地址鏈接增加“關(guān)于”鏈接。3.對(duì)修改母版頁(yè)后的在第1題中的模板頁(yè)中實(shí)現(xiàn)頁(yè)面導(dǎo)航4.站點(diǎn)地圖文件是否表示真實(shí)的物理文件存儲(chǔ)結(jié)構(gòu)?請(qǐng)使用導(dǎo)航控件TreeView和SiteMap實(shí)現(xiàn)站點(diǎn)地圖。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范132謝謝!計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范133“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定
44、委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第4章 顯示相冊(cè)任務(wù)目標(biāo)理解ADO.NET及命名空間掌握SqlDataSource控件用法,學(xué)會(huì)配置數(shù)據(jù)源掌握DataList控件用法掌握FormView控件用法了解SQL注入攻擊的原理及方法計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范136技能目標(biāo)顯示相冊(cè)信息:使用SqlDataSource、DataList控件顯示每一相冊(cè)中第1張照片和其他相關(guān)信息。顯示某一相冊(cè)中的所有照片:使用DataList控件實(shí)現(xiàn)在頁(yè)面中顯示指定相冊(cè)所包括的所有照片。顯示某張照片:學(xué)會(huì)使用FormView控件實(shí)現(xiàn)在頁(yè)面中顯示指定的照片。針對(duì)SQL Serve
45、r數(shù)據(jù)庫(kù)進(jìn)行SQL注入攻擊,得到數(shù)據(jù)庫(kù)服務(wù)器中的有效信息。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范137技能基礎(chǔ):C#數(shù)組計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范138在C中,數(shù)組類型是派生自抽象基類System.Array的引用類型,它代表一組相同類型變量的集合。數(shù)組由一組類型相同的有序數(shù)據(jù)構(gòu)成,所有數(shù)據(jù)占據(jù)一塊連續(xù)的內(nèi)存空間;數(shù)組名的命名要遵循標(biāo)識(shí)符的命名規(guī)則。數(shù)據(jù)類型可以是任何數(shù)據(jù)類型,包括數(shù)組類型。數(shù)組按維數(shù)可以分為一維數(shù)組、二維數(shù)組等。數(shù)組元素的訪問(wèn)是通過(guò)數(shù)組下標(biāo)來(lái)實(shí)現(xiàn)的。C數(shù)組的下標(biāo)是從0開始計(jì)數(shù)的,即第一個(gè)元素對(duì)應(yīng)的下標(biāo)是0,以后元素逐個(gè)遞增。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1394.1.1 一維數(shù)組
46、1、聲明數(shù)組: 類型 數(shù)組名; 例如:int num; /聲明一個(gè)整型數(shù)組num float a,b ; /聲明兩個(gè)float數(shù)組a,b 注意:(1)int是整型數(shù)組,數(shù)組變量名放在方括號(hào)后面。(2)數(shù)組名不可放在方括號(hào)前面。(3)聲明一個(gè)數(shù)組變量不可指定數(shù)組長(zhǎng)度。聲明一個(gè)數(shù)組變量并未給數(shù)組分配內(nèi)存。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1402、創(chuàng)建數(shù)組的三種方式:(1)先聲明數(shù)組,再創(chuàng)建數(shù)組對(duì)象。 類型 數(shù)組名; /聲明數(shù)組引用 數(shù)組名=new類型元素個(gè)數(shù);/創(chuàng)建數(shù)組對(duì)象 例如:int arr;arr=new int6;(2)聲明數(shù)組的同時(shí)創(chuàng)建數(shù)組對(duì)象。 類型 數(shù)組名=new類型 元素個(gè)數(shù); 例如
47、:int arr=new int6;(3)使用new創(chuàng)建數(shù)組對(duì)象的同時(shí),初始化數(shù)組所有元素。 類型 數(shù)組名=new類型 初值表; 例如: int arr=new int 1,2,3,4,5,6;計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1413. 訪問(wèn)數(shù)組元素?cái)?shù)組元素的訪問(wèn)必須借助數(shù)組名和元素的序號(hào):數(shù)組名下標(biāo)在C中,數(shù)組元素的下標(biāo)是從零開始的,即第一個(gè)元素的下標(biāo)為0,最后的下標(biāo)是數(shù)組長(zhǎng)度減1。通常情況下,數(shù)組的下標(biāo)應(yīng)該是整數(shù)或整數(shù)表達(dá)式?!?。每個(gè)數(shù)組對(duì)象都有一個(gè)Length屬性來(lái)表示數(shù)據(jù)的長(zhǎng)度。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范142例:求數(shù)組的最小值和最大值public partial class tes
48、tarray : System.Web.UI.Page private void Page_Load(object sender, System.EventArgs e) GetMax();/比較數(shù)字大小 void GetMax() int intList = new int 33, 55, 11, 22, 45, 16, 78, 626, 102, 21 ; string strList = ; short i; for (i = 0; i = 9; i+) strList = strList + intListi.ToString() + ,“; lblNumber.Text = strL
49、ist; Array.Sort(intList); lblMinNumber.Text = intList0.ToString();/最小值 Array.Reverse(intList); /翻轉(zhuǎn)數(shù)組 lblMaxNumber.Text = intList0.ToString();/最大值 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1434.1.2 多維數(shù)組多維數(shù)組有多個(gè)下標(biāo),例如二維數(shù)組聲明的語(yǔ)法為: 數(shù)組類型 , 數(shù)組名;數(shù)組類型 數(shù)組名;注意:(1)多維數(shù)組可以在聲明的時(shí)候初始化,也可以使用new關(guān)鍵字進(jìn)行初始化。(2)初始化時(shí)數(shù)組的每一行值都使用括號(hào)包括起來(lái),行與行間用逗號(hào)分隔。(3)要訪問(wèn)多維數(shù)
50、組中的每個(gè)元素,只需指定它們的下標(biāo),并用逗號(hào)分隔開。 計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范144小結(jié)掌握一維數(shù)組的聲明、定義及引用掌握數(shù)組對(duì)象的屬性及方法了解多維數(shù)組的聲明及定義計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范145“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第4章 顯示相冊(cè)任務(wù)一:使用ADO.NET操作數(shù)據(jù)庫(kù)1.1 ADO.NET及命名空間1.ADO.NET數(shù)據(jù)庫(kù)操作、C#語(yǔ)言基礎(chǔ)、常見對(duì)象、服務(wù)器控件一起組成了ASP.NET知識(shí)的四大板塊數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System,DBMS
51、)是操縱和管理數(shù)據(jù)的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù)ADO.NET是ASP.NET與數(shù)據(jù)庫(kù)之間的接口ADO.NET是一個(gè)類庫(kù),利用這些類提供的對(duì)象可以完成數(shù)據(jù)庫(kù)的各種操作ADO.NET共有五個(gè)常用對(duì)象,它們是Connection、Command、DataReader、DataSet和DataAdapter計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范148對(duì)象名稱功能說(shuō)明Connection提供和數(shù)據(jù)源的連接功能Command提供運(yùn)行訪問(wèn)數(shù)據(jù)庫(kù)命令,傳送數(shù)據(jù)或修改數(shù)據(jù)的功能,例如運(yùn)行SQL命令和存儲(chǔ)過(guò)程等DataSet數(shù)據(jù)在內(nèi)存中的表示形式。像普通數(shù)據(jù)庫(kù)中的表一樣DataAdapter是DataSet對(duì)象
52、和數(shù)據(jù)源間的橋梁,DataAdapter使用4個(gè)Command對(duì)象來(lái)運(yùn)行查詢、新建、修改、刪除的SQL命令,把數(shù)據(jù)加載到DataSet,或者把DataSet內(nèi)的數(shù)據(jù)送回?cái)?shù)據(jù)庫(kù)DataReader通過(guò)Command對(duì)象運(yùn)行SQL查詢命令取得數(shù)據(jù)流,以便進(jìn)行高速、只讀的數(shù)據(jù)瀏覽計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范149ADO.NET常用對(duì)象及功能2.使用System.Data命名空間使用ADO.NET的第一步是引用命名空間,其中含有所有的ADO.NET類。代碼如下所示:Using System.Data;ADO.NET存在多種不同的數(shù)據(jù)提供者,而不同的數(shù)據(jù)提供者又對(duì)應(yīng)不同的命名空間,因此在使用數(shù)據(jù)提供者
53、時(shí)要根據(jù)不同的情況選擇對(duì)應(yīng)最佳的命名空間。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1503.使用ADO.NET數(shù)據(jù)庫(kù)的訪問(wèn)流程ADO.NET數(shù)據(jù)庫(kù)訪問(wèn)的一般流程如下。建立Connection對(duì)象,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接在建立連接的基礎(chǔ)上可以使用Command對(duì)象對(duì)數(shù)據(jù)庫(kù)發(fā)送查詢、新增、修改和刪除等命令。創(chuàng)建DataAdapter對(duì)象,從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)創(chuàng)建DataSet對(duì)象,將DataAdapter對(duì)象填充到DataSet對(duì)象(數(shù)據(jù)集)中。如果需要,可以重復(fù)操作,一個(gè)DataSet對(duì)象可以容納多個(gè)數(shù)據(jù)集合。關(guān)閉數(shù)據(jù)庫(kù)。在DataSet上進(jìn)行所需要的操作,數(shù)據(jù)集的數(shù)據(jù)要輸出到窗體中或者網(wǎng)頁(yè)上面,需要設(shè)定數(shù)據(jù)顯
54、示控件的數(shù)據(jù)源為數(shù)據(jù)集。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1511.2 使用Connection對(duì)象連接數(shù)據(jù)庫(kù)1.數(shù)據(jù)庫(kù)連接概述SqlConnection對(duì)象的屬性及方法計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范152屬性及方法功 能ConnectionString讀取或設(shè)置打開數(shù)據(jù)庫(kù)的字符串Connection Timeout讀取數(shù)據(jù)庫(kù)嘗試連接的秒數(shù),默認(rèn)值是15秒Data Source或Server連接打開時(shí)使用的數(shù)據(jù)庫(kù)所在的服務(wù)器名稱或文件夾名稱Database或Initial Catalog讀取或設(shè)置連接的數(shù)據(jù)庫(kù)名稱User ID或UidSQL Server登陸帳戶(僅在使用SQL帳號(hào)登陸時(shí)設(shè)置)Pa
55、ssword或PwdSQL Server登陸密碼(僅在使用SQL帳號(hào)登陸時(shí)設(shè)置)Integrated Secutity此參數(shù)決定連接是否安全,可能的值有true、false和SSIP(true和SSIP具有相同意義)State讀取當(dāng)前連接狀態(tài)Open( )打開數(shù)據(jù)連接Close( )關(guān)閉數(shù)據(jù)連接2.使用SQLConnection對(duì)象連接SQL Server數(shù)據(jù)庫(kù)SqlConnection類用于建立與SQL Server服務(wù)連接,語(yǔ)法格式如下:(1)直接定義SqlConnection對(duì)象con:SqlConnection con=new SqlConnection(“Server=服務(wù)器名;Us
56、er Id=用戶; Pwd=密碼;DataBase=數(shù)據(jù)庫(kù)名稱”);(2)或者分兩步完成:/先定義連接字符串step1:ConnnectionString=“Server=服務(wù)器名;User Id=用戶; Pwd=密碼;DataBase=數(shù)據(jù)庫(kù)名稱”;/再將連接字符串做為參數(shù),定義SqlConnection對(duì)象con step2:SqlConnectin con=new SqlConnection(ConnectionString);計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范153例:通過(guò)ADO.NET連接本地SQL Server中的pubs數(shù)據(jù)庫(kù):/創(chuàng)建連接數(shù)據(jù)庫(kù)的連接字符串string Connect
57、ionString1 = Server=(local);UserId=sa;Pwd=;DataBase=pubs;/創(chuàng)建SqlConnection對(duì)象SqlConnection con = new SqlConnection(ConnectionString1);/打開數(shù)據(jù)庫(kù)的連接con.Open();/數(shù)據(jù)庫(kù)相關(guān)操作/關(guān)閉數(shù)據(jù)庫(kù)連接con.Close();計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1541.3 使用Command對(duì)象操作接數(shù)據(jù)庫(kù)Command對(duì)象的常用屬性及說(shuō)明計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范155屬性及方法說(shuō) 明CommandType獲取或設(shè)置Command對(duì)象要執(zhí)行命令的類型Comma
58、ndText獲取或設(shè)置要對(duì)數(shù)據(jù)源執(zhí)行的SQL語(yǔ)句、存儲(chǔ)過(guò)程名或表名CommandTimeOut獲取或設(shè)置在終止對(duì)執(zhí)行命令的嘗試并生成錯(cuò)誤之前的等待時(shí)間Connection獲取可設(shè)置些Command對(duì)象使用的Connection對(duì)象的名稱Parameters獲取Command對(duì)象需要使用的參數(shù)集合ExecuteNonQuery()執(zhí)行SQL語(yǔ)句并返回受影響的行數(shù)ExecuteReader()執(zhí)行返回?cái)?shù)據(jù)集的Select語(yǔ)句ExecuteScalar()執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第1行的第1列數(shù)據(jù)庫(kù)操作有兩種方法使用,一種是連線方式,另外一種是離線方式。連線方式使用DataReader對(duì)
59、象保存數(shù)據(jù)查詢結(jié)果,只能對(duì)數(shù)據(jù)庫(kù)只能執(zhí)行讀操作,而不能進(jìn)行修改、增加與刪除記錄等操作;離線方式使用DataAdapter和DataSet對(duì)象,可以實(shí)現(xiàn)修改、增加與刪除記錄等操作,所以比連線方式具有更強(qiáng)大的功能。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范156小結(jié)掌握connection對(duì)象連接數(shù)據(jù)庫(kù)的方法掌握command對(duì)象操作數(shù)據(jù)庫(kù)的方法計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范157“十二五”職業(yè)教育國(guó)家規(guī)劃教材(經(jīng)全國(guó)職業(yè)教育教材審定委員會(huì)審定) 高等職業(yè)教育精品示范教材(信息安全系列)Web開發(fā)與安全防范第4章 顯示相冊(cè)任務(wù)二:數(shù)據(jù)控件的使用目標(biāo)使用SqlDataSource控件連接數(shù)據(jù)源使用DataLis
60、t控件顯示相冊(cè)內(nèi)容使用DataList控件顯示所有照片使用FormView控件顯示某張照片計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范1602.1 使用SqlDataSource連接相冊(cè)數(shù)據(jù)庫(kù)在VS中,封裝了一些數(shù)據(jù)源控件和數(shù)據(jù)訪問(wèn)控件。數(shù)據(jù)源控件允許使用不同類型的數(shù)據(jù)源,如數(shù)據(jù)庫(kù)、XML文件或中間層業(yè)務(wù)對(duì)象,通過(guò)數(shù)據(jù)源控件可以連接到數(shù)據(jù)源。數(shù)據(jù)訪問(wèn)控件可以綁定到數(shù)據(jù)源控件,進(jìn)而綁定到數(shù)據(jù)源。通過(guò)使用這些控件完成數(shù)據(jù)庫(kù)中的數(shù)據(jù)顯示、編輯、添加、刪除等操作。計(jì)算機(jī)學(xué)院Web開發(fā)與安全防范161常見數(shù)據(jù)源控件SqlDataSource:該數(shù)據(jù)源控件功能強(qiáng)大,它不僅允許連接Microsoft SQL Server
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時(shí)用電安全設(shè)施維護(hù)保養(yǎng)合同文本2篇
- 2025年度產(chǎn)品代理合同:智能家電全系列產(chǎn)品代理權(quán)轉(zhuǎn)讓
- 2025版內(nèi)蒙古自治區(qū)農(nóng)牧廳農(nóng)業(yè)產(chǎn)業(yè)鏈延伸與價(jià)值鏈提升合同4篇
- 二零二五年度臨時(shí)用電安全培訓(xùn)服務(wù)合同范本
- 2025年度食品添加劑研發(fā)項(xiàng)目配料保密合同范本
- 2025年度苗木種植項(xiàng)目招投標(biāo)合同4篇
- 二零二五年度家電品牌代言合同標(biāo)準(zhǔn)范本
- 二零二五年度某某學(xué)校校園內(nèi)電梯維修保養(yǎng)服務(wù)合同4篇
- 《短視頻編?。哼x題構(gòu)想+腳本制作+劇本策劃+鏡頭拍攝》課件 第5、6章 了解劇本:創(chuàng)作優(yōu)劇本的基礎(chǔ)、劇本編寫:創(chuàng)作優(yōu)的故事情節(jié)
- 2025年度鋼材深加工項(xiàng)目運(yùn)輸及安裝合同2篇
- 《霍爾效應(yīng)測(cè)量磁場(chǎng)》課件
- 30題紀(jì)檢監(jiān)察位崗位常見面試問(wèn)題含HR問(wèn)題考察點(diǎn)及參考回答
- 高考作文復(fù)習(xí)任務(wù)驅(qū)動(dòng)型作文的審題立意課件73張
- 詢價(jià)函模板(非常詳盡)
- 《AI營(yíng)銷畫布:數(shù)字化營(yíng)銷的落地與實(shí)戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學(xué)品等特殊管理藥品的使用與管理規(guī)章制度
- 一個(gè)28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務(wù)培訓(xùn)4有限時(shí)間水上迫降
- 2023年低年級(jí)寫話教學(xué)評(píng)語(yǔ)方法(五篇)
- DB22T 1655-2012結(jié)直腸外科術(shù)前腸道準(zhǔn)備技術(shù)要求
- GB/T 16474-2011變形鋁及鋁合金牌號(hào)表示方法
評(píng)論
0/150
提交評(píng)論