![第5章圖書借閱系統(tǒng)管理員用戶增刪改查詢實(shí)現(xiàn)_第1頁](http://file4.renrendoc.com/view/1620715ba93974757d64c530a4434ee0/1620715ba93974757d64c530a4434ee01.gif)
![第5章圖書借閱系統(tǒng)管理員用戶增刪改查詢實(shí)現(xiàn)_第2頁](http://file4.renrendoc.com/view/1620715ba93974757d64c530a4434ee0/1620715ba93974757d64c530a4434ee02.gif)
![第5章圖書借閱系統(tǒng)管理員用戶增刪改查詢實(shí)現(xiàn)_第3頁](http://file4.renrendoc.com/view/1620715ba93974757d64c530a4434ee0/1620715ba93974757d64c530a4434ee03.gif)
![第5章圖書借閱系統(tǒng)管理員用戶增刪改查詢實(shí)現(xiàn)_第4頁](http://file4.renrendoc.com/view/1620715ba93974757d64c530a4434ee0/1620715ba93974757d64c530a4434ee04.gif)
![第5章圖書借閱系統(tǒng)管理員用戶增刪改查詢實(shí)現(xiàn)_第5頁](http://file4.renrendoc.com/view/1620715ba93974757d64c530a4434ee0/1620715ba93974757d64c530a4434ee05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章
圖書借閱管理系統(tǒng)-管理員用戶增刪改/查詢的實(shí)現(xiàn)學(xué)習(xí)目標(biāo):⒈了解的特點(diǎn)。⒉應(yīng)用SqlConnection、mand、SqlDataAdapter、DataSet、DataTable等類完成增刪改查SQL語句的執(zhí)行及結(jié)果處理。⒊掌握數(shù)據(jù)庫操作類的創(chuàng)建及應(yīng)用。5.1知識梳理-5.1.1介紹是.NETFramework內(nèi)部一組用于訪問數(shù)據(jù)庫的類庫,命名空間System.Data組成了的體系結(jié)構(gòu)。通過.NETDataProvider(數(shù)據(jù)提供者)進(jìn)行數(shù)據(jù)庫的連接與存取,通過DataSet(數(shù)據(jù)集)進(jìn)行數(shù)據(jù)緩存與處理。如圖5-1所示。mandmandmandmandDataAdapterCommandDataReaderConnectionCommand數(shù)據(jù)庫內(nèi)存變量、綁定控件數(shù)據(jù)處理DataTableDataTableDataTableDataRelation.NETDataProviderDataSaet內(nèi)存變量綁定控件數(shù)據(jù)處理圖5-1體系結(jié)構(gòu)5.1.2.NETDataProvider(數(shù)據(jù)提供者)⒈訪問不同數(shù)據(jù)源,“.NETDataProvider”需引用不同的命名空間.NET數(shù)據(jù)提供者包含一組數(shù)據(jù)提供者對象,用于與特定的數(shù)據(jù)源通信。每一個(gè).NET數(shù)據(jù)提供者都有特定的訪問數(shù)據(jù)體系結(jié)構(gòu),它們之間存在很小的差異,在類構(gòu)成、功能和方法調(diào)用方面基本一致。.NET數(shù)據(jù)提供者被組織在特定的命名空間中,表5-1顯示了它們的構(gòu)成。表5-1.NET數(shù)據(jù)提供者命名空間數(shù)據(jù)提供者命名空間說明System.Data.SqlClient支持SQLServer7.0及以上版本System.Data.OleDb支持OLEDB數(shù)據(jù)源,如:MicrosoftAccess等System.Data.Odbc支持直接訪問ODBC數(shù)據(jù)源5.1.2.NETDataProvider(數(shù)據(jù)提供者)⒉.NETDataProvider核心類.NETDataProvider是一組類庫,它統(tǒng)一了各種數(shù)據(jù)源的存取方式,可建立與數(shù)據(jù)源的實(shí)際連接,并可通過執(zhí)行SQL完成數(shù)據(jù)的讀寫操作。詳見表5-2所示。表5-2.NETDataProvider類類名稱說明Connection提供與各種數(shù)據(jù)源的連接,如完成與指定數(shù)據(jù)庫連接Command提供存取數(shù)據(jù)庫的命令,執(zhí)行數(shù)據(jù)傳輸或數(shù)據(jù)修改命令。包括INSERT、DELELE、UPDATE等,同時(shí)也可調(diào)用存放在數(shù)據(jù)庫后臺的存儲過程,實(shí)現(xiàn)讀、寫數(shù)據(jù)庫DataAdapter用于連接數(shù)據(jù)源和DataSet,通過mand、mand、mand、mand對象執(zhí)行SQL命令,完成讀取數(shù)據(jù)庫或根據(jù)DataSet更新數(shù)據(jù)庫DataReader通過Command對象,執(zhí)行SQL查詢命令,創(chuàng)建數(shù)據(jù)流,實(shí)現(xiàn)快速瀏覽數(shù)據(jù)庫5.1.2.NETDataProvider(數(shù)據(jù)提供者)⒊應(yīng)用.NETDataProvider訪問SQLServer2005數(shù)據(jù)庫如果需要使用.NETDataProvider相關(guān)類實(shí)現(xiàn)訪問SQLServer2005數(shù)據(jù)庫,就需要在使用相關(guān)類前,引用訪問SQLServer數(shù)據(jù)庫的命名空間,如代碼5-1所示。代碼5-1://引入命名空間usingSystem.Data.SqlClient;因?yàn)橐朊臻g“System.Data.SqlClient”,所以.NETDataProvider核心類名稱前都加上了前綴“Sql”,如Connection變?yōu)镾qlConnection,Command變?yōu)閙and,以下內(nèi)容將詳細(xì)介紹SqlConnection、mand、SqlDataAdapter類構(gòu)造函數(shù),常用屬性及方法的應(yīng)用。5.1.2.NETDataProvider(數(shù)據(jù)提供者)⑴SqlConnection類1)功能SqlConnection類用于創(chuàng)建與SQLServer數(shù)據(jù)源的連接。2)構(gòu)造函數(shù)publicSqlConnection()//無參構(gòu)造函數(shù)publicSqlConnection(stringconnectionString)connectionString參數(shù)說明:用于打開SQLServer數(shù)據(jù)庫的連接字符串,也稱數(shù)據(jù)庫連接串。數(shù)據(jù)庫連接串通常由服務(wù)器名稱、安全信息、數(shù)據(jù)庫名稱組成。它的基本格式是一系列由分號分隔的關(guān)鍵字/值對,具體如表5-3所示。5.1.2.NETDataProvider(數(shù)據(jù)提供者)表5-3訪問數(shù)據(jù)庫SQLServer2005連接串格式關(guān)鍵字值DataSource表示當(dāng)前連接的SQLServer數(shù)據(jù)庫名稱IntegratedSecurity表示集成安全信息,當(dāng)值為SSPI或True時(shí),連接數(shù)據(jù)庫需使用當(dāng)前的Windows帳戶登錄。否則使用數(shù)據(jù)庫服務(wù)器命名的SQLServer登錄ID和密碼登錄Catalog表示當(dāng)前要訪問的數(shù)據(jù)庫名稱UserID/Password表示混合登錄方式下需要訪問數(shù)據(jù)庫服務(wù)器的登錄ID和密碼5.1.2.NETDataProvider(數(shù)據(jù)提供者)示例:①使用當(dāng)前Windows帳戶訪問數(shù)據(jù)庫方式
stringconnectionString="DataSource=mypc;InitialCatalog=student;IntegratedSecurity=True;";②使用數(shù)據(jù)庫服務(wù)器命名的SQLServer登錄ID及密碼訪問數(shù)據(jù)庫方式
stringconnectionString="DataSource=mypc;InitialCatalog=student;UserID=sa;Password=1;";3)SqlConnection類常用屬性及方法如表5-4所示。⑵mand類1)功能mand的對象用于執(zhí)行一個(gè)SQL語句或存儲過程。2)構(gòu)造函數(shù)publicmand()//無參構(gòu)造函數(shù)publicmand(stringcmdText,SqlConnectionconnection)參數(shù)說明:①cmdText:是一個(gè)SQL語句字符串或是已存在的存儲過程名。②connection:是mand實(shí)例使用的連接對象。3)mand類常用屬性及方法如表5-5所示。5.1.2.NETDataProvider(數(shù)據(jù)提供者)5.1.2.NETDataProvider(數(shù)據(jù)提供者)4)示例:應(yīng)用數(shù)據(jù)庫連接串創(chuàng)建連接對象//數(shù)據(jù)庫連接串connectionString
stringconnectionString="DataSource=mypc;InitialCatalog=student;UserID=sa;Password=1;";①使用無參構(gòu)造函數(shù):SqlConnectionmyConn=newSqlConnection();myConn.ConnectionString=connectionString;②使用有參構(gòu)造函數(shù):SqlConnectionmyConn=newSqlConnection(connectionString);5.1.2.NETDataProvider(數(shù)據(jù)提供者)⑵mand類1)功能mand的對象用于執(zhí)行一個(gè)SQL語句或存儲過程。2)構(gòu)造函數(shù)publicmand()//無參構(gòu)造函數(shù)publicmand(stringcmdText,SqlConnectionconnection)參數(shù)說明: ①cmdText:是一個(gè)SQL語句字符串或是已存在的存儲過程名。 ②connection:是mand實(shí)例使用的連接對象。3)mand類常用屬性及方法如表5-5所示。5.1.2.NETDataProvider(數(shù)據(jù)提供者)表5-5mand類常用屬性及方法屬性名稱說明CommandText用于獲取或設(shè)置需要對數(shù)據(jù)源執(zhí)行的SQL語句或存儲過程名Connection用于獲取或設(shè)置當(dāng)前實(shí)例對象使用的SqlConnection對象方法名稱說明ExecuteReader將CommandText發(fā)送到Connection并生成一個(gè)SqlDataReader對象ExecuteNonQuery執(zhí)行INSERT、DELELE、UPDATE等SQL語句命令或執(zhí)行存儲過程,并可返回影響行數(shù)ExecuteScalar從數(shù)據(jù)庫中檢索單個(gè)值(例如一個(gè)聚合值)ExecuteXmlReader將CommandText發(fā)送到Connection并生成一個(gè)XmlReader對象5.1.2.NETDataProvider(數(shù)據(jù)提供者)4)示例:應(yīng)用SQL語句、連接對象創(chuàng)建命令對象//查詢SQL語句stringcmdText="Selectsno,sname,sex,ageFromStu_Tab";//創(chuàng)建連接對象myConnSqlConnectionmyConn=newSqlConnection(connectionString);①使用無參構(gòu)造函數(shù):mand=newmand();.CommandText=cmdText;.Connection=myConn;②使用有參構(gòu)造函數(shù):mand=newmand(cmdText,myConn);⑶應(yīng)用SqlConnection、mand對象實(shí)現(xiàn)對數(shù)據(jù)表數(shù)據(jù)的增刪改操作示例,如代碼5-2所示。代碼5-25.1.2.NETDataProvider(數(shù)據(jù)提供者)說明:INSERT語句字符串也可更改為修改語句字符串如“UPDATEStu_TabSETage=23WHEREsno=‘04’”,同理也可更改為刪除語句字符串如“DELETEFROMStu_TabWHEREsno=‘04’”,從而實(shí)現(xiàn)修改及刪除數(shù)據(jù)操作。⑷SqlDataAdapter類1)功能SqlDataAdapter也稱適配器,它用于連接數(shù)據(jù)源和DataSet。SqlDataAdapter類通過自己的一組SQL命令屬性和數(shù)據(jù)庫連接屬性,可向DataSet填充數(shù)據(jù)或使用DataSet的數(shù)據(jù)更新數(shù)據(jù)源。圖5-1描述了這種關(guān)系。5.1.2.NETDataProvider(數(shù)據(jù)提供者)2)構(gòu)造函數(shù)DataAdapter的構(gòu)造函數(shù)有多個(gè)重載版本,以下是最基本的構(gòu)造方法:①publicSqlDataAdapter(stringselectText,stringselectConn)參數(shù)說明:
selectText:SQLSelect語句或存儲過程。
selectConn:表示數(shù)據(jù)庫連接字符串。②publicSqlDataAdapter(stringselectText,SqlConnectionselectConn)參數(shù)說明:
selectText:SQLSelect語句或存儲過程。
selectConn:表示該對象所使用的連接對象。3)SqlDataAdapter類常用屬性及方法如表5-6所示。5.1.2.NETDataProvider(數(shù)據(jù)提供者)5.1.2.NETDataProvider(數(shù)據(jù)提供者)4)示例:應(yīng)用SQL語句、數(shù)據(jù)庫連接串、連接對象創(chuàng)建適配器對象//查詢SQL語句stringcmdText="Selectsno,sname,sex,ageFromStu_Tab";//數(shù)據(jù)庫連接串stringconnStr="DataSource=mypc;InitialCatalog=student;UserID=sa;Password=1;";//創(chuàng)建連接對象SqlConnectionmyConn=newSqlConnection(connStr);//使用構(gòu)造函數(shù)①創(chuàng)建適配器對象SqlDataAdapterda=newSqlDataAdapter(cmdText,connStr);//使用構(gòu)造函數(shù)②創(chuàng)建適配器對象SqlDataAdapterda=newSqlDataAdapter(cmdText,myConn);5.1.2.NETDataProvider(數(shù)據(jù)提供者)說明:如表5-6所示SqlDataAdapter類的常用屬性都是Command類型,當(dāng)應(yīng)用有參構(gòu)造函數(shù)創(chuàng)建SqlDataAdapter的對象da時(shí),也初始化了da的mand屬性。在實(shí)際應(yīng)用中,SqlDataAdapter對象的連接屬性必須設(shè)置,而四個(gè)Command類屬性則可根據(jù)需要來設(shè)置,在讀取數(shù)據(jù)庫情況下mand必須設(shè)置,其它三個(gè)屬性用于更新數(shù)據(jù)庫,可不必設(shè)置。⑸應(yīng)用SqlConnection對象、SqlDataAdapter對象將數(shù)據(jù)庫中相關(guān)數(shù)據(jù)載入至DataSet(數(shù)據(jù)集)示例,如代碼5-3所示。代碼5-35.1.3DataSet(數(shù)據(jù)集)數(shù)據(jù)集是的數(shù)據(jù)處理核心,它像數(shù)據(jù)庫一樣允許內(nèi)部存放多個(gè)表對象,表由記錄和數(shù)據(jù)字段組成,它包含主鍵、外鍵,表間也可建立關(guān)系。數(shù)據(jù)集幾乎就是一個(gè)內(nèi)存中的數(shù)據(jù)庫。它即可接納來自DataAdapter讀取來的數(shù)據(jù)庫數(shù)據(jù),也可用于存放應(yīng)用程序通過其它方式獲得的數(shù)據(jù)。它還支持多個(gè)數(shù)據(jù)源、XML數(shù)據(jù)的存取以及數(shù)據(jù)集成,是客戶端的高性能數(shù)據(jù)緩存區(qū)。在離線狀態(tài)下,數(shù)據(jù)集能夠獨(dú)立接受應(yīng)用程序?qū)?shù)據(jù)的增、刪、改操作,并可通過DataAdapter對象更新數(shù)據(jù)庫。DataSet以DataTable(表)對象的集合形式存儲關(guān)系數(shù)據(jù),DataTable由DataRow(行)對象組成,表內(nèi)所有DataRow對象都具有一致的DataColumn(列)結(jié)構(gòu)。DataSet的層結(jié)構(gòu)如圖5-2所示。5.1.3DataSet(數(shù)據(jù)集)數(shù)據(jù)集表集合表行集合列集合行列約束集合約束關(guān)系集合關(guān)系圖5-2DataSet層次對象模型5.1.3DataSet(數(shù)據(jù)集)⒈DataSet類常用屬性及方法如表5-7所示,為DataSet類常用屬性及方法。表5-7DataSet類常用屬性和方法屬性名稱說明Tables獲取包含在DataSet中的表的集合格式1:Tables[索引值]如:Tables[0]格式2:Tables["表名"]如:Tables["dtName"]方法名稱說明AcceptChanges確認(rèn)對所屬DataSet的變更操作Clear通過移除所有表中的所有行,來清除任何數(shù)據(jù)的DataSet5.1.3DataSet(數(shù)據(jù)集)⒉DataTable類常用屬性及方法如表5-8所示,為DataTable類常用屬性及方法。表5-8DataTable類常用屬性和方法屬性名稱說明Columns獲取屬于該表的列的集合格式1:Columns[索引值]如:Columns[0]格式2:Columns["列名"]如:Columns["sno"]Rows獲取屬于該表的行的集合格式:Rows[索引值]如:Rows[0]TableName獲取或設(shè)置DataTable的名稱方法名稱說明AcceptChanges提交自上次調(diào)用AcceptChanges以來對該表進(jìn)行的所有更改Clear清除所有數(shù)據(jù)的DataTable5.1.3DataSet(數(shù)據(jù)集)⒊DataRow類常用屬性及方法如表5-9所示,為DataRow類常用屬性及方法。表5-9DataRow類常用屬性和方法屬性名稱說明[]獲取或設(shè)置存儲在指定列中的數(shù)據(jù)格式1:[索引值]如:[0]格式2:["列名"]如:["sno"]方法名稱說明AcceptChanges提交自上次調(diào)用AcceptChanges以來對該行進(jìn)行的所有更改IsNull獲取一個(gè)值,該值指示指定的列是否包含null值,如果列包含null值,則為true;否則為falseDelete刪除DataRow5.1.3DataSet(數(shù)據(jù)集)⒋常用示例:DataTable、DataRow類應(yīng)用參考代碼5-3,執(zhí)行成功后,數(shù)據(jù)集對象ds中存有一名為“Stu_Tab”的數(shù)據(jù)表對象。且假設(shè)數(shù)據(jù)表內(nèi)數(shù)據(jù)如圖5-3所示。對數(shù)據(jù)表對象中行,單元值的引用如代碼5-4所示。代碼5-4圖5-3“Stu_Tab”的數(shù)據(jù)表對象5.1.3DataSet(數(shù)據(jù)集)說明:形如“dt.Rows[1][1]”可以獲取數(shù)據(jù)表對象單元格的值,但將其賦值給相關(guān)類型變量時(shí),一定要進(jìn)行相關(guān)數(shù)據(jù)類型的轉(zhuǎn)換,否則報(bào)告錯(cuò)誤。如下代碼所示://獲取數(shù)據(jù)表對象dt上行號為3列名為“age”的單元格值,并將其轉(zhuǎn)換為整型intage=(int)dt.Rows[2]["age"];5.1.4異常處理
掌握異常處理機(jī)制需要注意四個(gè)關(guān)鍵字:try、catch、throw、finally。它們組合成了各種特殊的程序結(jié)構(gòu),下面我們來討論這些關(guān)鍵字和結(jié)構(gòu)的用法。⒈try、catch和finally關(guān)鍵字異常處理使用try、catch和finally關(guān)鍵字來嘗試可能未成功的操作以及事后清理資源。⑴try、catch和finally結(jié)構(gòu)語法格式5.1.4異常處理說明: ①try子句中用于放置可能引發(fā)異常的代碼; ②catch子句中放置異常類型和處理異常的代碼,可以用多個(gè)catch捕獲不同類型異常。 ③finally子句包含代碼進(jìn)行資源清理,或者執(zhí)行try子句和catch子句末尾都要執(zhí)行的操作。無論是否產(chǎn)生異常,finally子句都會被執(zhí)行;注意:在應(yīng)用多重catch時(shí),為catch參數(shù)定義的異常子類必須位于所有catch子句序列的基類之前,否則子類catch子句不可能被訪問。5.1.4異常處理⑵try、catch和finally結(jié)構(gòu)執(zhí)行過程當(dāng)try子句中的程序代碼產(chǎn)生異常時(shí),系統(tǒng)就會在catch子句中查找,看是否有與設(shè)置的異常類型相同的catch子句。如果有,就會執(zhí)行該子句中的語句,然后再執(zhí)行finally子句;如果沒有,則轉(zhuǎn)到調(diào)用當(dāng)前方法的方法中繼續(xù)查找。該過程一直繼續(xù)下去,直至找到一個(gè)匹配的catch子句為止。如果一直沒有找到,則運(yùn)行時(shí)將會產(chǎn)生一個(gè)未處理的異常錯(cuò)誤,程序中斷運(yùn)行。如果沒有發(fā)生異常,那么try子句正常結(jié)束,所有的catch子句被忽略,直接執(zhí)行finally子句,然后轉(zhuǎn)向finally子句后第一條語句開始執(zhí)行。5.1.4異常處理⑶try、catch和finally結(jié)構(gòu)的三種常用形式: ①try-catch語句:一個(gè)try子句后接一個(gè)或多個(gè)catch子句。 ②try-finally語句:一個(gè)try子句后接一個(gè)finally子句。 ③try-catch-finally語句:一個(gè)try子句后接一個(gè)或多個(gè)catch子句,后面再跟一個(gè)finally子句。⑷示例:try、catch和finally結(jié)構(gòu)應(yīng)用如代碼5-5所示,在獲取兩數(shù)相除結(jié)果的方法內(nèi),加入異常處理。代碼5-5說明:①Response.Write("<script>alert('XXX')</script>");語句用于彈出對話框。②Exception為所有異常類的基類。③ex為Exception類型對象,通過其屬性Message,可獲取異常信息。5.1.4異常處理⒉throw關(guān)鍵字使用throw語句顯式拋出(引發(fā))異常。在此情況下,控制權(quán)將無條件轉(zhuǎn)到處理異常代碼。throw語句可用于拋出(引發(fā))系統(tǒng)異?;蜃远x異常。如代碼5-6所示,使用throw關(guān)鍵字顯示拋出異常。代碼5-6try{//程序代碼
}catch(Exceptionex){//顯式拋出這個(gè)未處理的異常給調(diào)用者
throwex;}說明:如果拋出的異常沒有被捕獲,則程序?qū)霈F(xiàn)致命錯(cuò)誤。因此在拋出異常時(shí)應(yīng)確保該異常一定會被捕獲。5.2任務(wù)實(shí)施
5.2.1任務(wù)1:實(shí)現(xiàn)管理員用戶的添加
【任務(wù)描述】創(chuàng)建“添加管理員用戶”頁,實(shí)現(xiàn)向users表中添加管理員用戶,添加成功后顯示“添加”成功對話框。效果如圖5-4所示。圖5-4添加管理員用戶頁5.2.1任務(wù)1:實(shí)現(xiàn)管理員用戶的添加【任務(wù)實(shí)現(xiàn)】⒈創(chuàng)建數(shù)據(jù)表users在名為“book”的數(shù)據(jù)庫內(nèi)創(chuàng)建數(shù)據(jù)表users,字段及類型設(shè)置如表5-10所示。表5-10users表字段字段類型是否為空主鍵或外鍵字段說明userIDvarchar(20)NotNullPK管理員用戶名userPwdvarchar(30)NotNull管理員密碼5.2.1任務(wù)1:實(shí)現(xiàn)管理員用戶的添加⒉創(chuàng)建“添加管理員用戶”頁及實(shí)現(xiàn)頁面設(shè)計(jì)在“C:\bookSite\site_admin”文件夾下創(chuàng)建一名為“adminAdd.aspx”的網(wǎng)頁。在“adminAdd.aspx”文件內(nèi)添加如代碼5-7所示內(nèi)容。代碼5-7⒊實(shí)現(xiàn)“添加管理員用戶”頁功能在“adminAdd.aspx.cs”文件內(nèi)添加如代碼5-8所示內(nèi)容。代碼5-85.2.1任務(wù)1:實(shí)現(xiàn)管理員用戶的添加說明:①在設(shè)置增刪改查SQL語句時(shí),由于訪問數(shù)據(jù)表的字段個(gè)數(shù)不定,經(jīng)常采用字符串拼接的寫法,如下代碼所示:
stringsql="INSERTINTOusers(userID,userPwd)";sql+="VALUES('"+userID+"','"+userPwd+"')";②由于增刪改查SQL語句要實(shí)現(xiàn)動態(tài)更新及訪問數(shù)據(jù)表,所以字段取值應(yīng)是動態(tài)的。如上代碼如示,向users表插入數(shù)據(jù)時(shí),插入數(shù)據(jù)的取值由變量userID及userPwd決定。③提示:符號“'”為英文半角狀態(tài)下的單引號。④所有的SQL語句最好在SQLServer2005數(shù)據(jù)庫中能夠執(zhí)行后,再寫入代碼中,以便于調(diào)試。5.2.2任務(wù)2:實(shí)現(xiàn)管理員用戶的修改【任務(wù)描述】創(chuàng)建“修改管理員用戶”頁,實(shí)現(xiàn)對指定管理員用戶名及密碼的修改,修改成功后顯示“修改”成功對話框。效果如圖5-5所示。如圖5-5修改管理員用戶頁5.2.2任務(wù)2:實(shí)現(xiàn)管理員用戶的修改【任務(wù)實(shí)現(xiàn)】⒈創(chuàng)建“修改管理員用戶”頁及實(shí)現(xiàn)頁面設(shè)計(jì)在“C:\bookSite\site_admin”文件夾下創(chuàng)建一名為“adminEdit.aspx”的網(wǎng)頁。在“adminEdit.aspx”文件內(nèi)添加如代碼5-9所示內(nèi)容。代碼5-9⒉實(shí)現(xiàn)“修改管理員用戶”頁功能在“adminEdit.aspx.cs”文件內(nèi)添加如代碼5-10所示內(nèi)容。代碼5-105.2.3任務(wù)3:實(shí)現(xiàn)用戶的登錄【任務(wù)描述】實(shí)現(xiàn)管理員用戶及讀者用戶的登錄,登錄成功后顯示管理員或讀者主頁。效果如圖5-6所示。圖5-6管理員登錄5.2.3任務(wù)3:實(shí)現(xiàn)用戶的登錄【任務(wù)實(shí)現(xiàn)】因?yàn)橛脩舻卿涰摷肮芾韱T主頁頁面設(shè)計(jì)在第4章4.2.2小節(jié)任務(wù)2及4.2.3小節(jié)任務(wù)3中已經(jīng)完成,這里僅僅實(shí)現(xiàn)用戶登錄頁功能。打開“C:\bookSite\”項(xiàng)目下“l(fā)ogin.aspx.cs”文件,在“l(fā)ogin.aspx.cs”文件內(nèi)添加如代碼5-11所示內(nèi)容。代碼5-115.2.4任務(wù)4:創(chuàng)建數(shù)據(jù)庫操作類通過前面任務(wù)1~任務(wù)3的功能代碼編寫,可以發(fā)現(xiàn)所編寫的代碼存在大量冗余。如任務(wù)1與任務(wù)2功能代碼除執(zhí)行的SQL語句不同,其余代碼一致,如何避免這種情況的發(fā)生,可以通過創(chuàng)建數(shù)據(jù)庫操作類來實(shí)現(xiàn)?!救蝿?wù)描述】創(chuàng)建類文件,定義執(zhí)行添加、修改、刪除及查詢SQL語句的方法,實(shí)現(xiàn)調(diào)用不同方法,根據(jù)不同參數(shù)(SQL語句)執(zhí)行不同操作,從而簡化代碼,達(dá)到代碼復(fù)用的效果。5.2.4任務(wù)4:創(chuàng)建數(shù)據(jù)庫操作類【任務(wù)實(shí)現(xiàn)】⒈配置“Web.Config”文件與數(shù)據(jù)庫相連通常為了編程和后續(xù)維護(hù)方便,常將數(shù)據(jù)庫的連接信息存放在“Web.Config”文件中。在“C:\bookSite\”項(xiàng)目中找到“Web.Config”文件,雙擊將其打開,將“<connectionStrings/>”元素替換為如代碼5-12所示內(nèi)容。代碼5-12
<connectionStrings><addname="sqlConn"connectionString="DataSource=mypc;InitialCatalog=book;IntegratedSecurity=False;User=sa;Pwd=1;"providerName="System.Data.SqlClient"/></connectionStrings>說明:“sqlConn”是自定義的一個(gè)名稱,其后是連接到SQLServer2005數(shù)據(jù)庫的配置語句。5.2.4任務(wù)4:創(chuàng)建數(shù)據(jù)庫操作類⒉創(chuàng)建類文件右擊“C:\bookSite\App_Code”文件夾,在彈出的快捷菜單中選擇“添加新項(xiàng)”命令,彈出如圖5-7所示的“添加新項(xiàng)”對話框,在“模板”中選擇類,“名稱”選項(xiàng)設(shè)置為“DBClass.cs”,其余
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度出租車租賃與保險(xiǎn)服務(wù)合同
- 2025年度國際勞務(wù)派遣及勞務(wù)派遣管理服務(wù)合同
- 協(xié)商分期還款合同范本
- 出納度績效合同范本
- 賓館裝修合同終止協(xié)議書
- 2025年度機(jī)場接送包車服務(wù)合同協(xié)議書樣本
- 2025年中國保偏(PM)光纖行業(yè)市場深度評估及投資策略咨詢報(bào)告
- 餐飲空間施工合同模板
- 農(nóng)村合作養(yǎng)牛合同范本
- 中國帶狀光纜行業(yè)競爭格局及市場發(fā)展?jié)摿︻A(yù)測報(bào)告
- 《智能物聯(lián)網(wǎng)導(dǎo)論》AIoT導(dǎo)論-第1章課件
- 植保無人機(jī)培訓(xùn)課件
- 病案首頁質(zhì)量控制與管理實(shí)施方案
- 精準(zhǔn)高效的數(shù)字孿生光網(wǎng)絡(luò)技術(shù)探討和實(shí)踐
- 110kV全封閉組合開關(guān)電器GIS擴(kuò)建及改造項(xiàng)目技術(shù)規(guī)范書通用部分
- 了解孩子的敏感期課件
- 勾股定理(公開課)2
- 無違法犯罪記錄證明申請表(個(gè)人)
- 《藝術(shù)導(dǎo)論(第二版)》藝術(shù)鑒賞
- 蘇科版六年級下冊《勞動》全一冊全部公開課PPT課件(共9課)
- 銀行業(yè)金融機(jī)構(gòu)監(jiān)管數(shù)據(jù)標(biāo)準(zhǔn)化規(guī)范(2021版)數(shù)據(jù)結(jié)構(gòu)一覽表
評論
0/150
提交評論