• 825.50 KB
  • 2022-05-16 18:34:33 发布

超市仓库管理系统的设计

  • 25页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
超市仓库管理系统的设计王鹏超阐京信息工程大学软件工程专业,尚京210044摘要:超市仓库管理主要面对小型超市,借助计算机的帮助,以最小的人力物力完成超市货物的管理。超市仓库管理系统借助于Delphi的便捷和Sql2008的强大功能共同开发,其中主要实现了货物信息的录入、查询、销售和权限管理。关键词:超市;仓库管理;Delphi;Sql2008 1系统概述在信息技术H益发展的今天,利川好信息技术带来的强人功能为我们的生活带米便利,是我们应当追求的鬥标。数裾库技术已经趋于成熟,并且应用于社会发展的每个角落。而对于一些小型超市,因为管理规模较小,没冇应用到计算机信息管理,使得U常管理变得繁杂。本系统主要而对小型超市,ri标于在较小的货物管理和较小的人负管理,设计适合小超市的信息管理,从而方便管现员,减轻工作压力。本系统足在Windows7环境K使川Delphi7+SQLServer2008开发工具开发完成超市仓库管理系统,目标是实现超布仓库管理的系统化、规范化和£)动化。2需求分析本系统是为了帮助管理人员更好更方便地管理仓库而设计,从而应当满足在管理超帘仓库中应有的应用。对于不同的管理员,应该有对应不Ml的权限。低级管理员不应该拥奋更改货物信总的权限,而商级管理员应该能控制整个系统的运行。管理系统分为商品信息杏询、仓库管理、进货、销饩和权限管理。对于人员的管理主要在权限管理模块。仓库管理敁蕪础的操作应该足货物的存入,此功能应当记录货物的各种信息以及操作的管理员和操作吋间。对于低级管理员来说,查询功能应当是方便而且强大的功能。此功能应该可以准确无误地查询仓库内货物信息。仓库管理叫川户提供商品查询功能。川户可以通过查询界面查询数据库屮商品信息。为了更精确杳询商品信息,需要提供商品各种信息的杏询,可以提供简单杏询和窈级查询两种方式。简单方式应该只提供蛙基础的一些商品信息,如:商品名称、商品代码、牛.产円期和销雋单价。除此之外,川户还需要高级杏询,高级杏询包括所有商品属性,用户通过设计不同属性的值來缩小查询范围。仓库管理涉及商品的进货,单独没H进货梭块。在进货模块,川户可以输入商品名称、商品数朵等一些信息。为了方便用户输入,在输入商品名称或者商品代号时,程序自动根据当前字段值在数裾库中搜索商品信息。因为是根裾模糊搜索,所冇搜索到的信息都会奔:列农中姑示出来,随着用户输入信息越详细,列表屮的数据将越米越少。用户也可以直接在列表中选择商品,进行商品数量的添加。以上是对于以及存在的商品进行添加操作。如果对于不存在的商品,系统会提供另一个添加界面,里面包含了添加商品的所柯需要填写的信息,科些像商品名称和商品代码都/,4于必填项,像生产厂家和货架地址为非必填项,用户可以选择不填。添加操作将跟新数据库中信息。仓库管理还涉及货物销售。本系统简单实现了货物销售功能,满足基础需求。M进货一样,川户可以直接输入商品代码或者商品名称,列表中直接搜索到所需信息。用户点击货物所在行,再输入出俦数量,将此货物添加至销俦淸单。最后点击出隽,完成淸单商品的出仿。人性化的设计应当使得程序更为简单好用,系统界則应W.得简洁,关键功能放在醒目位置。对于经常使用的按钮,将字体加粗,放置在界面边缘处,方便点击。 3系统分析3.1系统功能分析根据上面的需求分析,发现小型超市仓库管理系统主耍要帮助超市管理员管理超市货物,在円常活动中其中应具备以K功能:1.货物查询:能过实吋查询当前系统能所奋货物信息,根据川户的输入,£1动在数据库屮搜索对应数裾,将K显示在列表屮;2.进货管理:添加新品种货物或者增加原冇货物的数fi,为用户提供已冇货物快捷输入功能,对干已经存在的货物,系统可以直接默认填充信息,提供给用户修改。对于第一次输入的信息,提供特殊输入界面,指导用户完成输入;3.货物管理:管理者可以修改货物信息;4.账号管理:增添成删除管理账号,修改账号权限,可以修改账号的密码,没有权限的账户无法使用对应权限的功能; 3.2系统模块分析3.2.1仓库管理模块木模块由销仍管理模块、进货管理模块、庳存管理模块、信息浏览模块、权限管理模块、登录管理模块和U志记录模块组成。其中登录模块为第一启动模块,由艿调用艽他模块。仓库管理模块库信权进销登曰存息限货售录志管浏管管管管记理览理理理理录模模模模模模模块块块块块块块3.2.2进货管理模块木模块由货物信息添加、货物信息查询、修改货物信息和生成货物订单四个模块组成。其中货物信息査询调用信息浏览模块。进货管理模块货货修生物物改成信信货货息息物物添查信订加询息单 3.2.3庳存管理模块木模块山修改货物倍息、货物倍息查询、自定义倍息查询和斗:成査询清单功能组成。其屮修改货物倍息和货物信息&询直接调川这两个模块。£|定义信息杏询可以由相应级别管理员编辑Sql査询语仂,由系统对数据库进行杏询。系统会对相成管理员杏询内界进行判別,对超出管理员级别的查询进行阻止并捉示。库存管理模块修货定生改物义成货信信査物息息询信査査淸息询询单3.2.4账户权限管理模块本模块由添加账户、删除账户、更改账户权限和修改密码组成。账户权限是关乎系统稳定和安全的重要之处,需要着重设计。账户一共分为三个等级:超级账户、屮级账户和一般账户。每个账户对应权限在如下表所示:拥有权限超级账户中级账户一般账户账户类型添加账户7一般账户X删除账户7自身和一般账户自身修改密码V自身和一般账户自身货物信息77V信息査询厂商信息7VO账户信息V一般账户X添加货物V7V自定义查询VXX自定义账户类型VXX"注:J表示拥有权限,x不具有权限,O表示部分具有 账户权限管理模块白添删更修定加除改改义账账账密账户户户码户权类限型 3.2.5登录模块此模块足系统运行的第一个模块,判断用户输入的账户和密码足杏都不为空。当都不为空吋,系统传递账户和密码给数据库,山数据库返回的信息判断账户和密码吋候匹配。如果不匹配返M用户输入界而。如果密码与账户匹配,系统查询此账户权限,根据此账户权限组织管珂界面,登录系统。读取账户权限信息X—根据权限信息组织管理界面信息输入是账户密码是否都不为空_账户信息査询I是账户密码是否匹配_是V登录 3.2.6日志记录模块木模块负责记录系统屮所进过的所科操作。3.3数据流图根据以上的分析,各系统模块的功能和彼此间的接U已相对淸晰。由此我们给出系统的数据流图。数据库登录数据查询日志记录◄—―►x►账户管理VVV清单生成货物信息直进货修改货物信◄询►息A库存管理 4数据库设计4.1数据库需求分析根据前面的所述,在满足完整性约朿的前提下,对数据庳进行结构特性和行为特性的设计,根据货物进销存管理系统的需求分析可知,该系统至少需要以K儿个方面的信息。川户信息:不同的川户对应着不同的权限,例如雋货员只进行货物销雋,而不能进行货物进货操作。这就需要在表屮对应不同用户的记录屮包含不同的权限。货物倌息:对应不同的货物,要记录他的进价和零售价,以及其他的一些相关倌息。销售情况:圮录不同时间销售货物的数量金额。进货情况:记录不同时间所进货物的数量金额。4.2数据库表设计4.2.1川户权限表列名数据类型允许Null值账户序号int否用户名char否密码char否商品销售bit否商品信息bit否进货bit否库存管理bit否权限管理bit否自定义査询bit否删除账兮int否添加账号int否W为添加和删除账号志耍对另一账号操作,需耍制定权限,用int表示。Int越低代表权限越高。4.2.2销俦情况表列名数据类型允许Null值销俾代码char否销售曰期smalldatetime否商品名称char否商品代码char否销售数跫int否销售单价money否 销售企额money帝销俦情况表记录了由程序出售功能记录的销售情况。程序将销售商品的信息,如名称、吋间、数量等写入此表,曲此可以进行销售情况汇总,实现销售统计。销色代码为字母加数字的形式,川char型更为方便。因为销色情况表中所冇属性都是商品销仍时候必须存在的,所有都不允许空位。销忾日期使用smalldatetime类型而不是date,是因为smalldatetime可以精确到分,满足了销售闩期对数裾吋间的要求。4.2.3商品信息表列名数据类型允许Null值货物代码char否货物类似char是进货厂家char足生产曰期sma11datetime足有效期smalldatetime是销售单价money是进货单价money是含税价money足库存数int是出产地char是优惠率float是货架位Schar足操作账户int否4.2.4供应商信息表列名数据类型允许Null值进货代码char否进货曰期smalldatetime否商品名称char否商品代码char否进货数遺int帝进货单价money否进货金额money否进货厂家nvarchar是5设计实现5.1登录窗口最先要介绍的就是UI界血的设计,因为登陆界血决定着整个管理系统的凼血风格,以 及I4川户传递的潜在信总。本系统着重于实川和精简,这两点要最先体现在登陆界面的没计上。如下阁所示:狼个窗口只有W个Edit控件和一个登陆按钮。由于使用了Dialog窗口风格,窗口默汄按钮只剩下一个关闭键,这样给用广一种简单和清爽的感觉。本登陆窗口和随后的几个管理窗口都添加了Image控件和Skin美化控件,通过添加竹景阁片和美化按钮、编辑框等元素让整个管理系统和谐统一,更祚易被用户接受。登陆模块AK还讨以细分为数据输入判断、数据査询以及初始化管理界而数据三个子模块。数据输入判断子模块通过判断账号编辑框为空,向川户提示‘‘账号不能为空’’约束川户输入。进而判断密码是否为空,提醒用户输入密码。为了照顾用户体验,当用户未输入账兮时,自动将光标设置到账户输入编辑框,冋理应用于密码输入框。//读取两个edit的内容,判断是否为空。if(edit_acc.Text=”)thenbeginMessageDlgC用户名不能为空!",mtWarning,[mbOk],0);edit_acc.SetFocus;endelsebeginif(edit_pas.Text=")thenbeginMessageDlgC密码不能为空!’,mtWarning,fmbOk],0);edit一pas.SetFocus;End数据查询子模块实现软件和数据库之间的数据通信。添加Delphi提供的adoquery控件,并设置其数据库连接字符串,调试其至成功连接数据库。此时,当用P输入账号和密码,并点击登录按钮时,将账号和密码写入sql语句中,叫数据库发送‘‘在用户权限表中査询’’的命令,根裾返IN集判断账号、密码是否匹配,从而觉得是继续登录还是h"d用户反映‘账号或密码错误’的信息。//如果都不为空,向数据库发送诺求,判断账号密码是否匹配。elsebegin ADOQueryl.Close;ADOQueryl.SQL.Clear;ADOQueryl.SQL.Text:="select*from[用户权限表]where用户名=’"+edit_acc.Text+"•and密码=…+edit_pas.Text+’…;ADOQueryl.Open;temp:=ADOQueryl.Fieldbyname("权限序号’).AsString;iftemp=’’thenbeginMessageDlgf用P名或密码错误!’,mtWarning,[mbOkJ,0);edit_acc.SetFocus;edit_pas.Clear;初始化管现界面的数据子模块足成功验证账号和密码后续登录操作,其读取登录账号的所有权限信息,初始化Manage管理界面应该有哪些按钮、功能设置为可用,哪些功能被屏蔽,从而做到不同权限的账号可以使用不同功能。//如果匹配,查询账号权限,并根据权限信息初始化管理界面。Log.ADOQueryl.Close;Log.ADOQuery1.SQL.Clear;Log.ADOQueryl.SQL.Text:="select权限序号from[用户权限丧]where权限序号="’+temp+"’and货物信息=I1;Log.ADOQuery1.Open;ifLog.ADOQueryl.Fieldbyname("用产名").AsString=True’thenManage.MainMenu1.Items.ItemsfOl.Enabled:=true; 5.2管理界面g欢迎回来!000贫物信息(W货物销售⑼进贫m库存官理凶权限雜凶注镌登录①管理界而是用户完成账兮、密码输入P看到的欢迎界而。根裾登陆界衡初始化的数裾,判断敁示管理界而上6个功能键每个是否显示。窗口最上方是maimmme控件,将程序主要功能全部在其上显示,保证界而的整洁、清爽。该界面依然使川了image控件,同吋图片样式同登陆界面相似,保证程序整体UI设计的统一性。Mainmenu屮每个按钮只是显示对应功能界血,而不涉及具体操作,这样方便模块的分割,也便于管理。例如:procedureTManage.NlClick(Sender:TObject);beginGoodlnfo.show;end;注销登陆则是关闭管理界而,打开登陆界⑻。Manage.Hide;Log.show;当川户退出吋,进行足否退出询问:if(IDYES=Application.MessageBoxf确定要退出叫?’,•提示",MB_YesNo+MB_IconQuestion))thenbeginLog.Close;CanClose:=trueendelseCanClose:=false; 商品代码2014/3/30▼至2014/3/30▼生产日期关键字二000水机《0A3□«!.5.3商品信息查询两品代玛|商品名称1蒙牛酸奶w品2伊利牛奶奶釗品9|6>|番華价I进货準价I纟税价|gff鈐I出户坨1优惠$I淨利篥团1913/2/121913/2/12100000.199991itlX*100伴利集团1900/1Z11900/1/1252325100花|«商品信息查询模块负责检索数据库中所有商品的信怠。这些信息乜括:商M代码、商品名称、商品类型、进货厂家、生产日期、有效期、销色单价、进货单价、含税价、出产地、优患率、货架位置和备注。因为涉及到进货单价和进货厂家等私密信息,此功能只为商权限等级的用户开放。界面上方设置了三类查询条件。笫一是关键字一査询,关键字括商晶代码和商品名称,这两个关键字可以莨接准确找到商品而不需要M:他条件。第二类杏询为关键字二杏询,关键字包拈含税价、销俦单价、进货单价、含税价、库存数、优患率和有效期。川户如果只是进行一些简单的例如库存数的查询时,点击叉键字二comobobox下拉列表,选中所耍查询的属性,并在后而编辑框中输入相关数裾,即可完成查询。生产U期使用datetimepicker投件,直接点击就可以使用。第三类杏询为高级杏询,当用户使用多个条件进行商品杳询时所使用。点击“高级”按钮吋,调用如下界面:界血上列出了商品的所有属性,其中牛产门期和有效闩期使用datethnepicker控件完成 输入。编辑框为空吋默认所有商品均符合条件。用户输入完数据点击查询吋,程序首先判断输入范围是否述法,即输入区间为从低到高。如果输入数据不符合,则弹窗提示“输入数据应从低到高”。木模块使用商品信息杏询的adoquery杏询控件,根裾M级丧询屮的条件,在数裾库屮查询到相关信息,并显示到商品信息查询listview"1"o用户可以在査询完成后点击清空按钮,清空编辑框中所有数据,开始新一次查询。5.4进货进货界而III两个窗体组成。这个足商品录入界而,默汄是要进货的商品足数据库中己经存在的,当再次购入这些东西吋,不需要再次输入诸如商品类型、侖效期、进货厂家等信息,只需输入必要的信息指明商品就可以。为商品代码edit控件添加一个过程,当用户输入商品代码时,自动在数裾库中搜索该代码商品,并将其显示在左侧商品信息中。用户填完所有信息后,4以点击确定购入,完成本次进货。更多悄况下,用户需耍一次购入很多货物,此时在完成一次信息输入吋,点击添加至列表,将当前商品添加到左下方listview中,输入完所有商品,点击确定购入,一次性购入多个商品。界血上杏总金额label控件,这处显示进货清单里所有商品价格总和。这需要在进货淸单listview中添加一个过程:当列表内容变更时,遍历列表中所有行,将每行“总价”单元的值全部相加,得到总金额,在右侧label中显示。当用户添加一个没冇记录的商品,需要点击“添加新品种”按钮,转到新品种添加界側。商品代码输入框被设定为readonly,外且底色被赋值为灰色,提示本项不能输入。因为 商品代码4以根据商品名称和商品类型由一系列规则A动生成,免去用户管理商品代码的劳动,简化操作。在这里,用户需要输入商品名称、商品类型、柯效期和进货单价。销忾单价、产地和备注均为选填项。生产R期使川timepicker控件,可以方便输入円期,默认为当前円期。货架位置和进货厂家两项采用combobox控件,用户点击吋敁示下拉列表,列表中的信息预先设置好。用户点击添加按钮时,将界而中所冇信息添加至:数裾库中商品信息表。因为表屮很多数据不允许空值,在插入吋赋值为0,待以后修改。用广点击取消按钮,直接凋用form.close,关闭此窗口。5.5权限管理账户管理梭块帮助川户管理账号,分配各个账号的权限,同吋提升系统的安全。木模块使用adoquery控件链接和操作数裾库,使用dbgrid显示数据庳数椐信息。这两者使用database连接,其功能就足数裾的传递。因为dbgride可以直接修改数裾库的內容,为了防止用户错误输入,将其属性修改为readonly,保所其敁示数据的功能。对于账户权限的31改操作,使用dbcheck控件。铜dbgrid和dbedit一样,史改校件上的内容可以且接改 数据库对应的内界。方便的操作也带來了一点危险.权限信息表屮每个账号的五个权限对应着五个项,每个项数据类型为bit,所以在窗口上布置5个dbcheck控件,分別对应用户权限中的账号权限、商品信思、商品销售、进货,每个控件状态的更改将直接修改数据库中对应账号的权限为true或者false。界而下方是密码修改区域,通过读取dbgrid内界可以得到当前选择的账号。因为dbedit可以直接修改数裾库,而密码需要经过确认,所以添加W个edit控件川于新密码的输入和重笈输入检查,上方label控件.V示选中的账号,通知用户当前修改的账号。右下侧是确认修改、删除和添加按钮。确认修改按钮首先判断新密码和重兌密码是否相同,如果不同则弹窗提示:“两次输入密码不相同,请重新输入。”。通过检测的密码使川adoquery查询到所要修改的账号,并用新密码更新其密码项内容,完成密码修改。删除按钮在按下触发后弹窗提示“确认删除账号?”,弹窗冇确认和取消两个按钮。点击収消关闭弹窗,点击确认使用adoqtiery向数据库发送删除FI标账号命令,完成删除功能。添加账号按钮触发f以是弹出新窗IIright_add,丼不做其他操作。//判断账号是否存在ADOQueryl.Close;ADOQueryl.SQL.Clear;ADOQueryl.SQL.Text:="select用户名from[用户权限表]where用户名=…+Editl.Text+m,;ADOQueryl.Open;ifADOQueryl.FieldByName(*用户名TAsString<〉”thenbeginshowmessagef川户名已存在,谴重新输入’);Editl.Tcxt:=u;endelsebeginifEdit2.Text<>Edit3.Textthenbeginshowmessage("两次密码不In],淸$新输入");Edit2.TextEdit3.Textendelsebegin//添加账号 ADOQueryl.Close; ADOQucry1.SQL.Clcar;ADOQueryl.SQL.Text:="insertintoL用广权限表KW1名,密码,货物销卷,货物信息,进货,库存管理,权限管理)valuesG用户名,:密码,:货物销售,:货物信息,:进货,廊存管理,:权限管理ADOQuery1•F>arameters.ParamByName("MJ,1名").Value:=trim(Editl.Text);ADOQueryl.Parameters.ParamByName(’密码’).Value:=trim(Edit2.Text);新窗Urights_add分力两个区域,左边力权限列表,使用check控件。右侧是账号密码输入区域,冇账兮编辑框、密码编辑框、密码重父编辑框和添加按钮。当川户点击添加按钮时,首先判断账号输入框是否为空,如果为空,弹出提示窗口“请输入账号”。不为空则继续判断密码是否为空。为空则提示,否则判断密码同重密码是否相同。不同则提示“两次密码输入不同,请重新输入”。两次密码判断相同后向数据库发送账号杏询,如果要添加的账号已经存在,提示川户“该账号已经存在,请输入新账号”,并将光标设置为账号编辑框,并清空编辑框数裾。如果未能查询到FI标账兮,则根裾左侧checkbox选中情况同账号和密码一起发送给数据库,进行账号权限表的插入操作。在插入之后査询该账号,如果存在,弹窗提不•“插入成功”,开则插入失败。在关朗right_add窗口吋,通知rights窗口中的dbgrid刷新数据显示。5.6销售管理 尚品销售校决完成尚品的销售。窗门左侧为Dbgrid,连接database至adoquery,完成数据的传递和显示功能。窗口右侧为信息输入区域,提供商品名称、商品代号和商品数量等信息输入。为了方便用户输入,我为查询商品名称的输入框添加一个过程。当编辑框中的数据改变时,立即在数裾庳屮杏询当前的位,外在dbgrid屮显示出来。杏询使用模糊査询,这样川户只要输入儿个关键字就可以找到对应商品。而对于商品编号,并不使川这种方法。首先数字类型只有10个,不管输入哪个数字,使用模糊查询都会妞示很多无关条目。其次数字编兮一般都冇规律,在未打完完整编兮前,菽木无法准确查询所要商品信息。这样造成严重处理吋间浪费,所以这里使川精确查询。为了给川户更直观的输入提示,当川户在商品信息栏巾输入数裾吋,程序将商品代码桐底色改为灰色。同理,用广在代码桐中输入数裾吋,高亮显示代码框,而将信息框底色改为灰色。商品信息输入框下方还冇商品数S输入框,用户在此输入出售的该尚品数量。尚晶数g可输入范围有限制,即输入数值不能超过库存数。当用户输入数值超过库存,本框红色显示,并且不可被添加到出售清单中。在商品数暈输入下方为两个label控件,显示“总金额”和具体数字。界而左下方是出售清单列表,顾客可能一次购买多样物品,这吋用广可以点击添加按钮,将当前货物信息输入出隹清单中。ifDBGridl.DataSource.DataSet.RecNo>0thenbeginwithListView1.Items.AdddobeginCaption:=DBGridl.DataSource.DataSet.fieldbyname(’商品代码’).Value;subitems.Add(DBGridl.DataSource.DataSet.fiekibyname("商見名称•).Value);subitems.Add(DBGridl.DataSource.DataSet.fieldbyname(’销色单价•).Value);subitems.Add(Edit_num.Text);subitems.Add(inttostr(DBGrid1.DataSource.DataSet.fieldbyname(’销单价").Value*Edit_num.Text));endEnd //listview数掘更新vartotal,i:Integer;beginifListViewI.Items.Count>0thenbegintotal:=();fori:=0toListView1.Items.Count-1dobegintotal:=total+strtoint(ListViewl.Items[i].subitems.Strings[3]);end;end添加按钮首先判断dbgrid妞示控件是否有行被点击,未选屮行就执行添加操作会出现访问耶法地址错误。川户选中某一行会由DBGridl.DataSource.DataSet.RecNo指示,此时执行添加操作。出售淸单显示足由listview完成,该控件在添加吋候,第-列元素必须力caption,而其后所有元素均为subitems,不区分名称,按照顺序添加。列表最后一个元素IA)容为本行商uTj金额,即力单价乘以数S,DBGridl.DataSource.DataSet.fieldbyname(•销W单价D.Value*Edit_num.Text,delphi中数字文本类型也可以按照数字运算规则相乘,免去转换步骤。为了在“总计”中显示所有商品总额,这需耍使用ListViewlChange过程。即当列表内界变化时,所要执行的操作。这里需要把列表屮所有商品金额加起来,并赋位给显示label。在一般情况K,川户在向出雋淸单屮输入商品信息吋很少取消某种商品,似为了使程序能完成更多情况下的任务,需要再添加删除和清空功能。这两个功能因较少被使用,所以一popupmenu的方式使川。即当川户右djlistview中的某行时,弹出一个菜单,分别冇删除改行和淸空列表选项。完成删除功能需要配Slistview中mwselect为true,允许川户选择行,然后且接凋用ListViewl.DeleteSelected;完成册ij除。而清空列衷则更为简1丫1•,listview木身就拥冇此过程ListVicw1.Itcms.Clcar;待所有商品输入完成,点击结算按钮,完成!II售。出售模块负责将销售情况写入数据库中销售情况表,并且根据各个商品销售数量更新数裾库中商品信息表。首先程序使用扼环遍历列表屮所奋行信思,根据当前行商品名称在数据库商品信息表屮搜索信息,丼巾俦出数景减少数据库中库存数的值,完成售出。此吋还需要将列表中所有倌息输入数裾库中销售情况表,包柄因为点击出竹意味着木次出售行为的结朿和新一次出售行为的开始,所以要将木模块所有数据控制、显示模块初始化,即清空数裾。6结束语经过几个71的努力,完成本次超市仓库管理系统。系统能够正常运行,但是没能经过实践的检验,也存在着各种各样的错误,还冇非常大的空间得以改进和发展。在整个系统的设计和实现当屮,遇到了很多难以解决的麻烦。俏足在同学们和老师的帮助卜,通过不断地查找资料和调试,一一克服了闲难,最终使得系统得以实现。这次系统设计给了我很人的启发。首先,要不断地学习,不断充实自己的大脑,只冇努力学习,才能够完成n标。其次,則对困难不能一味逃避,而是应当知难而上,寻求解决的途径。现在网路发达,4以说,网络是学习最好的老师。当遇到W难而迟迟未能解决的吋候,向Google、baidu寻求帮助,这j 足一个大学生应带具备的吋代本领。还有一点,设计的时候应当有全局观,系统地总结和设计,才能不陷入局部而异致虎头蛇尾悲剧的发生。 参考文献[1]俞俊甫编著,《数据库原理应用教程》,北京邮电大学出版社,2010年7月;[2]毕硕本卢桂香编著,《软件工程案例教程》,2007年8月;[3]袁鹏飞孙军安编著,《中文版SQLServer2000数据库系统管理》人民邮电出版社,2001年5月;[4]韩万江姜立新编著,《软件项目管理案例教程》,机械工业出版社,20013年1月;[5](美)RayLiscbner编著,《Delphi技术手册》,中国出版社,2002年1月。 22