数据库课设报告 仓库管理系统_第1页
数据库课设报告 仓库管理系统_第2页
数据库课设报告 仓库管理系统_第3页
数据库课设报告 仓库管理系统_第4页
数据库课设报告 仓库管理系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、页脚内容仓库管理系统一、课程设计的内容1、研究与学习仓库管理系统的技术、发展和意义;2、学习使用仓库管理系统,掌握应用开发工具VisualStudio、中间层数据库访问技术ADO以及关系数据库MSSQLServer2000等实现技术的基本原理,安装配置系统开发环境;3、设计和实现仓库进销存管理系统;4、撰写课程设计报告。二、课程设计的要求1、本系统要能够完成仓库管理的一般工作,例如商品的出入库、余量统计等等。2、实现数据库的增、删、改、查功能。3、实现用户的权限管理。4、掌握处于中间层的数据库访问技术。三、课程设计应完成的工作1、开发一个基于B/S架构的仓库管理系统,功能包括:管理员设置、仓管

2、员登陆、仓管员设置、各仓库商品出入库、库存统计等等。2、通过规划设计本数据库系统,掌握数据库规划设计的基本技术,熟悉数据库的设计的基本方法和步骤,明白数据库设计各阶段的任务,加深对数据库系统概念和特点的理解。3、独立撰写课程设计报告,对整个系统及其内部的各个功能模块的构想、设计思路、实现方法和过程,做出了详细的说明和介绍。四、主要设备与软件:计算机及操作系统:PC机,WindowsXP2数据库管理系统:VisualStudio2005+SQLsever2000五、相关技术介绍1.应用开发工具VisualStudioVisualStudio(VS)是一种由微软公司开发的包含协助开发环境的事件驱动

3、编程语言。VS拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VS提供的组件快速建立一个应用程序。它非常适合用来开发拥有友好界面的程序(比如针对终端的数据),但是不适合开发其它程序(比如联合计算程序)。关系数据库SQLServer2000SQLServer是一个关系数据库管理系统,而SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,它具有以下特点:高性能设计,可充分利用WindowsNT的优势。系统管理先进,支持Windows图形化管理工具,

4、支持本地和远程的系统管理和配置。(3)强壮的事务处理功能,采用各种方法保证数据的完整性。支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。ADO.Net数据库访问技术微软公司的ADO(ActiveXDataObjects)是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLEDB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关

5、于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO.Net中的命令对象来执行。本系统采用目前比较流行的ADO.Net,并将每个数据库表的字段和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。六、概述仓库系统能够有效地管理商品资源,控制商品出入库以及其各类统计,减少人工手工记录的麻烦,极大地帮助了减轻了仓库管理员的工作量,使得仓库管理变得智能化。这个系统利用VisualStudio作为开发工具,MSSQLServer2000作为数据库管理系统,利用ADO.Net数据库访问技术,建立一个B/S架构的关系数据库系统。通过系统的开发,让读者了解有关仓

6、库管理系统的需求分析、设计和实现的完整过程,并且有利于掌握有关SQLServer2000数据库的技术,积累开发数据库应用系统的经验。七、系统需求分析仓库管理系统的用户是负责仓库商品出入库以及统计的管理员,该系统能够方便管理员对商品进行有效的管理,为仓库物力节省了人力物力上等资源。系统包括了管理员登陆设置、商品信息入库、商品出库、商品退货、商品销售统计和商品库存统计等主要功能。管理员登陆设置:开设删除仓库和仓库管理员商品信息入库:商品信息添加至对应仓库数据库商品出库:出库商品信息添加至对应仓库数据库商品退货:退货商品信息添加至对应仓库数据库商品销售统计:统计数据库内商品销售的信息商品库存统计:统

7、计数据库内商品剩余的信息(1)仓库管理系统第一层数据流图仓库管理系统根据登陆用户的不同,将自动跳转到相应面页。系统管理员系统管理员实现对仓库的开设和相应级别管理员的设置。仓管员包括总仓管和一般仓库管理员。总仓管可以实现对所有仓库信息的统计和各仓库间商品的调拨。一般仓库管理员只能对自己所管理的仓库的商品信息的操作,事实上对其他仓库的信息其无法得知。数据库课程设计图书借阅管理系统第一层数据流图第一层数据流图通过反映了整个系统不同数据的流向,揭示系统的组成结构以及各组成部分之间的关系,这种关系主要体现在对数据的操作和处理上。(2)出入库处理在商品出入库操作中,首先填写或选择所需出入库的信息,进行检查

