




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
任務4任務4課程選修和退選功效實現4/11/20251MicrosoftSQLServer2005第1頁任務4課程選修和退選每學期初,教務處會在一周時間內將本學期開設選修課課程班在網上展示,并讓學生登錄后進行課程班選修和退選。第一項目小組要求李勛同學基于ASP.NET技術創建學生網上課程選修和退選應用程序,并經過調用“教學管理數據庫”中對應存放過程來實現該功效。【任務描述與分析】4/11/20252MicrosoftSQLServer2005第2頁(1)學生網上課程選修界面任務4課程選修和退選【任務實施與拓展】4/11/20253MicrosoftSQLServer2005第3頁(2)學生網上課程退選界面任務4課程選修和退選【任務實施與拓展】4/11/20254MicrosoftSQLServer2005第4頁(3)學生網上課程選修界面(已選過課程)任務4課程選修和退選【任務實施與拓展】4/11/20255MicrosoftSQLServer2005第5頁(4)課程退選提醒和成功對話框任務4課程選修和退選【任務實施與拓展】4/11/20256MicrosoftSQLServer2005第6頁按照原型設計進行對應網頁框架設計任務4課程選修和退選【任務實施與拓展】4/11/20257MicrosoftSQLServer2005第7頁任務4課程選修和退選【任務實施與拓展】1.在站點【http://localhost/ManageModel_Web】中添加一個新網頁應用程序“SelectCourse.aspx”文件,設計界面如圖所表示。4/11/20258MicrosoftSQLServer2005第8頁任務4課程選修和退選【任務實施與拓展】一樣,再添加一個名為“ReturnCourse.aspx”新網頁,設計界面如圖所表示。4/11/20259MicrosoftSQLServer2005第9頁任務4課程選修和退選【任務實施與拓展】2.設置上兩個圖中GridView組件【自動套用格式】為【雨天】格式。3.在下列圖中【可用字段】欄內選擇【CheckBoxField】項,單擊【添加】按鈕,添加一個“CheckBoxField”類型字段,并設置【HeaderText】屬性為“勾選”,然后單擊窗口右下角【將此字段轉換為TemplateField】項,將這個字段轉換為【TemplateField】字段。4/11/202510MicrosoftSQLServer2005第10頁任務4課程選修和退選【任務實施與拓展】4/11/202511MicrosoftSQLServer2005第11頁任務4課程選修和退選【任務實施與拓展】4.接著在上圖【可用字段】欄內選擇【BoundField】項,單擊【添加】按鈕,添加七個“BoundField”類型字段。它們【DataField】和【HeaderText】屬性分別為“CourseClassID、CourseName、TeacherName、TeachingPlace、TeachingTime、MaxNumber、SelectedNumber”和“課程班編碼、課程名稱、任課教師、教學地點、教課時間、允許選修數、已選數”。其中【課程班編碼】字段【Visible】屬性設置為“False”。5.單擊“網上退課”圖中【編輯列】選項,彈出以下列圖所表示【字段】對話框,在【可用字段】欄內選擇【BoundField】項,單擊【添加】按鈕,添加五個“BoundField”類型字段。它們【DataField】和【HeaderText】屬性分別為“CourseClassID、CourseName、TeacherName、TeachingPlace、TeachingTime”和“課程班編碼、課程名稱、任課教師、教學地點、教課時間”。4/11/202512MicrosoftSQLServer2005第12頁任務4課程選修和退選【任務實施與拓展】6.在【可用字段】欄內選擇【CommandField】節點中【刪除】項,單擊【添加】按鈕,添加一個“CommandField”類型字段,將它屬性【HeaderText】和【DeleteText】改為“退選”。4/11/202513MicrosoftSQLServer2005第13頁7.課程選修和退選頁面中各個組件屬性設置情況分別以下面兩個表所表示任務4課程選修和退選組件ID組件類型說明TeacherDDListDropDownListWidth屬性:120px,AutoPostBack屬性:“True”CourseClassDDListDropDownListWidth屬性:300px【任務實施與拓展】組件ID組件類型說明TeacherDDListDropDownListWidth屬性:120px,AutoPostBack屬性:“True”4/11/202514MicrosoftSQLServer2005第14頁網頁功效實當代碼(SelectCourse.aspx.cs)學生課程選修功效實現
1.課程班信息查詢存放過程創建2.課程班信息查詢并綁定
3.學生課程選修功效實現
任務4課程選修和退選【任務實施與拓展】4/11/202515MicrosoftSQLServer2005第15頁任務4課程選修和退選1、課程班信息查詢存放過程創建【任務實施與拓展】首先創建一個名為“SP_StuCourseClass”存放過程,基于某個學生查詢其能夠選修全部課程班信息(不包含該學生已經選修課程班和已經選滿課程班)。USETeaching_SystemGOCREATE
PROCEDURE
Proc_StuCourseClass
@StuId
CHAR(10)ASSELECT
CourseClassId,CourseName,TeacherName,TeachingPlace,TeachingTime,MaxNumber,SelectedNumberFROM
TB_CourseClass
TCC,Tb_Course
TC,Tb_Teacher
TTWHERE
TCC.CourseID=TC.CourseID
AND
TCC.TeacherID=TT.TeacherID
AND
FullFlag='U'
ANDCourseClassID
NOT
IN
(SELECT
CourseClassID
FROM
Tb_SelectCourse
WHERE
StuID=@StuID)4/11/202516MicrosoftSQLServer2005第16頁任務4課程選修和退選2、課程班信息查詢并綁定
【任務實施與拓展】在文件“SelectCourse.aspx.cs”頭部添加代碼“usingSystem.Data.SqlClient;”。為在此網頁中顯示某個登錄學生能夠選修課程班信息,在“SelectCourse.aspx.cs”文件方法“Page_Load()”中添加以下代碼:if(!Page.IsPostBack){//建立數據庫連接,從Web.config文件獲取數據庫連接字符串SqlConnectionCourseClassConn=new
SqlConnection();CourseClassConn.ConnectionString=ConfigurationManager.ConnectionStrings["ConnStr"].ToString();CourseClassConn.Open();4/11/202517MicrosoftSQLServer2005第17頁任務4課程選修和退選【任務實施與拓展】//調用存放過程SqlCommandCourseClassCmd=new
SqlCommand(“Proc_StuCourseClass",CourseClassConn);//說明SqlCommand類型是個存放過程CourseClassCmd.CommandType=CommandType.StoredProcedure;//添加存放過程參數,從全局Session變量獲取學號值CourseClassCmd.Parameters.Add("@StuID",SqlDbType.Char,10).Value=Session["StuId"].ToString();SqlDataAdapterStuGradeAdapter=new
SqlDataAdapter(CourseClassCmd);//將SqlDataAdapter對象中數據填充到DataSet對象表"StuSelectCourseTable"DataSetStuGradeDS=new
DataSet();StuGradeAdapter.Fill(StuGradeDS,"StuSelectCourseTable");//關閉數據庫連接CourseClassConn.Close();4/11/202518MicrosoftSQLServer2005第18頁任務4課程選修和退選【任務實施與拓展】//綁定數據到GridView顯示this.CourseClassGView.DataSource=StuGradeDS.Tables["StuSelectCourseTable"];this.CourseClassGView.DataBind();}4/11/202519MicrosoftSQLServer2005第19頁任務4課程選修和退選3、學生課程選修功效實現【任務實施與拓展】為了實現當學生在網頁上勾選了對應課程班后,單擊【確定】按鈕,網頁應用程序調用數據庫存放過程“Proc_StuCourseClass”將學生選擇課程班信息插入到數據庫中功效,在“SelectCourse.aspx”文件設計界面【確定】按鈕上雙擊,在方法“StuSelectBtn_Click()”中添加下述代碼:protected
voidStuSelectBtn_Click(objectsender,EventArgse){stringCourseClassIDs;//定義存放勾選課程班編碼字符串變量CourseClassIDs="";//初始化字符串變量4/11/202520MicrosoftSQLServer2005第20頁任務4課程選修和退選【任務實施與拓展】//經過循環遍歷全部課程班統計,被勾選將其課程班編碼放入字符串變量中for(inti=0;i<this.CourseClassGView.Rows.Count;i++){CheckBoxCheckedBox=(CheckBox)this.CourseClassGView.Rows[i].FindControl("CBoxCourseClass");if(CheckedBox.Checked){if(CourseClassIDs=="")CourseClassIDs=this.CourseClassGView.DataKeys[i].Value.ToString();elseCourseClassIDs=CourseClassIDs+","+this.CourseClassGView.DataKeys[i].Value.ToString();}}4/11/202521MicrosoftSQLServer2005第21頁任務6-6課程選修和退選【任務實施與拓展】
if(CourseClassIDs==""){//沒有勾選課程班,則彈出提醒信息框Response.Write("<SCRIPTlanguage='javascript'>alert('請先選擇課程!');</SCRIPT>");}else{//Response.Write(CourseClassIDs);//測試顯示選中課程班編碼//調用SQLServer中存放過程進行課程選修SqlConnectionSelectCourseConn=new
SqlConnection();SelectCourseConn.ConnectionString=ConfigurationManager.ConnectionStrings["ConnStr"].ToString();SelectCourseConn.Open();4/11/202522MicrosoftSQLServer2005第22頁任務6-6課程選修和退選【任務實施與拓展】//調用存放過程
SqlCommandSelectCourseCmd=new
SqlCommand("SP_SelectCourse",SelectCourseConn);//說明SqlCommand類型是個存放過程SelectCourseCmd.CommandType=CommandType.StoredProcedure;//添加存放過程參數,從全局Session變量獲取學號,從CourseClassIDs得到選中課程班信息SelectCourseCmd.Parameters.Add("@StuID",SqlDbType.Char,8).Value=Session["StuID"].ToString();SelectCourseCmd.Parameters.Add("@CourseClassIDs",SqlDbType.VarChar,100).Value=CourseClassIDs;SelectCourseCmd.ExecuteNonQuery();//執行存放過程SelectCourseConn.Close();//關閉數據庫連接Response.Write("<SCRIPTlanguage='javascript'>alert('課程選修成功!');</SCRIPT>");Response.Redirect("ReturnCourse.aspx");}4/11/202523MicrosoftSQLServer2005第23頁網頁功效實當代碼(ReturnCourse.aspx.cs)學生課程退選功效實現
1.已選課程班查詢存放過程創建
2.已選課程班信息查詢并綁定
3.學生課程退選功效實現
任務6-6課程選修和退選【任務實施與拓展】4/11/202524MicrosoftSQLServer2005第24頁任務6-6課程選修和退選1、課程班信息查詢存放過程創建【任務實施與拓展】一樣在SQLServerSSMS中創建一個名為“SP_StuSelectedCourse”存放過程,基于某個學生查詢其已經選修全部課程班信息。存放過程創建T-SQL語句以下:USEDB_TeachingMSGOCREATE
PROCEDURE
SP_StuSelectedCourse
@StuID
CHAR(8)ASSELECT
TSC.CourseClassID,CourseName,TeacherName,TeachingPlace,TeachingTimeFROM
TB_SelectCourse
TSC,TB_CourseClass
TCC,TB_Course
TC,TB_Teacher
TTWHERE
TSC.CourseClassID=TCC.CourseClassID
AND
TCC.CourseID=TC.CourseID
AND
TCC.TeacherID=TT.TeacherID
AND
StuID=@StuID4/11/202525MicrosoftSQLServer2005第25頁任務5-5班級維護功效實現2、已選課程班信息查詢并綁定
【任務實施與拓展】為在此網頁中顯示某個登錄學生已經選修課程班信息,在“ReturnCourse.aspx.cs”文件中添加一個方法“GridViewDataBind()”,代碼以下:private
voidGridViewDataBind(){//建立數據庫連接,從Web.config文件獲取數據庫連接字符串SqlConnectionStuCourseConn=new
SqlConnection();StuCourseConn.ConnectionString=ConfigurationManager.ConnectionStrings["ConnStr"].ToString();StuCourseConn.Open();//調用存放過程SqlCommandStuCourseCmd=new
SqlCommand("SP_StuSelectedCourse",StuCourseConn);4/11/202526MicrosoftSQLServer2005第26頁任務5-5班級維護功效實現【任務實施與拓展】//說明SqlCommand類型是個存放過程StuCourseCmd.CommandType=CommandType.StoredProcedure;//添加存放過程參數,從全局Session變量獲取學號值StuCourseCmd.Parameters.Add("@StuID",SqlDbType.Char,8).Value=Session["StuID"].ToString();SqlDataAdapterStuGradeAdapter=new
SqlDataAdapter(StuCourseCmd);//將SqlDataAdapter對象中數據填充到DataSet對象表"StuCourseTable"中DataSetStuCourseDS=new
DataSet();StuGradeAdapter.Fill(StuCourseDS,"StuCourseTable");//關閉數據庫連接StuCourseConn.Close();//綁定數據到GridView顯示this.StuCourseGView.DataSource=StuCourseDS.Tables["StuCourseTable"];this.StuCourseGView.DataBind();}4/11/202527MicrosoftSQLServer2005第27頁任務5-5班級維護功效實現【任務實施與拓展】同時,在“ReturnCourse.aspx.cs”文件方法“Page_Load()”中添加以下代碼://假如是第一次加載網頁,則綁定頁面上各個下拉框數據if(!Page.IsPostBack){GridViewDataBind();}4/11/202528MicrosoftSQLServer2005第28頁任務5-5班級維護功效實現3、學生課程退選功效實現
【任務實施與拓展】為了實現當學生在網頁上單擊了對應要刪除課程班行【退選】鏈接后,刪除對應已選課程班。在“ReturnCourse.aspx”文件【設計】頁面中選中“GridView”組件,在【屬性】窗口中單擊事件按鈕【】,在【RowDeleting】事件右邊空白處雙擊,即可在方法“StuCourseGView_RowDeleting()”中輸入下述代碼。protected
voidStuCourseGView_RowDeleting(objectsender,GridViewDeleteEventArgse){//定義字符串變量“StuID、CourseClassID”,并獲取對應值stringStuID=Session["StuID"].ToString();stringCourseClassID=this.StuCourseGView.Rows[e.RowIndex].Cells[0].Text.ToString();//Response.Write(CourseClassID);4/11/202529MicrosoftSQLServer2005第29頁任務5-5班級維護功效實現【任務實施與拓展】SqlConnectionDeleteConn=new
SqlConnection();DeleteConn.ConnectionString=ConfigurationManager.ConnectionStrings["ConnStr"].ToString();DeleteConn.Open();SqlCommandDeleteCmd=new
SqlCommand("DELETEFROMTB_SelectCourseWHEREStuID='"+StuID+"'"+"ANDCourseClassID='"+CourseClassID+"'",DeleteConn);DeleteCmd.ExecuteNonQuery();DeleteConn.Close();Response.Write("<scriptlanguage='javascript'>alert('課程退選成功');</script>");GridViewDataBind();}4/11/202530MicrosoftSQLServer2005第30頁任務5-5班級維護功效實現【任務實施與拓展】一樣,為了在退選課程班統計前先彈出一個“真要刪除嗎?”確實認對話框,能夠在圖中【選定字段】欄中選擇【退選】字段,然后單擊窗口右下面鏈接【將此字段轉換為TemplateField】。然后在“<asp:LinkButtonID="LinkButton1"Text="退選"></asp:LinkButton>”處“Text="退選"”后添加“OnClientClick="javascript:returnconfirm('真要退選嗎?');"”代碼。4/11/202531MicrosoftSQLServer2005第31頁【任務拓展】登錄驗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 系統規劃與管理師考前優化反思的重要性與常見策略試題及答案
- 育嬰師親子交流考題及答案
- 育嬰師考試成功的影響因素分析試題及答案
- 日照地理面試題及答案
- 知識產權的社會公眾認知試題及答案
- 婚姻法 司法試題及答案
- 理論聯系實踐2024年專利代理人資格考試試題及答案
- 技能鑒定測試題及答案
- 分析光電工程師證書考試的趨勢與機遇試題及答案
- 正確認識與應對飲食恐懼癥試題及答案
- 站臺保潔服務方案
- 2024-2030年中國高端半導體激光芯片行業市場全景調研及發展前景研判報告
- 植物拓染非物質文化遺產傳承拓花草之印染自然之美課件
- TD/T 1044-2014 生產項目土地復墾驗收規程(正式版)
- 裝修合同增項補充協議工程
- 腦膠質瘤診療指南2022年版
- 乳腺結節手術后的護理
- 電廠灰場環境風險評估報告
- 設備購置分析報告
- 《動物的家》課件
- 超聲評價頸動脈易損斑塊中國專家共識 2023版
評論
0/150
提交評論