学生管理系统项目实训报告.doc
实训报告书课程: Android项目实训 专业班级: 软件1217班 学生姓名: 何震亚 学 号: 指导教师: 李法平 完成日期: 2014/1/8 重庆电子工程职业学院 软件学院实训名称学生管理系统实训人姓名何震亚实训日期2013.12.30-2014.01.10实训成绩指导教师评语指导教师签名:_年 _ 月_日目 录目 录I1 实训目的12 学生管理系统的分析与设计12.1 系统功能描述12.2 系统模块设计13主要代码清单14 程序运行与测试365 实训总结1学生管理系统 项目实训1 实训目的本次课程实训是专门针对大二学生的一次项目实践,本软件需求说明书是为学生管理系统编写,为了方便教师对自己的个人信息查询、课表查询、对班级学生的信息进行增删改查。2 学生管理系统的分析与设计2.1 学生管理系统简介学生管理系统是各个学校都具备的基础教务系统,在计算机开始流行的时候,学生管理系统就开始在各个学校间流行并逐渐得到完善。2.2 系统功能描述学生管理系统是基于WEB应用开发,采用C# ASP编辑,合理设计页面布局。1) 登陆界面功能及设计:学生管理系统登陆页面包含各种提示语,分别用Lable、textbox表现出;有两个输入框分别输入用户名和密码,密码采用加密方式,无法看到、复制;用一个列表选项框,内含两个登陆选择。并通过数据库连接进行账户密码验证。2) 信息来源设计:通过数据库调出需要的数据并输入相应表中,表格合理,内容详细。3) 以下是几个主要的子类:/登陆button的动作功能描述protected void btnLogin_Click(object sender, EventArgs e)/保存button的动作功能描述 protected void butSave_Click(object sender, EventArgs e)2.3 系统模块设计1) 在设计学生管理系统的过程中,首先调用一个登陆界面,用户选择登陆类型,输入用户名和密码点击登陆键进入主菜单来选择系统中的不同的功能。在用户名密码验证成功后进入相应的菜单。2) 在系统中作者设计了五个按钮。分别是:登陆、取消、讲师登记学生成绩考评、保存、Submit。3)页面跳转:利用ASP的 Response.Redirect("")功能进行跳转。4)数据显示:利用数据源拖拽相应数据信息并修改。5)数据库链接与关闭:需要连接时连接,不需要时关闭。3 主要代码清单(1)程序登陆的界面: public partial class Login : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) Session.Clear();/清除所有的session protected void btnLogin_Click(object sender, EventArgs e) if (rbList.SelectedValue = "2") string sql = "SELECT LecturerId , Password,FirstName,LastName FROM LecturerInfo where LecturerId=LoginId and Password=password" SqlParameter paramsInfo = new SqlParameter("LoginId",txtLoginId.Text.Trim(), new SqlParameter("password",txtPassword.Text) ; DataSet ds = code.DBCommon.ExecuteQuery(sql, paramsInfo); if (ds.Tables0.Rows.Count = 1 && ds.Tables0.Rows00.ToString() = txtLoginId.Text.Trim() && ds.Tables0.Rows01.ToString() = txtPassword.Text) /验证成功 /设置Session对象 code.LoginInfo loginObj = new code.LoginInfo(); loginObj.LoginId = txtLoginId.Text.Trim(); loginObj.LoginDate = DateTime.Now; loginObj.FirstName = ds.Tables0.Rows0"FirstName".ToString(); loginObj.LastName = ds.Tables0.Rows0"LastName".ToString(); loginObj.LoginTypes = "2" /将登录的信息放到会话中保存 code.Common.Login= loginObj; Response.Redirect("LecturerInfo.aspx"); else lbMsg.Text = "讲师登陆验证失败,请重新输入正确的讲师代码及密码" txtLoginId.Text = "" txtPassword.Text = "" if (rbList.SelectedValue = "3") string sql = "SELECT Student_Id , Password,First_Name,Last_Name FROM StudentInfo where Student_Id=LoginId and Password=password" SqlParameter paramsInfo = new SqlParameter("LoginId",txtLoginId.Text.Trim(), new SqlParameter("password",txtPassword.Text) ; DataSet ds = code.DBCommon.ExecuteQuery(sql, paramsInfo); if (ds.Tables0.Rows.Count = 1 && ds.Tables0.Rows00.ToString() = txtLoginId.Text.Trim() && ds.Tables0.Rows01.ToString() = txtPassword.Text) /验证成功 /设置Session对象 code.LoginInfo loginObj = new code.LoginInfo(); loginObj.LoginId = txtLoginId.Text.Trim(); loginObj.LoginDate = DateTime.Now; loginObj.FirstName = ds.Tables0.Rows0"First_Name".ToString(); loginObj.LastName = ds.Tables0.Rows0"Last_Name".ToString(); loginObj.LoginTypes = "3" /将登录的信息放到会话中保存 code.Common.Login = loginObj; Response.Redirect("StudentInfo.aspx"); else lbMsg.Text = "学生登陆验证失败,请重新输入正确的学生代码及密码" txtLoginId.Text = "" txtPassword.Text = "" protected void btnCancel_Click(object sender, EventArgs e) Application.RemoveAll(); (2)程序的登陆界面网页源代码:<% Page Title="" Language="C#" MasterPageFile="/Site.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Task4.Login" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> <style type="text/css"> .style1 width: 55px; .style2 text-align: center; font-size: xx-large; </style></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2 class="style2"><strong><em>Welcome To Student ProcessSystem</em></strong></h2> <table style="width: 100%;"> <tr> <td class="style1"> 登录名</td> <td> <asp:TextBox ID="txtLoginId" CssClass="textEntry" runat="server"></asp:TextBox> </td> <td> 如果当前登录的用户为讲师,请输入讲师的Id,若为学生,请输入学生的学号,管理员则不知道输入什么 </td> </tr> <tr> <td class="style1"> 密码</td> <td> <asp:TextBox ID="txtPassword" TextMode="Password" runat="server" CssClass="textEntry"></asp:TextBox> </td> <td> 请输入正确的密码,不可以为空 </td> </tr> <tr> <td class="style1"> 用户类型</td> <td> <asp:RadioButtonList ID="rbList" RepeatDirection="Horizontal" runat="server"> <asp:ListItem Text="Lecturer" Value="2"></asp:ListItem> <asp:ListItem Text="Student" Value="3" Selected></asp:ListItem> </asp:RadioButtonList> </td> <td> 请选择登录的类型,默认选择学生</td> </tr> <tr> <td class="style1"> </td> <td> <asp:Button ID="btnLogin" runat="server" CssClass="submitButton" Text="登陆" onclick="btnLogin_Click" BackColor="Lime" /> <asp:Button ID="btnCancel" runat="server" CssClass="submitButton" Text="取消" onclick="btnCancel_Click" BackColor="Lime" /> </td> <td></td> </tr> <tr> <td class="style1"> </td> <td> <asp:Label ID="lbMsg" runat="server" ForeColor="Red" Text=""></asp:Label> </td> <td></td> </tr> </table></asp:Content>(3) 学生信息页面的源代码:<% Page Title="" Language="C#" MasterPageFile="/Site.Master" AutoEventWireup="true" CodeBehind="StudentInfo.aspx.cs" Inherits="Task4.StudentInfo" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> Assessment: <asp:GridView ID="GridViewResult" runat="server"> </asp:GridView> Issue: <asp:GridView ID="GridViewIssue" runat="server"> </asp:GridView></asp:Content>(4) 教师信息页面的源代码:<% Page Title="" Language="C#" MasterPageFile="/Site.Master" AutoEventWireup="true" CodeBehind="LecturerInfo.aspx.cs" Inherits="Task4.LecturerInfo" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField FooterText="姓名" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource> <asp:Button ID="Button1" runat="server" BackColor="#00FF99" onclick="Button1_Click" Text="讲师登记学生考评" Width="108px" /></asp:Content>(5) 事件页面源代码:<% Page Title="" Language="C#" MasterPageFile="/Site.Master" AutoEventWireup="true" CodeBehind="Issue.aspx.cs" Inherits="Task4.Issue" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <asp:GridView ID="GridViewIssue" runat="server" Width="258px"> <Columns > <asp:HyperLinkField DataNavigateUrlFields="IssueId" ItemStyle-Width="60px" DataNavigateUrlFormatString="IssueEdit.aspx?id=0" HeaderText="编辑" Text="编辑" ><ItemStyle Width="60px"></ItemStyle> </asp:HyperLinkField> </Columns > </asp:GridView></asp:Content>(6) 事件编辑页面源代码:<% Page Title="" Language="C#" MasterPageFile="/Site.Master" AutoEventWireup="true" CodeBehind="IssueEdit.aspx.cs" Inherits="Task4.IssueEdit" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> <style type="text/css"> .style1 width: 237px; .style2 width: 266px; </style></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <table style="width:100%;"> <tr> <td class="style2"> <asp:Label ID="labIssue" runat="server" Text="Issue ID"></asp:Label> :</td> <td class="style1"> <asp:TextBox ID="txtIssueID" runat="server" Width="200px"></asp:TextBox> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labLecturerID" runat="server" Text="Lecturer ID"></asp:Label> :</td> <td class="style1"> <asp:DropDownList ID="DropDownListLID" runat="server" DataSourceID="SqlDataSource1" DataTextField="LecturerId" DataValueField="LecturerId" Height="16px" Width="203px"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SPS_DBConnectionString %>" SelectCommand="SELECT LecturerId FROM LecturerInfo"></asp:SqlDataSource> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labStudentID" runat="server" Text="Student ID"></asp:Label> :</td> <td class="style1"> <asp:DropDownList ID="DropDownListSID" runat="server" DataSourceID="SqlDataSource2" DataTextField="Student_Id" DataValueField="Student_Id" Height="16px" Width="202px"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:SPS_DBConnectionString %>" SelectCommand="SELECT Student_Id FROM StudentInfo"></asp:SqlDataSource> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labSummary" runat="server" Text="Issue Summary"></asp:Label> :</td> <td class="style1"> <asp:TextBox ID="txtSummary" runat="server" Height="75px" Width="222px" TextMode="MultiLine"></asp:TextBox> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labDescription" runat="server" Text="Issue Description"></asp:Label> :</td> <td class="style1"> <asp:TextBox ID="txtDescription" runat="server" Width="200px"></asp:TextBox> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labDate" runat="server" Text="Issue Date"></asp:Label> :</td> <td class="style1"> <asp:TextBox ID="txtDate" runat="server" Width="200px"></asp:TextBox> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labStatus" runat="server" Text="Issue Status"></asp:Label> :</td> <td class="style1"> <asp:TextBox ID="txtStatus" runat="server" Width="200px"></asp:TextBox> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labFollwUpAction" runat="server" Text="Follow Up Action:"></asp:Label> </td> <td class="style1"> <asp:TextBox ID="txtFollowUpAction" runat="server" Width="200px"></asp:TextBox> </td> <td> </td> </tr> <tr> <td class="style2"> <asp:Label ID="labFollowUpDate" runat="server" Text="Follow Up Date"></asp:Label> </td> <td class=