8、,如果输入信息正确则进入下一步,如果无效则给操作者相应的提示,页面自动跳转。具体操作的数据流图如下图所示:出入库过商品信息显示记录仓库记录出入库等操作的数据流图(3)商品调拨处理在商品调拨操作中,首先根据所需调拨商品所属仓库进行有效性判断,如果有效则进入下一步,如果是无效则给操作者相应的提示,页面自动跳转。在商品调拨前后,商品调拨记录表以及调拨仓库的数据表中均插入数据操作记录,以便查询统计。调拨信息记录操作的数据流图如下图所示:调拨信息记录页脚内容出库入库数据库课程设计页脚内容写入还书操作的数据流图(5)在需求分析的最后,形成了以下与数据流图相配对的数据字典如下数据项:serld含义说明:惟一

9、标识一个用户别名:用户lD长度:15取值范围:字符型数据结构:商品含义说明:定义了一种商品的信息结构,也即是供操作的信息结构。组成:商品ld,商品名,商品类型,商品数量,供应商等数据存储:用户列表说明:表示各类仓库管理员的信息数据分类:系统管理员,总仓管,仓管员组成:用户ld,用户名,用户级别,所管理仓库数据存储:仓库列表说明:记录每一个仓库的情况流入数据流:仓库信息流出数据流:仓库信息存取方式:随机存取处理过程:仓库表说明:对应每个仓库的数据表输入:各仓库商品信息输出:商品出库信息处理:首先判断商品信息的可用性,然后执行所要求操作(6)安全性与完整性要求:安全性要求:本系统中,首先给数据库添

10、加Window用户,设置一位系统管理员;通过管理员开设仓库和设置仓库管理员,管理员登陆后根据自身身份,跳转至相应页面,实现了访问数据库的权限。完整性要求:在数据库中对数据库所需要的表设置完整性约束,为各表设置表的主键,规定各表之间的关系,另外还需要设置一组外键。其中,各表主键分别如下:用户信息表UserList主键userName仓库信息表StoreList主键storeName调拨信息表ManagerTable主键pId(7)触发器建立仓库表为了实现系统的自动化,和有效节省存储空间以及消除数据表的冗余,未设置的仓库一律不配数据库表,而只有当仓库开设成功后才建立相应的仓库表。此动作在系统中是通

