网络数据库应用课程设计实习报告WEB数据库应用系统开发.doc
西南林业大学基础部网络数据库应用课程设计实习报告(WEB数据库应用系统开发)专 业: 信息与计算科学 _ 班 级: 2008级_ 题 目: 商品库存管理数据库 日 期: 2010 年12 月 24 日一、实习目的1、通过对一个应用系统的完整开发过程,初步掌握ASP.NETSQL SERVER 2005开发WEB数据库应用系统的基本技术。2、体会团队开发模式、积累数据库应用软件开发的初步经验。二、实习环境1、操作系统:WINDOWS XP专业版。2、VISUAL WEB DEVELOPER 2008 、SQL SERVER 2005。三、个人实习总结 本次实习我担任了系统的大部分设计与实现,在此过程中,我建立了表和数据库,实现了购进单录入,销售单录入等功能,最重要的是把每个子系统凑合在一起,我想这本身就是一种挑战。由于此次实习,每个环节我都有参与,所以我学到得东西较多,犯的错误也不少。让我郁闷的是,每个子系统都设计好了,最终拼凑起来运行就不成功,经过检查发现,原来是在建表的时候出现了一些问题。犯得错误多,相应的时间就需付出更多,由于本人能力有限,加之实习时间紧张,对于系统的设计与实现,课后的努力与付出也是必不可少,其重要程度甚至超过正式实习期间。最让我头疼的是:当加入的子系统越多时,当错误越多时,连我自己都会犯傻,东点一下西点一下,可最终却不知道在干什么。团队的有力合作是本次任务能顺利完成的根本,我们每个人都积极参与,默默奉献,更多的是善于沟通。当其中一人遇到困难时,积极帮助解决错误,这点在代码运行时体现得最明显。在任务即将完成之时,我怀着无比激动地心情,或许其中有成就感,放松感,或许是每种感觉相互交错。想起本次实习,真是很不容易,在实习的过程中,我们翻阅了很多资料,或许对于一些问题,我们还真是不能为力。通过本次实习,让我更好的了解了数据库,也学会了C#语言的编写,相信对将来说这是一个很好的基础四、商品系统管理开发报告4.1实习目标1.熟悉数据库的设计2.了解ASP.NET的编程技术3.理解ADO.NET的使用方法4.培养初步ASP.NET的编程能力4.2系统设计4.2.1需求分析 1. 通过对商品的需求进行调查和分析,在确定我们所需要设计的管理系统; 2 成立开发小组经过数据收集,调查研究,明确该系统的功能是:对商品的库存,购进的商品,销售的商品和业务员的任用,以及进货的单位等的登记和查询。4.2.2概念结构设计:系统的的E-R图商品:商品编号,商品名称,规格,型号,数量;往来单位:往来单位编号,往来单位名称,地址,电话;业务员:业务员编号,姓名,性别,职务,电话;购进单:购进单编号,日期,商品编号,数量,往来单位编号,业务员编号;销售单:销售单编号,日期,商品编号,数量,往来单位编号,业务员编号;购进单业务员往来单位商品库存购进参考参考销售单参考参考销售4.2.3数据库设计:将E-R图转化为数据库的几张表,如下所示:4.2.4功能设计:将库存管理划分为8个模块,如下图所示:商品库存查询销售单查询商品信息维护购进单录入销售单录入往来单位信息维护维护购进单查询业务员维护库存系统管理4.2.5程序设计1主页面Defauit.aspx主页面上有8个控件,分别对应8个功能模块,并设置其超链接,主界面的运行结果,在此界面中分别点击不同的功能,可以进入相对应的界面,在“Defauit.aspx”里面的代码,如附表1.1所示:2.商品库存查询使用Gridview控件,当输入商品编号时,可以查询出商品的信息,如下图所示,在“商品库存查询.aspx”里面的代码,如附表2.1所示;在“商品库存查询.aspx.cs”里面的代码,如附表2.2所示。3.购进单录入当单击主页面的“购进单录入”时,需要输入日期,商品编号,往来单位编号,业务员编号,数量;日期默认为当天日期;商品编号,往来单位编号,业务员编号可以用下拉列表框进行选择;销售单编号由程序自动编写;信息录入后,单击“提交” ,在“购进单录入.aspx”里面的代码,如附表3.1所示;在“购进单录入.aspx.cs”里面的代码,如附表3.2所示。在“商品库存管理数据库”中,可以看到,在购进单表中,新增加了一条信息,如下图所示:4.购进单查询输入查询单的日期范围和商品编号,单击“查询”,当商品编号为空时,表示查询所有商品信息,在“购进单查询.aspx”里面的代码,如附表4.1所示;在“购进单查询.aspx.cs”里面的代码,如附表4.2所示。5.销售单录入当单击主页面的“销售单录入”时,需要输入日期,商品编号,往来单位编号,业务员编号,数量;日期默认为当天日期;商品编号,往来单位编号,业务员编号可以用下拉列表框进行选择;销售单编号由程序自动编写;信息录入后,单击“提交”, 在“销售单录入.aspx”里面的代码,如附表5.1所示;在“销售单录入.aspx.cs”里面的代码,如附表5.2所示。在“商品库存管理数据库”中,可以看到,在销售单表中,新增加了一条信息,如下图所示:6.销售单查询输入查询单的日期范围和商品编号,单击“查询”,当商品编号为空时,表示查询所有商品信息。, 在“销售单查询.aspx”里面的代码,如附表6.1所示;在“销售单查询.aspx.cs”里面的代码,如附表6.2所示。7.商品维护查询商品资料,输入商品名称,点击“查询”,可以查出商品的所有信息,如下图所示。在“商品资料维护.aspx”里面的代码,如附表7.1所示;在“商品资料维护.aspx.cs”里面的代码,如附表7.2所示;“新商品录入.aspx”里面的代码,如附表7.3所示;“新商品录入.aspx.cs”里面的代码,如附表7.4所示。 在上图中,点击“新增”,出现下面所示“新商品录入”的界面,输入商品信息,点击“提交”。在“商品库存管理数据库”中,可以看到,在商品表中,新增加了一条信息,如下图所示:8.往来单位维护查询单位资料,输入单位名称,点击“查询”,可以查出单位的所有信息,如下图所示. 在“往来单位维护.aspx”里面的代码,如附表8.1所示;在“往来单位维护.aspx.cs”里面的代码,如附表8.2所示;“新增往来单位.aspx”里面的代码,如附表8.3所示;“新增往来单位.aspx.cs”里面的代码,如附表8.4所示。在上图中,点击“新增”,出现下面所示“新增往来单位”的界面,输入单位信息,点击“提交”。在“商品库存管理数据库”中,可以看到,在往来单位表中,新增加了一条信息,如下图所示:9.业务员维护查询业务员资料,输入姓名,点击“查询”,可以查出业务员的个人信息,如下图所示。在“业务员资料维护.aspx”里面的代码,如附表9.1所示;在“业务员资料维护.aspx.cs”里面的代码,如附表9.2所示;“新业务员录入.aspx”里面的代码,如附表9.3所示;“新业务员录入.aspx.cs”里面的代码,如附表9.4所示。在上图中,点击“新增”,出现下面所示“新业务员录入”的界面,输入个人信息,点击“提交”。在“商品库存管理数据库”中,可以看到,在往来单位表中,新增加了一条信息,如下图所示: 在“商品库存管理数据库”中,可以看到,在业务员表中,新增加了一条信息,如下图所示:附表1.1<<body> <form id="form1" runat="server"> <table style="width: 49%; height: 194px;" align="center" bgcolor="#CCCCFF"> <tr> <td class="style1" colspan="4" align="justify" bgcolor="#9933FF"> 商品库存管理</td> </tr> <tr> <td class="style16" align="center"> <asp:HyperLink ID="HyperLink1" runat="server" style="text-align: center" NavigateUrl="/商品库存查询.aspx">商品库存查询</asp:HyperLink> </td> <td class="style17" align="center"> <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="/购进单录入.aspx" BorderStyle="None" style="text-align: center">购进单录入</asp:HyperLink> </td> <td class="style18" align="center"> <asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="/销售单录入.aspx">销售单录入</asp:HyperLink> </td> <td align="center" class="style19"> <asp:HyperLink ID="HyperLink8" runat="server" NavigateUrl="/购进单查询.aspx">购进单查询</asp:HyperLink> </td> </tr> <tr> <td class="style16" align="center"> <asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="/销售单查询.aspx">销售单查询</asp:HyperLink> </td> <td class="style17" align="center"> <asp:HyperLink ID="HyperLink5" runat="server" NavigateUrl="/商品资料维护.aspx">商品维护</asp:HyperLink> </td> <td class="style18" align="center"> <asp:HyperLink ID="HyperLink6" runat="server" NavigateUrl="/往来单位维护.aspx">往来单位维护</asp:HyperLink> </td> <td align="center" class="style19"> <asp:HyperLink ID="HyperLink7" runat="server" NavigateUrl="/业务员资料维护.aspx">业务员维护</asp:HyperLink> 附表2.1<body> <form id="form1" runat="server"> <div style="height: 209px; width: 1527px;" align="center" lang="aa"> <div align="center" class="style10" style="height: 47px"> <span class="style17" style="background-color: #0000FF">商品库存查询</span></div> <br /> <table style="width: 100%; height: 142px; margin-left: 0px; margin-top: 0px;" bgcolor="#CCFFCC" align="center"> <tr> <td class="style11" align="right"> 商品编号:</td> <td class="style12"> <asp:TextBox ID="TextBox1" runat="server" Height="27px" Width="250px"></asp:TextBox> </td> <td class="style13"> </td> </tr> <tr> <td class="style14" align="right"> 商品名称:</td> <td class="style15"> <asp:TextBox ID="TextBox2" runat="server" Height="30px" Width="250px"></asp:TextBox> </td> <td class="style16" align="left" dir="ltr"> <asp:Button ID="Button1" runat="server" Text="查询" Width="106px" BackColor="#9999FF" ForeColor="Black" Font-Size="Large" style="text-align: left; font-size: x-large;" onclick="Button1_Click" Height="44px" /> </td> </tr> </table> <div> <br /> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" Height="200px" onpageindexchanging="GridView1_PageIndexChanging" PageSize="5" Width="667px"> <PagerSettings Mode="NextPrevious" NextPageText="下一页" PreviousPageText="上一页" /> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#EFF3FB" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#2461BF" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> 附表2.2public partial class spkccx : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) /是否第一次加载页面 if (!Page.IsPostBack) bindgrig(); protected void Button1_Click(object sender, EventArgs e) /查询符合条件的记录,默认显示第一页 GridView1.PageIndex = 0; bindgrig(); void bindgrig() /创建数据库连接对象 string str_conn = "server=pc26SQLEXPRESS;uid=sa;pwd=123456;database=商品库存管理数据库" SqlConnection conn = new SqlConnection(str_conn); conn.Open(); /创建并初始化适配器DataReader SqlDataAdapter cmd = new SqlDataAdapter("select * from 商品表 where 商品编号 like '%" + this.TextBox1.Text + "%'and 商品名称 like '%" + this.TextBox2.Text + "%'", conn); /创建数据集 DataSet DataSet ds = new DataSet(); cmd.Fill(ds, "商品表"); /指定 GridView1数据源 GridView1.DataSource = new DataView(ds.Tables0); /GridView1数据绑定 GridView1.DataBind(); protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) /设置GridView1页面显示序号 GridView1.PageIndex = e.NewPageIndex; /更新GridView1显示 bindgrig(); 附表3.1<body alink="#339966"> <form id="form1" runat="server"> <table style="width: 71%; height: 381px;" align="center" bgcolor="#CCFFCC"> <tr> <td colspan="2" bgcolor="#339966" class="style1"> <span class="style17">购进单录入</span><br class="style17" /> </td> </tr> <td align="right" class="style16"> 购进单编号:</td> <td class="style15" align="left"> <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" style="text-align: left" Height="33px" Width="237px" ></asp:TextBox> </td> </tr> <tr> <td align="right" class="style9"> 日期:</td> <td class="style5" align="left"> <asp:TextBox ID="TextBox2" runat="server" Height="30px" Width="235px"></asp:TextBox> </td> </tr> <tr> <td align="right" class="style10"> 商品编号:</td> <td class="style11" align="left"> <asp:DropDownList ID="DropDownList1" runat="server" Height="35px" Width="239px"> </asp:DropDownList> </td> </tr> <tr> <td align="right" class="style12"> 往来单位编号:</td> <td class="style13" align="left"> <asp:DropDownList ID="DropDownList2" runat="server" Height="30px" Width="239px"> </asp:DropDownList> </td> </tr> <tr> <td align="right" class="style16"> 业务员编号:</td> <td class="style15" align="left"> <asp:DropDownList ID="DropDownList3" runat="server" Height="29px" Width="240px"> </asp:DropDownList> </td> </tr> <tr> <td class="style6"> 数量:</td> <td class="style4" align="left"> <asp:TextBox ID="TextBox3" runat="server" Height="30px" Width="238px"></asp:TextBox> <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox3" ErrorMessage="(必须输入数据)" Font-Size="Small" MaximumValue="10000" MinimumValue="1" Type="Double" ForeColor="#CC66FF" style="font-size: large"></asp:RangeValidator> </td> </tr> </table> <br /> <br /> <asp:Button ID="Button1" runat="server" style="margin-left: 325px; font-size: x-large;" Text="提交" Width="125px" onclick="Button1_Click" onclientclick="Button1_Click" BackColor="Silver" BorderColor="#FFFF99" ForeColor="#333300" Height="37px" /></form></body>附表3.2public partial class jhd : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) /首次打开页面时,初始化下拉列表框 if (!IsPostBack) /创建数据库连接对象 string str_conn = "server=pc26SQLEXPRESS;uid=sa;pwd=123456;database=商品库存管理数据库" SqlConnection conn = new SqlConnection(str_conn); conn.Open(); /取出所有商品编号和商品名称,并设置下拉列表框 /设置要执行的SQL命令 string sql; /查出出商品的信息 sql= "select 商品编号,商品名称 from 商品表" /创建command对象:comm SqlCommand Comm = new SqlCommand(sql, conn); /创建DataReader对象 SqlDataReader reader = Comm.ExecuteReader(); /遍历DataReader对象的每行记录,将数据添加到DropDownList控件中 while (reader.Read() this.DropDownList1.Items.Add(reader.GetValue(0).ToString() + "-" + reader.GetValue(1).ToString(); reader.Close(); /关闭reader对象 /取出所有往来单位编号和往来单位名称,并设置下拉列表框 /设置要执行的SQL命令 string sql1; /查出出商品的信息 sql1 = "select 往来单位编号,往来单位名称 from 往来单位表" /创建command对象:cmd SqlCommand Comm1 = new SqlCommand(sql1, conn); /创建DataReader对象 SqlDataReader reader1= Comm1.ExecuteReader(); /遍历DataReader对象的每行记录,将数据添加到DropDownList控件中 while (reader1.Read() this.DropDownList2.Items.Add(reader1.GetValue(0).ToString() + "-" + reader1.GetValue(1).ToString(); reader1.Close(); /关闭reader对象 /取出所有业务员编号和姓名,并设置下拉列表框 /设置要执行的SQL命令 string sql2; /查出出商品的信息 sql2 = "select 业务员编号,姓名 from 业务员表" /创建command对象:Comm SqlCommand Comm2 = new SqlCommand(sql2, conn); /创建DataReader对象 SqlDataReader reader2 = Comm2.ExecuteReader(); /遍历DataReader对象的每行记录,将数据添加到DropDownList控件中 while (reader2.Read() this.DropDownList3.Items.Add(reader2.GetValue(0).ToString() + "-" + reader2.GetValue(1).ToString(); reader2.Close(); /关闭reader对象 /初始化商品数量 this.TextBox3.Text = "1" /初始化购进单日期 this.TextBox2.Text = DateTime.Today.ToShortDateString(); conn.Close(); /关闭数据库连接 protected void Button1_Click(object sender, EventArgs e) /创建数据库连接对象 string str_conn = "server=pc26SQLEXPRESS;uid=sa;pwd=123456;database=商品库存管理数据库" SqlConnection conn = new SqlConnection(str_conn); conn.Ope