




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學(xué)習(xí)情境4 前臺用戶登錄廖黎莉任務(wù)描述在三層體系結(jié)構(gòu)中訪問數(shù)據(jù)庫中的數(shù)據(jù)實現(xiàn)“迅捷網(wǎng)站前臺用戶登錄功能4.1在三層體系結(jié)構(gòu)中訪問數(shù)據(jù)庫數(shù)據(jù)實體類數(shù)據(jù)訪問層(數(shù)據(jù)表)業(yè)務(wù)邏輯層實體類表示層用戶輸入1.數(shù)據(jù)實體類三層之間的數(shù)據(jù)傳遞是通過傳輸數(shù)據(jù)實體類對象來實現(xiàn)的。數(shù)據(jù)實體類的定義:數(shù)據(jù)庫中的某張表用面向?qū)ο蟮乃枷氤橄蟪深?,使?shù)據(jù)作為對象來使用。數(shù)據(jù)實體類的使用:表示層:實例化數(shù)據(jù)實體類對象,將輸入的數(shù)據(jù)作為實體類對象的屬性,傳遞給業(yè)務(wù)邏輯業(yè)務(wù)邏輯層:傳遞實體類給表示層或數(shù)據(jù)訪問層數(shù)據(jù)訪問層:將數(shù)據(jù)實體類對象中的數(shù)據(jù)提取出來保存到數(shù)據(jù)庫。創(chuàng)立數(shù)據(jù)實體類工程步驟一:在“解決方案資源管理器中,右鍵單擊選
2、擇“添加-“新建工程。步驟二:選擇模板類型為“類庫,工程名稱為“models,工程類型為“C#。步驟三:在web、bll、dal三個工程中分別添加對models的引用。步驟四:在models工程中添加實體類文件user .cs。步驟五:在models工程中添加實體類文件userrole . cs。步驟六:在models工程中添加實體類文件userstate .cs。為什么要添加引用?只有添加引用后,才可使用該工程下的類對象。2.數(shù)據(jù)訪問層數(shù)據(jù)訪問層DAL封裝了所有與SQL SERVER數(shù)據(jù)庫交互的操作,這些操作都是基于ADO.NET實現(xiàn)的。表名+serviceSystem.data提供的根本類
3、。數(shù)據(jù)庫好比水源,存儲了大量的數(shù)據(jù)。Connection好比伸入水中的進水籠頭,保持與水的接觸,只有它與水進行了“連接,其他對象才可以抽到水。 Command那么像抽水機,為抽水提供動力和執(zhí)行方法,通過“水龍頭,然后把水返給上面的“水管。DataAdapter、DataReader就像輸水管,擔(dān)任著水的傳輸任務(wù),并起著橋梁的作用。DataAdapter 像一根輸水管,通過發(fā)動機,把水從水源輸送到水庫里進行保存。DataReader 也是一種水管,和DataAdapter不同的是,DataReader不把水輸送到水庫里面,而是單向地直接把水送到需要水的用戶那里或田地里,所以要比在水庫中轉(zhuǎn)一下更快
4、更高效。DataSet那么是一個大水庫,把抽上來的水按一定關(guān)系的池子進行存放。即使撤掉“抽水裝置斷開連接,離線狀態(tài),也可以保持“水的存在。這也正是ADO.NET的核心。DataTable那么像水庫中的每個獨立的水池子,分別存放不同種類的水。一個大水庫由一個或多個這樣的水池子組成。 Connection對象用于建立與數(shù)據(jù)庫的連接。建立數(shù)據(jù)庫連接時,需要指明數(shù)據(jù)庫效勞器、數(shù)據(jù)庫名字、用戶名、密碼,和連接數(shù)據(jù)庫所需要的其它參數(shù)。Connection對象會被Command對象使用,這樣就能夠知道是在哪個數(shù)據(jù)源上面執(zhí)行命令。 屬 性說 明ConnectionString執(zhí)行Open方法連接數(shù)據(jù)源的字符串
5、Database將要打開數(shù)據(jù)庫的名稱DataSource包含數(shù)據(jù)庫的位置和文件State顯示當(dāng)前Connection對象的狀態(tài)屬 性說 明open打開連接close關(guān)閉連接數(shù)據(jù)庫操作對于一個web應(yīng)用系統(tǒng)來說是非常頻繁的,因此將常用的數(shù)據(jù)庫操作封裝在一個數(shù)據(jù)庫通用類中是非常必要的,一般取名為“DBHelper。在web.config文件中參加SqlConnection connection= new SqlConnection();connection.ConnectionString=“Server=(local)SqlExpress;+ “Database=SportShop; +“Use
6、r ID=sa; Password=sa*123;其中Server可以用Data Source或Data Server來代替,Initial Catalog代替Database。用戶授權(quán)信息Server認證模式Windows認證模式只讀屬性字段OOP術(shù)語類:是對數(shù)據(jù)以及數(shù)據(jù)依賴的功能進行的封裝,人對象:類的一個實例,張三字段:用于保存值的成員變量方法:對對象進行操作的實際代碼段,各種成員函數(shù)和結(jié)構(gòu)類型都可以稱為方法,睡覺 構(gòu)造函數(shù):特殊的方法,用于創(chuàng)立對象時初始化對象,眼睛、鼻子 屬性:特殊的方法,使用時類似于字段,但能控制訪問,實現(xiàn)更好的封裝實例成員:屬于類的實例對象所有可以是方法、字段靜態(tài)
7、成員:屬于類所有可以是方法、字段,只能訪問類的靜態(tài)成員Public、 private、 protected修飾符的區(qū)別:1、public:說明該數(shù)據(jù)成員、成員函數(shù)是對所有用戶開放的,所有用戶都可以直接進行調(diào)用 2、 private :表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產(chǎn)神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、 protected :對于子女、朋友來說,就是public的,可以自由使用,沒有任何限制,而對于其他的外部class, protected就變成private 。Static靜態(tài)數(shù)據(jù)的特點:該變量在全局數(shù)據(jù)區(qū)分配內(nèi)存,而不是保存在
8、棧中,每次的值保持到下一次調(diào)用,直到下次賦新值。 Command對象使用Connection 對象與數(shù)據(jù)源建立連接后,可使用Command 對象對數(shù)據(jù)源執(zhí)行查詢、添加、刪除和修改等各種操作,操作實現(xiàn)的方法可以使用SQL語句,也可以使用存儲過程。 屬 性說 明CommandType獲取或設(shè)置Command對象要執(zhí)行命令的類型CommandText獲取或設(shè)置對數(shù)據(jù)源執(zhí)行的SQL語句或存儲過程名或表名CommandTimeOut獲取或設(shè)置在終止對執(zhí)行命令的嘗試并生成錯誤之前的等待時間parametersSQL命令參數(shù)集合Connection獲取或設(shè)置此Command 對象使用的Connection對
9、象的名稱方 法說 明ExecuteNonQuery執(zhí)行SQL語句并返回受影響的行數(shù)ExecuteScalar執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第一行的第一列。忽略其他列或行ExecuteReader執(zhí)行返回數(shù)據(jù)集的SELECT語句創(chuàng)立命令-執(zhí)行命令添加、刪除、更新操作查詢操作,返回第一行,第一列提取數(shù)據(jù)集的方法有連接的:對象Command與DataReader配合使用無連接的:對象DataAdapter與DataSet、DataTable配合使用區(qū)別:DataSet可以離線處理,前后滾動;DataReader不能離線處理,且是只讀的向前的。DataReader速度明顯會比DataSet快。
10、DataSet可以存儲數(shù)據(jù)庫各種對象的,比方表觸發(fā)器等,而DataReader只能存儲游標(biāo)記錄。DataSet可以更新回原來的數(shù)據(jù)庫,DataReader不行。 DataSet類比DataReader類有更多的功能,這就可以讓你在更多的情況下運用它們。但這并不意味著你總是在用DataSet類。你需要在ASP.NET中完成的相當(dāng)大一局部的任務(wù)都屬于DataReader的范疇。 DataAdapter對象創(chuàng)立數(shù)據(jù)庫連接創(chuàng)立命令對象用DadaAdapter翻開連接并讀取數(shù)據(jù)將返回的數(shù)據(jù)保存到DataSet組件應(yīng)用程序離線處理數(shù)據(jù)將更新后的數(shù)據(jù)保存回數(shù)據(jù)庫屬 性說 明SelectedCommand從數(shù)
11、據(jù)庫中檢索數(shù)據(jù)InsertCommand向數(shù)據(jù)庫插入數(shù)據(jù)DeleteCommand刪除數(shù)據(jù)庫中的數(shù)據(jù)UpdateCommand更新數(shù)據(jù)庫的數(shù)據(jù)方 法說 明SqlDataAdapter方法構(gòu)造函數(shù),創(chuàng)建SqlDataAdapter對象,并設(shè)置相應(yīng)的屬性。Fill方法從數(shù)據(jù)庫中讀取數(shù)據(jù),用來填充或刷新DataSet對象,返回受影響的行數(shù)。Update方法檢查DataSet對象中是否發(fā)生改變,并將改變提交到數(shù)據(jù)庫中,返回受影響的行數(shù)。DataSet對象DataSet:數(shù)據(jù)集是內(nèi)存中的一個虛擬數(shù)據(jù)庫。 DataSet的主要作用:將數(shù)據(jù)庫中取出來的數(shù)據(jù)緩存在內(nèi)存中。 DataSet由一組DataTabl
12、e對象組成 。屬 性說 明Tables屬性數(shù)據(jù)集中包含的數(shù)據(jù)表的集合。Ralations屬性數(shù)據(jù)集中包含的數(shù)據(jù)聯(lián)系的集合。DataSetName屬性用于獲取或設(shè)置當(dāng)前數(shù)據(jù)集的名稱。HasErrors屬性用于判斷當(dāng)前數(shù)據(jù)集中是否存在錯誤。方 法說 明Clear方法清除數(shù)據(jù)集包含的所有表中的數(shù)據(jù),但不清除表結(jié)構(gòu)。Reset方法清除數(shù)據(jù)集包含的所有表中的數(shù)據(jù),而且清除表結(jié)構(gòu)。HasChanges方法判斷當(dāng)前數(shù)據(jù)集是否發(fā)生了更改,更改的內(nèi)容包括添加行、修改行或刪除行。RejectChanges方法撤銷數(shù)據(jù)集中所有的更改。以下情況使用DataSet在結(jié)果的多個離散表之間進行導(dǎo)航。操作來自多個數(shù)據(jù)源例如,
13、來自多個數(shù)據(jù)庫、一個XML文件和一個電子表格的混合數(shù)據(jù)的數(shù)據(jù)。重用同樣的記錄集合,以便通過緩存獲得性能改善例如排序、搜索或篩選數(shù)據(jù)。每條記錄都需要執(zhí)行大量處理。對使用DataReader返回的每一行進行擴展處理會延長效勞于DataReader的連接的必要時間,這影響了性能。DataSet舉例創(chuàng)立一個sql connection對象創(chuàng)立一個sql dataadapter對象設(shè)置dataadapter的selectcommand屬性創(chuàng)立一個dataset對象填充dataset對象,表名為vote返回datatable類型的結(jié)果Datareader對象使用datareader類可以實現(xiàn)對特定數(shù)據(jù)源中
14、的數(shù)據(jù)進高速、只讀、只向前的數(shù)據(jù)訪問。Datareader是依賴與連接的對象,只能在與數(shù)據(jù)源保持連接的狀態(tài)下工作。讀取數(shù)據(jù)的步驟:創(chuàng)立連接connection對象創(chuàng)立command對象調(diào)用comand對象的executereader方法執(zhí)行查詢使用datareader對象的read方法讀取數(shù)據(jù)關(guān)閉datareader對象關(guān)閉command對象關(guān)閉connection對象屬 性說 明hasrows是否返回了結(jié)果FieldCount獲取當(dāng)前行的列數(shù)Item索引器屬性,以原始格式獲得一列的值方 法說 明Read使DataReader對象前進到下一條記錄(如果有)Close關(guān)閉DataReader對象
15、。注意,關(guān)閉閱讀器對象并不會自動關(guān)閉底層連接Get用來讀取數(shù)據(jù)集的當(dāng)前行的某一列的數(shù)據(jù)數(shù)據(jù)NextResult當(dāng)讀取批處理 SQL 語句的結(jié)果時,使數(shù)據(jù)讀取器前進到下一個結(jié)果以下情況使用DataReader不需要緩存數(shù)據(jù)。要處理的結(jié)果集太大,內(nèi)存中放不下。一旦需要以僅向前、只讀方式快速訪問數(shù)據(jù)。DataReader舉例創(chuàng)立一個sql connection對象創(chuàng)立一個sql command對象通過executereader執(zhí)行命令將命令執(zhí)行后提取的記錄集存放在sqldatareader對象中將sqldatareader對象作為結(jié)果返回UserService類進行完數(shù)據(jù)庫操作之后,一定要及時關(guān)閉U
16、serStateService類UserRoleService類3.業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層的類通常負責(zé)數(shù)據(jù)的傳遞和業(yè)務(wù)邏輯的處理,一般命名為“數(shù)據(jù)庫表名+manager。業(yè)務(wù)層需要提供哪些方法是根據(jù)實際業(yè)務(wù)需求來確定的。只操作數(shù)據(jù)訪問層方法和實體對象4.表示層Web頁面利用各種控件來顯示與接收數(shù)據(jù),提供所有與用戶進行交互的界面。Web工程內(nèi)容:Admin:存放管理相關(guān)頁面Aspnet_client:客戶端javascript腳本Controls:用戶控件Css:css層疊樣式表文件Datepicker:日期選擇器Images:圖片Tools:存放實現(xiàn)類型轉(zhuǎn)換、獲取URL地址并跳轉(zhuǎn)等功能的類文件Membership:存放網(wǎng)站前臺用戶注冊、登錄等功能的頁面。4.2實現(xiàn)“迅捷網(wǎng)站前臺用戶登錄用戶登錄功能過程分析用戶登錄的表示層實現(xiàn)用戶登錄功能過程分析表示層前臺web頁面Userlogin.aspx表示層后臺代碼業(yè)務(wù)邏輯層Usermanager.cs數(shù)據(jù)訪問層Userservice.csDbhelper.cs用戶登錄登錄按鈕,單擊事件過程調(diào)用業(yè)務(wù)邏輯層Usermanager提供的login方法調(diào)用數(shù)據(jù)訪問層Userservice提供的Getuserbyloginid方法數(shù)據(jù)庫訪問數(shù)據(jù)庫展示處理結(jié)果根據(jù)業(yè)務(wù)邏輯層返回的結(jié)果進行不同的處
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)文化對市場影響的分析試題及答案
- 全面掌握:人力資源管理師考試試題及答案
- 第17課 彩虹的形成(教學(xué)設(shè)計)五年級科學(xué)上冊同步高效課堂系列(冀人版)
- 教師資格證考試常識試題及答案
- 黑龍江省七臺河市2025年初三下學(xué)期3月練習(xí)卷物理試題試卷含解析
- 黑龍江省佳木斯市建三江一中2025年高三下學(xué)期防疫期間“停課不停學(xué)”網(wǎng)上周考(二)化學(xué)試題含解析
- 黑龍江省雙鴨山市第三十一中學(xué)2024-2025學(xué)年高考數(shù)學(xué)試題沖刺試題含解析
- 黑龍江省哈爾濱市實驗中學(xué)2024-2025學(xué)年高三英語試題模擬試題含解析
- 黑龍江省哈爾濱市高中名校2025年高三3月份第一次模擬考試物理試題試卷含解析
- 黑龍江省大慶市一中2024-2025學(xué)年高三階段性測試(二)數(shù)學(xué)試題B卷含解析
- 2025年湖南省長沙市開福區(qū)審計局招聘4人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 人教PEP版英語五年級下冊全冊教案
- 基礎(chǔ)護理學(xué)試題及標(biāo)準(zhǔn)答案
- 2025年四川成都市蒲江鄉(xiāng)村建設(shè)發(fā)展集團有限公司招聘筆試參考題庫附帶答案詳解
- 2024版房產(chǎn)經(jīng)紀人無底薪勞動協(xié)議
- 2025年上半年度交通運輸部南海航海保障中心公開招聘126人工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 社戒社康培訓(xùn)
- 招聘團隊管理
- 船舶建造流程
- 低氧血癥護理查房
- 小學(xué)一年級數(shù)學(xué)20以內(nèi)的口算題(可直接打印A4)
評論
0/150
提交評論