11、过触发器来实现的。触发器中建立仓库表,一旦该仓库给删除,后台代码同样有将该仓库表删除的操作。建立的触发器如下:CREATETRIGGERcreatnewONdbo.StoreListAFTERINSERTASdeclarestoreNamechar(15)selectstoreName=storeNamefrominsertedexec(createtable+storeName+(pIdintIDENTITY(1,1)NOTFORREPLICATIONNOTNULL,pNamevarchar(15),pKindvarchar(15),pCountint,pMinint,pUnitvarcha

12、r(4),pInfloat,pOutfloat,pBackfloat,pTimedatetimenull,pServevarchar(30),pPersonvarchar(15),pByervarchar(30),pStatechar(8),pRemarkvarchar(150)名称固:)jcreatriew(dbo文本I:CREATETRIGGERcr&anewONdboStareList出FTEFIINSERTASdeclareGstoreNamechar(15)selectCstoreNamestoreNamefrominsertedewec(createtable(sloreName*

13、pldintlDENTITY(l1)N0TFORREPLICATIONNOTNULL,pNamevarchar15,.pKindvarchar(15),pCountinipMininjpUnitvarcharJ,而在后台代码删除数据表的操作是通过以下代码实现的:SqlConnectionconn=newSqlConnection(strConnect);conn.Open();stringdeleteid=StoreGrid.DataKeyse.RowIndex.Value.ToString();stringdatesql=select*from+deleteid;SqlCommandobjC

14、md1=newSqlCommand(datesql,conn);SqlDataReadermyReader=objCmd1.ExecuteReader();if(myReader.Read()Response.Write(alert(该仓库中还保存有货物,请先通过总仓管将货物调入其他仓库!);return;myReader.Close();stringdropTable=droptable+deleteid;SqlCommandobjCmd2=newSqlCommand(dropTable,conn);objCmd2.ExecuteNonQuery();stringstrsql=deletef

15、romStoreListwherestoreName=+deleteid+;SqlCommandobjCmd3=newSqlCommand(strsql,conn);objCmd3.ExecuteNonQuery();conn.Close();八、逻辑结构设计(1)系统结构图仓库管理系统的系统结构图如下所示:仓库管理系统(3)安全性和完整性设计根据需求分析的说明,安全性设计是通过设置Windows用户以及SQL角色、对象等的权限来实现的,具体如下:新建数据库登陆用户:IHFIF.dministrator身份验证Windows5证迎)域画:安全性访问;C*允许访问叵)r拒鲍访问茁HRFCSQLS

16、erver密码IE:|默认设置指定此登录的默认语言和數据库数据库也):Books语lL)zSimplifiedChineseSPH-i建立好用户后,给用户设置角色已经分配权限,因为超级管理员Administrator与普通管理员rekku设计情况相类似,所以下面只引用Administrator作为例子。常规囲盘登录名QJ:HRFAdnriinis:tr5tor厂柳艮回匚用尸名:Administrator数据库角色成员卫:数据库角色中允许grpublic寸db_owner口dL_acce?sadmindb_securitvadmin商db_ddladmindL_backupoperatordb_

17、datareaderi-ll-ii-liI11r11-iir权眼数据库用户史:Administrator列出全部对象旦C忸列出此用戶异有权限的对象口srsrsrtssr场商srargr区STBookInfodboBookTypedboBorrowdboBurrowListdboCardTypedbo匚刮dgdboUsersdboHfKiTrlhi,;厂nrlhnINSERTUPDATEDELETEEXECDRIIsvrls回NUN00融isis0玄设置完用户属性后,还可以设置对象属性,给用户分配访问对象权限(以表Booklnf为例):权限对象回:列出全部用尸/用尸定殳的數据库角色/public

18、)恆列出对此对象具有权限的用尸/用尸定义的数据库角色/publicU用户黴据库角色/PublicAdministratorSELECTINSERTUPDATEDELETEEXECDRISTSTSTSTarST鬆ElUILTINVAdmiriistrators屮訊StPublic窮rekku九、概念结构设计E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。下面用E-R图来表示本仓库管理系统的概念结构设计。用户和仓库的E-R图用户名丿I仓库地址I商品类型J十、数据库物理设计(1)数据库存放位置:在某些情况下,数据库管理员(dba)经常希望某个数据库会位于服务器

19、数据文件夹之外。这些情况通常是由于业务需要,如提高性能或扩展存储。由于本数据库是在一台PC机建立的,基于扩展存储的考虑,本数据库的数据库文件与日志文件存放在不同分区当中。如下所示:十一、数据库实施(1)本图书借阅管理系统中,创建的数据库有如下数据库对象表StoreListCREATETABLEdbo.StoreList(storeNamechar(15)COLLATEChinese_PRC_CI_ASNOTNULL,storeAreafloatNULL,storeAddressvarchar(50)COLLATEChinese_PRC_CI_ASNULL,storeManagervarchar

20、(20)COLLATEChinese_PRC_CI_ASNULL)ONPRIMARYGO列名數据类型允许空|”stoi_eH=djriech=ir15et口广ekreaFloatSs+:i_eAdi_e3350stureM:TL:ger:rch:r20表ManagerTableCREATETABLEdbo.ManagerTable(pIdintIDENTITY(1,1)NOTFORREPLICATIONNOTNULL,pNamevarchar(15)COLLATEChinese_PRC_CI_ASNULL,pKindvarchar(15)COLLATEChinese_PRC_CI_ASNULL

21、,pCountintNULL,pTimedatetimeNULL,pPersonvarchar(30)COLLATEChinese_PRC_CI_ASNULL,pFromvarchar(15)COLLATEChinese_PRC_CI_ASNULL,pTovarchar(15)COLLATEChinese_PRC_CI_ASNULL,pRemarkvarchar(150)COLLATEChinese_PRC_CI_ASNULL)ONPRIMARYGO数据类型崔度允许空jldin*4jiN:3jtiev;irizh;r15jEindv:ii-ch:r15VIiCi:i11Tl+ITlI4fjiT

22、imedatetimeBVjiPerEonv:i_ck:r30VIFrcm:xfch:xr15VjTo;fch;r15VIiRemarkV:ii_ch:r150V表UserListCREATETABLEdbo.UserList(userIdvarchar(15)COLLATEChinese_PRC_CI_ASNOTNULL,userPwdchar(16)COLLATEChinese_PRC_CI_ASNULL,userNamechar(10)COLLATEChinese_PRC_CI_ASNULL,userFlagintNULL,userLevelvarchar(10)COLLATEChine

23、se_PRC_CI_ASNULL)ONPRIMARYGO仓库表示例触发器建立CREATETABLEdbo.仓库三(pIdintIDENTITY(1,1)NOTFORREPLICATIONNOTNULL,pNamevarchar(15)COLLATEChinese_PRC_CI_ASNULL,pKindvarchar(15)COLLATEChinese_PRC_CI_ASNULL,pCountintNULL,pMinintNULL,pUnitvarchar(4)COLLATEChinese_PRC_CI_ASNULL,pInfloatNULL,pOutfloatNULL,pBackfloatNU

24、LL,pTimedatetimeNULL,pServevarchar(30)COLLATEChinese_PRC_CI_ASNULL,pPersonvarchar(15)COLLATEChinese_PRC_CI_ASNULL,pByervarchar(30)COLLATEChinese_PRC_CI_ASNULL,pStatechar(8)COLLATEChinese_PRC_CI_ASNULL,pRemarkvarchar(150)COLLATEChinese_PRC_CI_ASNULL)ONPRIMARYGOII列名数据类型长度允许空pldint4plI=dTi包常#从:辽15plfim

25、lck:l-157pCQUTlI.int4VpNinint4VpUnitirari二har4Vpinfloat8VpOntfclg七eVpB=icktloatSV11ta2)数据库备份和恢复方案:(待完)由于仓库管理过程中,商品流动量大,添加新商品的周期也不长,这些原因使得商品数量庞大,对流快速,这就要求数据库备份时,采用完全恢复方案。完全恢复对所有的事务都进行了日志记录,当发生故障时,这种方案能够将数据库中每个提交的事务都还原到故障发生时的状态。在这个完全恢复备份方案,具体设计为每个星期进行两次完全的数据库备份,除去这两天以外,在一个星期的其他几天的每个晚上都要进行差异备份。此外,每个白天进

