资源描述
web技术及应用实验报告
———————————————————————————————— 作者:
———————————————————————————————— 日期:
3
华北电力大学
实 验 报 告
|
|
实验名称 图书馆管理系统开发
课程名称 web技术及应用
|
|
专业班级:计科0801 学生姓名:李雪飞
学 号:200809010109 成 绩:
指导教师:王蓝婧 实验日期:2011.4.27
华 北 电 力 大 学 实 验 报 告
一、 实验目的
1. Web开发的相关技术
2. 掌握ASP.NET数据库程序设计方法
二、 实验内容及要求
设计一个基于ASP的图书馆管理网站,实现图书馆管理,包括登录、用户信息显示,用户密码修改、新书通报、书目查询、图书借阅与归还、图书信息维护等功能。网站采用ASP作为编程语言,SQL Server作为数据库支持。
功能设计图:
主要功能框图:
三、 实验仪器及设备
计算机、Visual Studio 2010、SQL Server 2008
四、 问题分析及系统设计
下面根据实验要求将系统内个页面作分析与解释,并附上关键代码。
1.登录
作为一个完整的图书馆系统,网站要面对各种用户,并针对不同用户实现不同的功能,因此,首先设计的是用户登陆界面。按照实验要求,我设计的图书馆管理系统有三种用户,学生、管理员、S管理员。当用户填入用户名及密码后,通过数据库的数据验证后用户进入信息显示界面。三中用户对应数据库中三种用户表,学生、管理员、S管理员。
关键代码段:
前台: <td class="style37">
登录</td>
<td class="style35">
用户:<asp:TextBox ID="用户" runat="server"></asp:TextBox>
</td>
<td class="style41">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="用户" Display="Dynamic" ErrorMessage="学号不能为空!"></asp:RequiredFieldValidator>
</td>
<td class="style36">
还没注册?<a href="注册页.aspx">点击注册</a></td>
<td class="style46">
</td>
<td class="style44">
密码:<asp:TextBox ID="密码" runat="server" style="text-align: left"></asp:TextBox>
</td>
<td class="style42">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="密码" Display="Dynamic" ErrorMessage="密码不能为空!"></asp:RequiredFieldValidator>
</td>
<td class="style33">
<asp:RadioButtonList ID="身份" runat="server" RepeatColumns="3">
<asp:ListItem>学生</asp:ListItem>
<asp:ListItem>管理员</asp:ListItem>
<asp:ListItem>S管理员</asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="style42">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="身份" Display="Dynamic" ErrorMessage="身份未选择!"></asp:RequiredFieldValidator>
</td>
<td class="style33">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click1"
style="text-align: center" Text="登录" />
</td>
后台:
<td class="style37">
登录</td>
<td class="style35">
用户:<asp:TextBox ID="用户" runat="server"></asp:TextBox>
</td>
<td class="style41">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="用户" Display="Dynamic" ErrorMessage="学号不能为空!"></asp:RequiredFieldValidator>
</td>
<td class="style36">
还没注册?<a href="注册页.aspx">点击注册</a></td>
<td class="style46">
</td>
<td class="style44">
密码:<asp:TextBox ID="密码" runat="server" style="text-align: left"></asp:TextBox>
</td>
<td class="style42">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="密码" Display="Dynamic" ErrorMessage="密码不能为空!"></asp:RequiredFieldValidator>
</td>
<td class="style33">
<asp:RadioButtonList ID="身份" runat="server" RepeatColumns="3">
<asp:ListItem>学生</asp:ListItem>
<asp:ListItem>管理员</asp:ListItem>
<asp:ListItem>S管理员</asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="style42">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="身份" Display="Dynamic" ErrorMessage="身份未选择!"></asp:RequiredFieldValidator>
</td>
<td class="style33">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click1"
style="text-align: center" Text="登录" />
</td>
<td class="style42">
</td>
<td class="style43">
</td>
<td class="style45">
</td>
</tr>
</table>
2.注册
本系统还设置了用户注册功能,点击登录页面上链接可直接到达,此功能针对于没有注册的新生。新生注册时,按照要求填入各种信息即可注册成功,然后登陆可进入图书馆管理系统。
关键代码 后台:protected void 注册_Click(object sender, EventArgs e)
{
if (IsValid == true)
{
string strxh = 学号.Text.ToString();
string strxm = 姓名.Text.ToString();
string strbj = 班级.Text.ToString();
string strmm = 密码.Text.ToString();
SqlConnection sqlcon = new SqlConnection();
sqlcon.ConnectionString = "Data Source=localhost;Initial Catalog=lib;Integrated Security=True;";
sqlcon.Open();
string s = "select * from 学生 where [学号]= 'strxh' ";
SqlCommand scmd = new SqlCommand(s, sqlcon);
SqlDataReader dr = scmd.ExecuteReader();
//int x = (int)scmd.ExecuteScalar();
if (dr.Read())
{
string strinsert = string.Format("insert into 学生(学号,姓名,班级,密码) values('{0}','{1}','{2}','{3}')", strxh, strxm, strbj, strmm);
SqlCommand sqlcmd = new SqlCommand(strinsert, sqlcon);
sqlcmd.ExecuteNonQuery();
sqlcon.Close();
//);Response.Redirect("第一页.aspx");
Response.Write("<script>alert('注册成功,点击确认到登陆页面。')</script>");
}
else
{
Response.Write("<script>alert('此用户已存在,请重新注册。')</script>");
}
if (dr.IsClosed == false)
{
dr.Close();
}
}
}
3.用户信息显示界面
用户登录后进入用户信息页面,这里以学生用户为例解释。学生信息页面显示各种学生用户功能页面链接,以及学生信息。学生信息数据来自数据库学生表。在也建立一个Gridview控件,将数据源绑定在数据库中学生表上。另外,借阅历史页面的原理与此基本相同。
关键代码:
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="学号" HeaderText="学号" SortExpression="学号" />
<asp:BoundField DataField="姓名" HeaderText="姓名" SortExpression="姓名" />
<asp:BoundField DataField="班级" HeaderText="班级" SortExpression="班级" />
<asp:BoundField DataField="密码" HeaderText="密码" SortExpression="密码" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:libConnectionString %>"
SelectCommand="SELECT * FROM [学生] WHERE ([学号] = @学号)">
<SelectParameters>
<asp:SessionParameter DefaultValue="-1" Name="学号" SessionField="uid"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
4.书刊查询、修改密码、更新图书信息、新书通报
书刊查询、修改密码、更新图书信息、新书通报等功能都是ADO.NET中Command对象应用的变化。以书刊查询为例。前台界面设计时,添加一个输入查询关键的Textbox控件和一个Gridview控件。
后台代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.Visible = true;
SqlConnection sqlcon = new SqlConnection();
sqlcon.ConnectionString = "Data Source=localhost;Initial Catalog=lib;Integrated Security=True";
sqlcon.Open();
string strse = TextBox1.Text.ToString();
string strslt = string.Format("select * from 图书信息 where 书名 like '%{0}%'", strse);
SqlCommand sqlcom = new SqlCommand(strslt,sqlcon);
SqlDataReader dr = sqlcom.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
sqlcon.Close();
}
以上阐述了系统中应用的几种关键的技术,其他的技术大体是这几种的变形应用,故不再重复解释。
五、 实验结果
登陆页面:
学生信息显示:
借阅历史:
修改密码:
借出图书页面:
更新图书信息:
六、 总结与体会
经过了这一次的实验,我学会了完整的制作一个网站的技术框架,虽然整体上显得很仓促,但是,学到了很多东西。我不仅对的知识得到了充分的理解,而且与制作网站相关的数据库技术也有了一些了解。验收实验时,老师给出了一下宝贵的建议,我会认真的吸取学习,制作出更好的网站来。
第 页 共 页
展开阅读全文