26、行三次事务日志备份。备份方案示意图:星期五差异备份事务日志备份星期四差异备份事务日志备份星期三完全备份星期二差异备份事务日志备份星期一差异备份事务日志备份星期日完全备份星期六差异备份事务日志备份3)系统首页用户登陆界面,在用户输入账户和密码的时候,将判断正确性,代码如下#regionstringpwds=userID.Text.ToString();/MD5加密存储bytepass=Encoding.UTF8.GetBytes(pwds);MD5md5=newMD5CryptoServiceProvider();stringstrPassword=Encoding.UTF8.GetString

27、(md5.ComputeHash(pass);SqlConnectionconn=newSqlConnection(strConnect);conn.Open();stringstrsql=select*fromUserListwhereuserId=+userID.Text.Trim()+anduserPwd=+strPassword+stringstosql=selectstoreNamefromstoreListwherestoreManager=+userID.Text.Trim()+;SqlCommandobjCmd=newSqlCommand(strsql,conn);SqlCom

28、mandobjCmd2=newSqlCommand(stosql,conn);/objCmd.Connection.Close();SqlDataReaderdr2=objCmd2.ExecuteReader();stringlogStoreName=;if(dr2.Read()logStoreName=dr20.ToString();objCmd2.Connection.Close();objCmd.Connection.Open();SqlDataReaderdr=objCmd.ExecuteReader();#endregionif(dr.Read()/根据用户级别不同,自动导航到相应页

29、面stringlogUserId=dr0.ToString();SessionuserFlag=druserFlag;if(SessionuserFlag.ToString()=0)Response.Redirect(AdminsetShow.aspx?user=+logUserId+&store=+logStoreName);if(SessionuserFlag.ToString()=1)Response.Redirect(MainManager.aspx?user=+logUserId);if(SessionuserFlag.ToString()=2)Response.Redirect(S

30、ubManager.aspx?user=+logUserId+&store=+logStoreName);else/Response.Redirect(Adminset.aspx);Response.Write(alert(用户名或密码错误!);conn.Close();新增仓库:设置管理员:退出系统将返回登陆界面:管理员进入后,可以进行仓库开设、仓管员设置等;当前页面显示已经添加有若干信息:仓库管理系统備迥4说管理员3:乍仓库名仓阵面积阿仓库地址仓管同仓唐33二Eaaa一:-.I-輛辑删瞬亡斤二|1:就:仓薛列表仓管员列表贼号揀作1:2j.-j蠱W123皆”管理J编辑删除2222223333

31、33輕赃CLJ加版杈所有20阻加仓管员进入后界面如下:点击左边导航栏,可以显示不同的信息操作界面:如下:/页面传值logUserId=Request.QueryStringuser;logStoreName=Request.QueryStringstore;#region相应页面加载if(Sessionflag=InShow)productInfoBind();if(Sessionflag=OutShow)productOutBind();if(Sessionflag=BackShow)productBackplBind();if(Sessionflag=SearchShow)searchpK

32、ind.Items.Clear();searchpByer.Items.Clear();searchpSever.Items.Clear();SellplBind();if(Sessionflag=RemainShow)RemainplBind();#endregionprivatevoidproductOutBind()/商品出库页面productInfo.Visible=false;productOut.Visible=true;productBackpl.Visible=false;Sellpl.Visible=false;Remainpl.Visible=false;SqlConnec

33、tionconn=newSqlConnection(strConnect);conn.Open();SqlCommandsc=newSqlCommand(selectdistinctpName,pKind,pUnit,pServefrom+logStoreName,conn);SqlDataReadermyReader=sc.ExecuteReader();while(myReader.Read()pName1.Items.Add(myReader0.ToString();pKind1.Items.Add(myReader1.ToString();pUnit1.Items.Add(myRead

34、er2.ToString();pSever1.Items.Add(myReader3.ToString();conn.Close();privatevoidproductBackplBind()/商品退货页面productInfo.Visible=false;productOut.Visible=false;productBackpl.Visible=true;Sellpl.Visible=false;Remainpl.Visible=false;/信息加载SqlConnectionconn=newSqlConnection(strConnect);conn.Open();SqlCommand

35、sc=newSqlCommand(selectdistinctpName,pKind,pUnit,pByer,pServefrom+logStoreName,conn);SqlDataReadermyReader=sc.ExecuteReader();while(myReader.Read()pName2.Items.Add(myReader0.ToString();pKind2.Items.Add(myReader1.ToString();pUnit2.Items.Add(myReader2.ToString();pByer2.Items.Add(myReader3.ToString();p

36、Sever2.Items.Add(myReader4.ToString();conn.Close();privatevoidsearchBind()/查找数据SqlConnectionconn=newSqlConnection(strConnect);stringziduan=pNameas商品名,pKindas商品类型,pCountas库存余量,plnas进货价,pOutas出库价,pByeras买家,pServeas供应商,pTimeas时间;SqlCommandacd=newSqlCommand(select+ziduan+from+logStoreName+wherepState=出库

37、+sqlWhere,conn);acd.Connection.Open();SqlDataReadersda=acd.ExecuteReader();this.searchGrid.DataSource=sda;this.searchGrid.DataBind();acd.Connection.Close();searchCount.Text=searchGrid.Rows.Count.ToString();privatevoidremainData()/商品库存数据SqlConnectionconn=newSqlConnection(strConnect);stringziduan=pNam

38、eas商品名,pKindas商品类型,pCountas库存余量,pServeas供应商;SqlCommandacd=newSqlCommand(select+ziduan+from+logStoreName,conn);acd.Connection.Open();SqlDataReadersda=acd.ExecuteReader();this.remainGrid.DataSource=sda;this.remainGrid.DataBind();acd.Connection.Close();remainCount.Text=remainGrid.Rows.Count.ToString();

39、protectedvoidbtnPutIn_Click(objectsender,EventArgse)/新商品入库SqlConnectionconn=newSqlConnection(strConnect);SqlCommandsd=newSqlCommand(insertinto+logStoreName+(pName,pKind,pCount,pMin,pUnit,pIn,pServe,pRemark,pState,pPerson,pTime)+Values(pName,pKind,pCount,pMin,pUnit,pIn,pServe,pRemark,pState,pPerson,p

40、Time),conn);sd.Parameters.Add(newSqlParameter(pName,pName.Text);sd.Parameters.Add(newSqlParameter(pKind,pKind.Text.Trim();sd.Parameters.Add(newSqlParameter(pCount,int.Parse(pCount.Text.Trim();/入库数量sd.Parameters.Add(newSqlParameter(pMin,int.Parse(pMin.Text.Trim();sd.Parameters.Add(newSqlParameter(pUn

41、it,pUnit.Text);sd.Parameters.Add(newSqlParameter(pIn,float.Parse(pIn.Text.Trim();sd.Parameters.Add(newSqlParameter(pServe,pSever.Text);sd.Parameters.Add(newSqlParameter(pRemark,pRemark.Text);sd.Parameters.Add(newSqlParameter(pState,入库);sd.Parameters.Add(newSqlParameter(pPerson,logUserId);sd.Paramete

42、rs.Add(newSqlParameter(pTime,DateTime.Now);sd.Connection.Open();tryinta=Convert.ToInt32(sd.ExecuteNonQuery();if(a0)Response.Write(alert(操作成功!);Response.Redirect(SubManager.aspx?user=+logUserId+&store=+logStoreName);catch(SqlExceptionex)Response.Write(ex.ToString();Response.Write(alert(添加失败!);sd.Conn

43、ection.Close();return;finallyif(sd.Connection.State=ConnectionState.Open)sd.Connection.Close();和仓管员登陆后类似,总仓管登陆后加载商品调拨页面:同个仓库间商品不能调拨:管理员设置添加页面代码:privatevoidstoreBind()SqlConnectionconn=newSqlConnection(strConnect);conn.Open();SqlCommandsc=newSqlCommand(selectstoreNamefromStoreListwherestoreManagerisn

44、ull,conn);SqlDataReadermyReader=sc.ExecuteReader();while(myReader.Read()/BelongStore.Items.Add(newListItem(myReaderstoreName.ToString();BelongStore.Items.Add(myReader0.ToString();conn.Close();if(BelongStore.Text.Trim()=)Response.Write(alert(当前所有仓库都已经设置相应的管理员!只能设置总仓管!);protectedvoidStoreSet_Click(obj

45、ectsender,EventArgse)storeInfo.Visible=true;userInfo.Visible=false;protectedvoidUserSet_Click(objectsender,EventArgse)storeInfo.Visible=false;userInfo.Visible=true;protectedvoidExit_Click(objectsender,EventArgse)Response.Redirect(Default.aspx);protectedvoidbtnOK_Click(objectsender,EventArgse)/AddUse

46、r#regionPageFlagstringpwds=userPwd.Text.ToString();intflag=-1;if(userLevel.Text=仓管员)flag=2;elseif(userLevel.Text=总仓管)flag=1;elseif(userLevel.Text=管理员)flag=0;elseflag=3;#endregion采用MD5加密bytepass=Encoding.UTF8.GetBytes(pwds);MD5md5=newMD5CryptoServiceProvider();stringstrPassword=Encoding.UTF8.GetStrin

47、g(md5.ComputeHash(pass);SqlConnectionconn=newSqlConnection(strConnect);SqlCommandcm=newSqlCommand(AddUser,conn);if(!string.IsNullOrEmpty(BelongStore.Text)/将管理员添加到仓库表的相对应仓库stringsql=updateStoreListsetstoreManager=+userId.Text.Trim()+wherestoreName=+BelongStore.Text.Trim()+;SqlCommandcn=newSqlCommand(

48、sql,conn);cn.Connection.Open();intb=Convert.ToInt32(cn.ExecuteNonQuery();if(b0)elseResponse.Write(alert(添加失败!);return;cn.Connection.Close();if(Page.IsValid)cm.CommandType=CommandType.StoredProcedure;cm.Parameters.Add(newSqlParameter(userId,SqlDbType.Char,15);cm.Parameters.Add(newSqlParameter(userPwd

49、,SqlDbType.Char,16);cm.Parameters.Add(newSqlParameter(userName,SqlDbType.Char,10);cm.Parameters.Add(newSqlParameter(userFlag,SqlDbType.Int,4);cm.Parameters.Add(newSqlParameter(userLevel,SqlDbType.VarChar,10);cm.ParametersuserId.Value=userId.Text.ToString();cm.ParametersuserPwd.Value=strPassword;cm.P

50、arametersuserName.Value=userName.Text.ToString();cm.ParametersuserFlag.Value=flag.ToString();cm.ParametersuserLevel.Value=userLevel.Text.ToCharArray();cm.Connection.Open();tryinta=Convert.ToInt32(cm.ExecuteNonQuery();if(a0)Response.Write(alert(添加成功!);Response.Redirect(AdminsetShow.aspx);elseResponse

51、.Write(alert(添加失败!);catch(SqlException)Response.Write(alert(添加失败!该管理员已经存在!);cm.Connection.Close();finallyif(cm.Connection.State=ConnectionState.Open)cm.Connection.Close();protectedvoidaddbtn_Click(objectsender,EventArgse)/AddStoreif(Page.IsValid)/验证输入面积是否为数值checkArea.Visible=true;return;SqlConnectio

52、nconn=newSqlConnection(strConnect);SqlCommandsd=newSqlCommand(insertintoStoreList(storeName,storeArea,storeAddress)Values(storeName,storeArea,storeAddress),conn);sd.Parameters.Add(newSqlParameter(storeName,storeName.Text);sd.Parameters.Add(newSqlParameter(storeArea,float.Parse(storeArea.Text.Trim();

53、sd.Parameters.Add(newSqlParameter(storeAddress,storeAddress.Text);sd.Connection.Open();tryinta=Convert.ToInt32(sd.ExecuteNonQuery();if(a0)Response.Write(alert(添加成功!);Response.Redirect(AdminsetShow.aspx);catch(SqlExceptionex)Response.Write(ex.ToString();/Response.Write(alert(添加失败!);sd.Connection.Clos

54、e();finallyif(sd.Connection.State=ConnectionState.Open)sd.Connection.Close();protectedvoidBelongStore_SelectedIndexChanged(objectsender,EventArgse)SqlConnectionconn=newSqlConnection(strConnect);conn.Open();SqlCommandsc=newSqlCommand(selectuserId,userName,userLevelfromUserListwhereuserNamein(selectst

55、oreManagerfromStoreListwherestoreName=+BelongStore.Text.Trim()+),conn);SqlDataReadermyReader=sc.ExecuteReader();while(myReader.Read()userId.Text=myReader0.ToString();userName.Text=myReader1.ToString();userLevel.Text=myReader2.ToString();每个仓库只分配一名仓管员,设置管理员时,如果所有的仓库已经包含管理员,就只能添加总仓管员;否则在管理员设置页面将自动列出所剩余

56、未分配管理员的仓库。MicrosoftInterExplorer!当前所有仓库都已轻设置栩应的管理员r只能设置总仓管?确定/仓库以及仓管员显示页面代码:publicpartialclassAdminset:System.Web.UI.Page/privateboolflag=false;publicstringstrConnect=ConfigurationSettings.AppSettingsconnStr;privatestringlogUserId=;privatestringlogStoreName=;protectedvoidPage_Load(objectsender,Event

57、Argse)if(!Page.IsPostBack)band();band2();logUserId=Request.QueryStringuser;logStoreName=Request.QueryStringstore;privatevoidband()SqlConnectioncon=newSqlConnection(strConnect);con.Open();SqlDataAdaptersda=newSqlDataAdapter(selectstoreName,storeArea,storeAddress,storeManagerfromStoreList,con);DataSet

58、ds=newDataSet();sda.Fill(ds);this.StoreGrid.DataSource=ds;this.StoreGrid.DataBind();con.Close();privatevoidband2()SqlConnectioncon=newSqlConnection(strConnect);con.Open();SqlDataAdaptersda=newSqlDataAdapter(selectuserId,userName,userLevelfromUserList,con);DataSetds=newDataSet();sda.Fill(ds);this.Use

59、rGrid.DataSource=ds;this.UserGrid.DataBind();con.Close();protectedvoidStoreSet_Click(objectsender,EventArgse)Sessionflag=storeShow;Server.Transfer(AdminsetAdd.aspx?user=+logUserId+&store=+logStoreName);protectedvoidUserSet_Click(objectsender,EventArgse)Sessionflag=userShow;Server.Transfer(AdminsetAd

60、d.aspx?user=+logUserId+&store=+logStoreName);protectedvoidExit_Click(objectsender,EventArgse)Response.Redirect(Default.aspx);/用户信息/protectedvoidUserGrid_PageIndexChanging(objectsender,GridViewPageEventArgse)UserGrid.PageIndex=e.NewPageIndex;band2();protectedvoidUserGrid_RowDeleting(objectsender,Grid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论