毕业设计(论文)-书店收银管理系统设计(Delphi设计).doc_第1页
毕业设计(论文)-书店收银管理系统设计(Delphi设计).doc_第2页
毕业设计(论文)-书店收银管理系统设计(Delphi设计).doc_第3页
毕业设计(论文)-书店收银管理系统设计(Delphi设计).doc_第4页
毕业设计(论文)-书店收银管理系统设计(Delphi设计).doc_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文 (设计 )用纸 佳木斯大学教务处 第 1 页 1 1 毕毕 业业 论论 文(设文(设 计计) 课题名称 书店收银管理系统 学 院 信息电子技术学院 专 业 计算机科学与技术 班 级 指导教师 郭吉平 常亮 学生姓名 毕业论文 (设计 )用纸 佳木斯大学教务处 第 2 页 佳佳 木木 斯斯 大大 学学 教教 务务 处处 摘 要 随着计算机技术,计算机软件,办公自动化的迅速发展,特别是计算机和计算机应 用的大面积普及,使人们传统的行为方式和观念受到巨大的冲击影响。 作为发展中国家,我国办公自动化、计算机化还相对比较落后,我们不仅需要解决 全球办公自动化发展过程中所遇到的共性问题,而且还要有针对性的解决一些我们国家 特有的问题。 本系统是针对一些中小型的书店和图书超市而开发的,分为系统、进货、销售、查 询、统计、预测统计图、帮助等几个菜单组。其中系统、进货、销售、查询、统计、帮 助为 MIS 管理信息系统必备的模块,而预测统计图则是本系统特有的。各菜单包含子模 块数量如下:分为系统(2 个) 、进货(3 个) 、销售(2 个) 、查询(3 个) 、统计(5 个) 、 预测统计图(1 个) 、帮助(2 个) 。本系统在 Windows 2000+SQL Server 2000 环境下, 采用当今先进的技术 Delphi6.0 开发完成,可以实现一些管理事务。 关键词 Delphi6.0; SQL Server 2000; 数据库 毕业论文 (设计 )用纸 佳木斯大学教务处 第 3 页 Abstract With the swift development of computer, software and OA, especially popularization application of computer make the action method and concept of peoples tradition influence hugely. As the developing country, working via OA and computer falls behind in out country. we not only need the general character problem run into the settlement of whole working via OA, but also need to solve a series of peculiar problem. This system is developed for some small or medial shops and super book market. It includes some parts such as system configure, stock, sale, query, stat., forecast chart, help and so on. Among them, system configure, stock, sale, query, stat., help are necessary to MIS, but forecast chart is unique part of this system. The following is the menu account: System configure has 2 submenus Stock has 3 submenus Sale has 2 submenus Query has 3submenus, Stat. Has 5 submenus Forecast has 1submenu Help has 2submenus. This system run at the windows2000, SQL Server 2000 and developed by advanced technique of Delphi6.0.this system may help to do something about management transaction. Keywords Delphi 6.0 ;SQL Server 2000;DATABASE 毕业论文 (设计 )用纸 佳木斯大学教务处 第 4 页 绪论 随着计算机软件技术的迅速发展,特别是计算机的普及应用,通过对计算机软件的 应用已经成为完成工作的主要手段和方法。随着技术的飞速进步,市场竞争的空前加快, 技术、贸易堡垒的消除,面对更多的体制灵活的对手,竞争的空间成倍扩大,竞争的程 度也空前激烈,许多企业已经认识到信息技术的重要性,尤其是中国加入世贸组织的日 益临近,为了与世界各国先进管理体制接轨,如何充分利用计算机软件和技术实现企业 的运营与管理,成为当前大中小型企业急待解决的首要问题。 计算机进入企业管理已有许多年历史,信息技术的发展为企业管理提供了良好的支 持环境。但在我国企业管理中,信息化建设的普及化还远远不够。许多中小型企业,并 没有通过计算机软件对企业进行系统的信息化管理。目前,大多数企业都开发了管理信 息系统(MIS)而大部分都是针对大型企业开发的。这些系统对中小型企业,从经济上和 实用程度上都不适合,所以急需一些适用于中小企业的 MIS 系统出笼。采用现在先进的 Delphi6.0 技术,和 SQL Server 2000 数据库,开发一套功能强大的运行于 Window 98/Windows 2000 的针对中小企业的 MIS 系统已经势在必行。使更多的企业能够通过计算 机,对企业管理实现信息化。从而使办公自动化系统成为基于业务信息源的综合统计处 理系统和决策支持系统,使办公自动化面向高层次应用的方向发展。 使用计算机对小型书店进行管理,具有手工管理所无法比拟的优点。例如:数据录 入简单、查找方面、可靠性高、存储量大、保密性好、使用寿命长、成本低等优点。这 些优点能够极大地提高书店管理的效率,也是企业的科学化、正规化管理,与世界接轨 的重要条件之一。 1.1 系统开发背景 随着国内经济的高速发展,商品流通企业的数量与日俱增。市场上的流通商品琳琅 满目、种类繁多。中国加入 WTO 后,跨国公司纷纷开始抢占市场。如何面对来自全球跨 国公司及国内同行之间的激烈竞争。商品流通企业的竞争已不单单是企业规模的竞争, 管理及营销观念的竞争,更是一场现代信息技术的竞争,如果不能掌握先进的信息技术 毕业论文 (设计 )用纸 佳木斯大学教务处 第 5 页 管理工具来应对瞬息万变的市场,企业终将在这场竞争中被淘汰出局。 1.2 系统开发的意义 信息管理系统是集计算机技术、网络技术为一体的信息系统工程,它能够使企业运 行的数据更加准确、及时、全面、详实,同时对各种信息进一步的加工,使企业领导层 生产、经营的决策依据更充分,更具有合理性科学性,并制造出更多的发展机会;另外 也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新 台阶,为企业持久、健康、稳定的发展打下基础。该书店收银管理系统是根据企业的生 产过程,控制产品销售、销售成本等数据。有效的对企业的一系列经营活动进行统一化 管理。 核心任务是如何获得更高利润。 1.3 系统可行性分析 为了找到实现本系统行之有效的解决方案,我们从技术的可行性和实现条件的可行 性这两方面进行论证。 首先我们从技术上进行了分析,随着计算机的普及和数据库技术的高速发展,特别是 信息管理系统(MIS)技术的不断成熟,MIS以由单纯的统计系统过渡到决策支持系统, MIS新型的以数据库为中心的结构体系使企业和政府摆脱了那种需密集人力资源、物力资 源、高成本的操作及管理方式,通过数据库,用户可以很方便的管理MIS资源。而结构化 生命周期开发方法也为我们开发信息管理系统提供了基础。 其次我们还从实现条件的可行性进行了分析,因为当今时代计算机已经普及到每一个 企业,利用数据库来管理自身资源,到一定的程度后,本系统也就有了其使用价值,那 么在系统运行后,就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的 结构及实现方法,即对用户来说是透明的,所以本系统对用户而言,是定位在界面友好、 操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各个窗体上的按钮,和通 过键盘打字输入信息就能执行相应的功能,就企业管理者而言,关心的是如何得到用户 传送的信息,只要把用户操作后的信息放入数据库或展示出相应的数据,企业的管理者 就可得到所想要得东西,从而在企业的行政管理中做出判断。而以上的这些功能都能在 所选择的开发环境中用所选择的开发工具来实现,所以,本系统的开发是可行的。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 6 页 2 系统开发环境简介 2.1 Windows 2000 Windows2000 作为新一代的网络操作系统家族,无论是在性能上还是可靠性上都有了 质的飞跃。在 Windows2000 中,微软已经针对可能影响可靠性的软硬件和系统管理问题 进行了加强。Windows2000 在三个主要的方面改进了可靠性。首先,对结构进行了修改, 主要目的在保护操作系统的内核和共享内存,因此增强了系统的稳定性。其次,开发了 新的工具可以帮助开发者创建更可靠的代码。第三,Windows2000 包含了新的管理特征可 以提高可靠性。对操作系统来说,用户的主要需求就是系统的可靠性。我们平常提到的 可靠性实际上指的是两个方面的操作系统特性:可靠性和可用性。在提到操作系统的时 候,可靠性指的是指一台服务器如何相容的运行应用程序和服务器尽量少发生错误,可 靠性越高就表示系统发生错误的机会越少;而可用性是指系统可以使用的时间,可用性 越高就表示系统可以使用的时间越长,因为日常维护和意外错误导致的宕机时间就少。 可靠性可以通过减少潜在的系统失败的原因来提高,而可用性则可以通过解决宕机的原 因来解决。简言之,一个可靠的和可用的系统很少失败,在关机后也很容易重新启动 Microsoft sql.Clear; sql.Text:=select count(*) as zs fromt_dl where userid=+#39+trim(edtyhm.Text)+#39; open; 密码校验 close; sql.Clear; sql.Text:=select count(*) as zs from t_dlwhere password=+#39+trim(edtkl.Text)+#39 + and userid=+#39+edtyhm.Text+#39; open; 修改密码 close; sql.Clear; sql.Text:=update t_dl set password=+#39+trim(edtxmm.Text)+#39 + where userid=+#39+trim(frmkl.edtyhm.Text)+#39; execsql; 校验过程是通过对后台表 t_dl(登陆)的操作来完成的。此表的表结构如下 毕业论文 (设计 )用纸 佳木斯大学教务处 第 24 页 字段名数据类型大小 useridchar6 passwordvarchar10 如果用户登陆成功,将进入本系统的主操作界面。 插入图片通过 Additional 中的 Image 控件实现,在 Picture Editor 中点 Load 选择所需 图片,然后点击 ok。 5.2 系统模块设计 系统中包括修改密码和退出两项。 5.2.1 修改密码 修改密码模块,可以使用户在已知原密码的前提下变更新密码。要求用户输入原密 毕业论文 (设计 )用纸 佳木斯大学教务处 第 25 页 码,当原密码录入后系统将对其校验,如果不正确,系统会提示原密码错误,不允许用 户对密码进行修改。如果密码正确,系统要求用输入新密码,并对其做一次确认输入。 新密码与密码确认不同时,也将作出新密码与密码确认不一致的提示。当一切条件允许 时,系统将对用户密码进行修改。 运行时动态设置的 SQL 属性 : close; sql.Clear; sql.Text:=update t_dl set password=+#39+trim(edtxmm.Text)+#39 + where userid=+#39+trim(frmkl.edtyhm.Text)+#39; 5.2.2 退出 选择退出时,系统会提示用户是否真的退出,如果选择是,则退出,反之取消退出。 5.3 进货模块设计 本系统是针对书店等开发的管理系统,所以进货是系统的运作前提。因此,本系统对书 籍进行分类的规划录入,在大类增加,新书增加,原有书籍数量增加等方面,分别作了 设置。进货模块组主要是对表 t_kc(库存)进行操作,表结构如下: 字段名数据类型大小 dmchar7 smvarchar30 pfjfloat8 lsjfloat8 kcslint4 其中的打印功能,为了便于使用,而且不做大量重复性劳动。本系统中的报表打印,将 以万能报表的情况实现。即:每个打印都会调用公共模板,以相同的形式打印出结果。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 26 页 打印模板包括放大、缩小、全屏、上页、下页、打印设置、打印等功能。当用户选择打 印时,报表会自动调用公共模板,进行打印。 5.3.15.3.1 新书入库 新书籍的入库,就是在此模块下来完成的。有货物才能销售,因此这是非常重要的 一个环节。它包括入库、删除和打印等功能。选择入库功能,将弹出新的窗口,允许用 户录入新书。首先要选择此书属于哪一大类,然后在该类下录入。书籍的编号是自动递 加生成的,用户不可以更改。而且本系统对录入的数据进行了严格的限制,如果批发价、 零售价和数量录入了不正确的字符,系统将给予提示,所以用户可以放心录入,不会出 现错误。系统会向 3 个表中插入新书的数据,主要代码如下: sql.Text:=insert into t_kc(dm,sm,pfj,lsj,kcsl) values( +#39+trim(edtdm.Text)+#39+,+#39+trim(edtsm.Text)+#39 +,+float to str(str to float(edtpfj.Text)+, +float to str(str to float(edtlsj.Text)+, +float to str(str to float(edtkcsl.Text)+); sql.Text:=insert into t_xs(dm,xssl) values(+#39+trim(edtdm.Text)+#39 +,0); sql.Text:=insert into t_dz(dm,sm,dzbl) values(+#39+trim(edtdm.Text)+#39 +,+#39+trim(edtsm.Text)+#39+,1); 删除功能也作了特殊设置,如果此书籍被发现已经有出售记录,将不能被删除。即: t_xs(销售)表中有此编号的数据记录。做这样限制的目的是为了使已发生销售情况的书 籍不被错误的删除。打印功能可以通过打印模板,进行打印,在此不做重复介绍。 5.3.2 书籍入库 此模块主要对原有的书籍,进行数量增加时使用。用户可以直接在 Grid 中选中该书 籍进行如库,但代码过多时可能选择不便。因此增加了查询功能,用户可以通过书籍代 毕业论文 (设计 )用纸 佳木斯大学教务处 第 27 页 码和书名对书籍进行查询,这样可以直接找到所需的书籍。 sql.Text:=select * from t_kc where substring(dm,3,5)+#39+00000+#39; if trim(edtdm.Text) then sql.Text:=sql.Text+ and dm=+#39+trim(edtdm.Text)+#39; if trim(edtsm.Text) then sql.Text:=sql.Text+ and sm=+#39+trim(edtsm.Text)+#39; 用户也可通过刷新来清除查询结果。 在入库的过程中涉及到书店的具体业务,如果此书店购进一批与原有书籍书名相同, 而且零售价也相同的书籍,可以认为与原书籍是同一种书。但此次购入的批发价与上此 购入书籍的批发价可能不同,因此就出现两种情况:进价相同和进价不同。如果在进价 不同的情况下,只是单方面的增加数量,而不修改此种书籍的批发价,则会造成对资金 投入和利润计算时的偏差和错误。为了解决这一问题,本系统采取让用户自由选择的方 式,如果不选改变批发价,则允许用户直接录入增加的数目,如果录入的数量为不正确 的字符时,系统会提示用户输入正确的整数。 如果用户选择了改变批发价一项,会弹出另一个表单,要求用户录入本次新进书籍 的批发价、数量,系统会为用户自动算出新的批发价,所利用的算法为平均法。 新的批发价=(原批发价*(原库存数量+售出数量)+新进书籍批发价*新进书籍数量) /(原库存数量+售出数量+新进书籍数量) 系统会自动更新,将新算出的批发价确定为新的批发价。 cs:=floattostr(strtoint(dm.qryscxssl)+strtoint(dm.qrysrkkcsl) )*strtofloat(dm.qrysrkpfj)+strtofloat(trim(edtpfj.Text)*str toint(trim(edtrksl.Text); pcs:=floattostr(strtoint(dm.qryscxssl)+strtoint(dm.qrysrkkcsl) +strtoint(trim(edtrksl.Text); xpfj:=copy(floattostr(strtofloat(trim(cs)/strtofloat(trim(pcs),1,6 ); aa:=strtoint(dm.qrysrkkcsl)+strtoint(trim(edtrksl.Text); 毕业论文 (设计 )用纸 佳木斯大学教务处 第 28 页 with dm.qrygbpfj do begin close; sql.Clear; sql.Text:=updatet_kcsetpfj=+floattostr(strtofloat(xpfj)+,kcsl =+inttostr(aa)+ where dm=+#39+trim(edtdm.Text)+#39; execsql; end; 入库流程图: 是 否 5.4 销售模块设计 销售模块组在本系统中占重要地位,商家通过销售书籍,从而获得利润。因此本模 块组是用来进行销售和销售设置的。它主要包括两部分:售书和打折设置。 5.4.1 打折 此处涉及到书店的业务,任何一家书店对长期不能销售的书籍、有破损的书籍和其 它一些具体情况时,都有可能会出现打折情况。因此单独设立一项打折模块是十分必要 入库模块 修改批发价 Form 修改批发价Form 不修改批发价 增加数量修改批发价 毕业论文 (设计 )用纸 佳木斯大学教务处 第 29 页 的。用户可以通过对 Grid 中的书籍的选择,也可以通过对书籍代码和名称的查询来选择 所要设置打折的书籍。选定后,会弹出新的窗口要求用户录入零到一之间的打折比例。 在次设置打折比例后,在销售过程中,所算出来的零售价,则会是零售价与打折比例的 积。 零售价=零售价*打折比例 为设置打折比例,单独建立了表 t_dz(打折),具体结构如下。 字段名数据类型大小 dmchar7 smvarchar30 dzblfloat8 5.4.2 售书 售书模块是本系统最为重要的一部分之一,因为销售环节不仅是企业必备的一个环 节,也是最关键的一个关节。本系统对此环节作了大量的控制。进入此模块时,系统会 自动生成一个收据编号。首先要求用户在 StringGrid 中输入书籍代码,通过回车事件, 从数据库中取出该编码的数据:书名、零售价、批发价,用户可进行对照,检查是否为 所选书籍。如果正确,可在购买数量上添入数量,通过回车事件,系统会自动算出此单 项书籍花费的金额数。并且焦点会自动转向下一行,允许用户录入其他商品,当用户全 部录入后,通过回车事件,将焦点转向实收金额栏,通过对系统 StringGrid 控件的控制, 去除了大量的不安全因素。 当焦点转移到实收金额时,应收金额会自动统计出,顾客此次消费的总金额,要求 用户录入实收金额。如果用户录入的金额错误或金额小于应收金额,系统会自动作出提 示。实收金额录入正确后,系统会自动算出找零金额,以方便用户的使用。 用户一切准备完毕后确定时,系统先对此次销售做全面的判断和检测,如果发现有 问题的地方,系统会根据不同的情况,做出相应的提示。例如:应收金额应不能为空, 毕业论文 (设计 )用纸 佳木斯大学教务处 第 30 页 实收金额应不能为空,实收金额应大于应付金额,无书销售等提示。一切提示均正确的 话,系统将对此次销售进行操作。 否 是 是 否 是 否 是 5.5 查询模块设计 通过进货、销售、打折等过程,书店的销售流水线已经完成的差不多了。但是要随 时掌握本店的各种具体情况,例如:各种书籍的销售量、各种书籍的库存、销售收据的 情况。就要通过查询系统来完成。因此,本系统针对具体情况,建立了查询模块组。具 体包括三部分:按收据编号查询(售出) 、按书籍查询(售出) 、库存查询。用户可以通 过这三项功能,对系统的具体数据情况,进行查询。 录入代码 代码正确 重复正确 显示代码信息 数量正确 下一个代码 毕业论文 (设计 )用纸 佳木斯大学教务处 第 31 页 5.5.1 收据编号查询(售出) 用户首先要录入所要查询的收据编号,如果没有收据编号的话,将无法对收据的具 体情况进行查询。当用户录入正确的收据编号时,系统将通过查询在相应的位置显示出 收据编号的确认,当前收据的开出时间,当前收据的开出总金额,并且在 Grid 中显示出 当前收据中所购物品的种类、数量和具体金额。 5.5.2 按书籍查询(售出) 首先用户可以选取一个具体的时间段,可以通过修改系统提供的开始时间和结束时 间来完成。由于 Delphi 开发工具的功能非常强大,它提供了 DatetimePicker 控件,让 用户可以自用的选择时间段,而不用手工的录入时间,这样无形中减少了大量错误的产 生,使用户可以自由选择而无后顾之忧。 本系统通过 formatdatetime(yyyy-mm-dd,DateTimePicker2.DateTime)的形式将时 间转换为:-年-月-日的形式。用户还可以通过录入具体的书籍编号和书籍名称, 来对具体的书籍进行查询。在选择查询后,系统会将用户所选具体时间段内的,录入的 书籍编号和书籍名称的具体书籍的销售情况,全部显示在模块下方的 Grid 中。 5.5.3 库存查询: 用户可以通过录入书籍编号和书籍名称来对书籍进行查询,二者可以都输入,也可 以输入其中之一,查询结果将显示在 Grid 中。 5.6 统计模块设计 作为商家,进货、销售等流程过后,就要掌握经营状况,例如:销售情况,库存情 况,收据情况,现金情况,销售情况等。只有随时掌握经营情况,才能把握市场,争取 主动,及时调整商业策略。由此看来对经营具体状况的统计,变得非常重要。因此,本 系统在统计方面下了一定功夫,可以对多种情况进行统计。共建立了 5 组统计,依次为: 书籍售出数量统计、书籍库存数量统计、收据统计、现金收入统计、销售利润统计。下 面要对各个子模块进行分别的介绍。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 32 页 5.6.1 书籍售出数量统计 本系统依然利用 DatetimePicker 控件让用户自由选取一个具体的时间段 本系统支持对单一书籍的售出情况进行统计,也支持某一大类书籍的售出情况进行 统计,具体情况由用户自行决定。 如果用户要对单一书籍的售出情况进行统计,可以先选择时间段,再选择对一种书 籍进行统计,通过录入书籍编号和书籍名称来对书籍进行统计,二者可以都输入,也可 以输入其中之一,统计结果将显示在 Grid 中。 如果用户要对某一大类书籍的售出情况进行统计,可以先选择时间段,再选择对某 一大类书籍进行统计,然后选择所统计的大类,统计结果将显示在 Grid 中。 5.6.2 书籍库存数量统计 本系统支持对单一书籍的库存数量进行统计,也支持某一大类书籍的库存数量进行 统计。 如果用户要对单一书籍的库存数量进行统计,可以先选择对一种书籍进行统计, 通过录入书籍编号和书籍名称来对书籍进行统计,二者可以都输入,也可以输入其中之 一,统计结果将显示在 Grid 中;如果用户要对某一大类书籍的库存数量进行统计,可以 先选择对某一大类书籍进行统计,然后选择所统计的大类,统计结果将显示在 Grid 中。 5.6.3 收据统计 本系统在收据统计中加入了统计和查询两项功能,既可以统计一段时间的收据情况, 又可以查询一段时间收据的具体情况。依然通过 DatetimePicker 控件让用户自由选择一 个具体的时间段。 打印情况则与其他模块的打印情况有所不同,不是将统计结果和查询结果分开打印, 而是将二者统一打印。这样可以使课户在同一统计表中,看到统计的具体信息。 5.6.4 现金收入统计 通过 DatetimePicker 控件让用户自由选择一个具体的时间段。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 33 页 从三个方面对现金的收入进行统计,分别是:对单一书籍现金收入进行统计、对书 籍大类现金收入进行统计、对全部书籍的现金收入进行统计。 对单一书籍现金收入进行统计: 首先选择时间段,再选择单一书籍,同时通过录入书籍编号和书籍名称来对书籍进 行统计,二者可以都输入,也可以输入其中之一,统计结果将显示在 Grid 中。 对书籍大类现金收入进行统计: 首先选择时间段,再选择对某一大类书籍进行统计,同时选择所要统计的大类,统 计结果将显示在 Grid 中。 系统为了能更加准确和全面的对现金收入进行统计,又由于系统采用了功能强大的 SQL Server2000 数据库,因此系统在此应用了 SQL Server2000 数据库的存储过程的功能 来实现对书籍大类现金收入进行的统计。将数据经统计后存入临时表#temp1 中,在通过 中间转换来达到统计的目的。 存储过程中的代码如下: CREATE PROCEDURE dlcx in_sjdl char(7), in_ksrq char(10), in_jsrq char(10) AS select sum(t_kc.lsj*t_dz.dzbl*t_ssjl.sl) as zh into #temp1 from t_kc,t_dz,t_ssjl where t_kc.dm=t_dz.dm and t_dz.dm=t_ssjl.dm and substring(t_ssjl.dm,1,2)=substring(in_sjdl,1,2) and substring(rq,1,10)=in_ksrq and substring(rq,1,10)=in_ksrq and substring(rq,1,10)=in_jsrq group by t_kc.dm,t_kc.sm select sum(zh) as zh from #temp1 drop table #temp1 GO 对全部书籍的销售利润进行统计: 首先选择时间段,再选择对全部书籍的现金收入进行统计,统计结果将显示在 Grid 中。 5.7 预测统计图设计 本系统通过多方面调查,决定在销售量对比方面突破,为用户提供较为可靠的预测 依据。因此,在本系统中增加了两项预测功能:书籍销售统计图、书籍各时期销售对比 图。 5.7.1 书籍销售统计图 系统在书籍销售统计图中使用了 DBChart 控件,而且系统在 DBChart 中采用了饼形 图的形式来实现。用户在使用时,首先要选择时间段,本系统采取以月为单位的显示方 式。进行统计后,系统将在 DBChart 中以饼形图的形式显示,用户可以通过饼形图看到 所选择的月份中,各种书籍的销售数量和所占的比例。为此,系统采用了存储过程的方 式来实现。 具体代码如下: ParamByName(in_rq).AsString:=copy(formatdatetime(yyyy-mm- dd,DateTimePicker1.DateTime),1,7); 存储过程如下: CREATE PROCEDURE yc in_rq char(7) 毕业论文 (设计 )用纸 佳木斯大学教务处 第 36 页 AS select dm,sm,sum(sl) as zh from t_ssjl where substring(rq,1,7)=in_rq group by dm,sm GO 用户完全可以通过以上结果,做到对市场的了解,并做出相应的预测和判断。关于 饼形图的具体制作方法如下:双击 DBchart 控件在属性栏里的中 点击省略号,出现图 1,再点击 series 然后再点击 Add 选择饼形图,如图 2 所示。 图 1 毕业论文 (设计 )用纸 佳木斯大学教务处 第 37 页 图 2 5.7.2 书籍各时期销售对比图 用户对某种书籍在不同时期的销售量可以通过书籍各时期销售对比图来实现,首先, 要选择统计的时间(年份) ,接下来用户可以录入要了解书籍的代码或名称,在通过选定, 可以选择出具体书籍。进行统计后,在 DBChart 中显示用户选择书籍全年 12 个月的具体 数量,以及对比情况。对比图制作方法同饼形图。 存储过程如下: CREATE PROCEDURE lx in_rq char(10), in_dm char(7) AS create table #temp1(dm char(7) null, sm varchar(30) null, zh int null, yf char(2) ) declare dm char(7) declare sm varchar(30) declare zh int declare yf char(2) /0112 依次循环 select dm=in_dm select sm=sm from t_ssjl where dm=in_dm selectzh=sum(sl) fromt_ssjlwheresubstring(rq,1,7)=substring(in_rq,1,4)+-+01 and dm=in_dm select yf=01 insert into #temp1(dm,sm,zh,yf) values(dm,sm,zh,yf) 毕业论文 (设计 )用纸 佳木斯大学教务处 第 38 页 select dm=in_dm select sm=sm from t_ssjl where dm=in_dm select zh=sum(sl) from t_ssjl where select * from #temp1 drop table #temp1 GO 5.8 帮助模块设计 帮助主要是给用户提供编者的联系方式,以及用户对系统的初始化。用户可以通过 帮助来联系编者,并且可以对系统进行初始化。 5.8.1 作者信息 用户可以通过作者信息得到编者的联系方式,便于与编者联系和沟通,以解决一些 实际问题。 5.8.2 系统初始化 任何 MIS 系统在正式使用前,都要进行系统的初始化,清除实验和演示数据,录入 所需的初始数据。因此,系统初始化是每个系统必备的功能。但有的系统初始化比较繁 琐,为此本系统在做系统初始化时较为注意,用户只要通过一个按钮就可以清空所有内 容,相当的方便快捷。但是这也是较为慎重的功能模块,用户在平时一定要慎用,否则 将清空系统中的全部数据。 为实现系统初始化,本系统特意建立了一个存储过程。 具体存储过程如下: CREATE PROCEDURE csh AS 毕业论文 (设计 )用纸 佳木斯大学教务处 第 39 页 delete from t_dz delete from t_kc delete from t_sj delete from t_ssjl delete from t_xs GO 毕业论文 (设计 )用纸 佳木斯大学教务处 第 40 页 6 系统功能的实现及测试 现在已经完成了程序各个功能模块的创建,只需将各个模块有机的联系在一起就可 以了。本章主要对该系统进行测试,并讲解该进销存管理系统的各项功能在应用中是如 何实现的。 6.1 登录模块测试 运行程序,出现如图所示的登录窗口 在这里用户将输入自己的合法用户名和密码,以便系统识别身份。如果三次输入都 不正确,系统将自动退出。当系统通过查询后台数据库的用户表中存有输入的用户名和 密码,则用户登陆成功。 6.2 系统模块测试 登陆成功则进入本系统总界面,接着可实现各个模块及其子模块的的功能。 本系统总界面如下图所示 毕业论文 (设计 )用纸 佳木斯大学教务处 第 41 页 6.3 进货信息管理模块测试 选择“进货信息管理 “菜单,得到如图所示窗体,所有入库单信息将显示在如下窗 体中。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 42 页 6.4 销售信息管理模块测试 选择“销售信息管理”菜单,得到如图所示窗体。销售及打折设置信息将显示在如 下窗体中 6.5 查询信息管理模块测试 选择“查询信息管理”菜单,得到如图所示窗体。可按收据编号等信息查询。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 43 页 6.6 统计信息管理模块测试 选择“统计信息管理”菜单,得到如图所示窗体。选择“预测统计图”菜单,可得到如 下所示窗体。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 44 页 6.7 其它模块测试及调试体会 其它模块的测试均很顺利,本软件可以完成所有设计目的。调试是一项非常重要、 繁重的工作。在调试过程中发现了本工程的一些误差和错误,通过改正这些毛病,使我 学到了很多东西,了解到编制一个软件系统的各个步骤的重要性。同时我也认识到要做 一名好的程序员,要学的东西还很多,自己还有很多不足,需要继续努力 毕业论文 (设计 )用纸 佳木斯大学教务处 第 45 页 结 束 语 转眼间,毕业设计工作就要结束了,毕业论文也到了收尾的阶段。在这一阶段的毕 业设计中我获益匪浅,不但将许多原有的理论知识进行了实践应用,使自己的水平得到 了提高,而且设计的同时也发现自己在数据库方面的基础不是很扎实。在整个设计过程 中,我掌握了一定的专业知识,象对 SQL Server 2000 的使用以及对数据库的操作等, 更重要的是掌握了更多的独立分析问题和解决问题的方法,提高了解决问题的能力。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 46 页 致 谢 在毕业设计过程中,从系统的设计思路、方法、程序代码的编写,调试等过程中等 到了指导教师的大力支持和殷切指导,使得本次论文得以顺利完成。对在这次论文和程 序设计过程中热情帮助和耐心指导的老师们表示衷心的感谢! 另外我也得到了同学们的大力帮助,他们帮助我收集资料,查找程序里的错误及提 出自己的见解,让我能比较顺利达到自己的设计要求。再次感谢他们的无私帮助。 毕业论文 (设计 )用纸 佳木斯大学教务处 第 47 页 参考文献 1毕维峰.Delphi 6 编程实力与技巧.第一版第一次印刷.北京:航空工业出版社, 2002.1 2张大年.Delphi 6 数据库应用开发技术与实例 .第一版第一次印刷 .北京:清华大学 出版社,2002.7 3段兴 .Delphi 6 数据库实用程序设计 100 例 .第一版第一次印刷 .北京:人民邮电 出版社,2002.12 4尚志宏. Delphi 全方位教程 .第一版第一次印刷 .北京:航空工业出版社,2003.5 5朱如龙. SQL Server 数据库应用系统开发技术 .第一版第一次印刷 .北京:机械工 业出版社,2000.7 6王志伟. Delphi 企业经营管理系统开发实例导航.第一版第一次印刷.北京:人民邮 电出版社,2003.1 7William J.Collins .数据结构与 STL. 第一版第三次印刷 .北京:机械工业出版社, 2000.7 8蒋明礼. 奇思异想编程序-Delphi 篇. 第一版第二次印刷. 北京:国防工业出版 社, 2001.8 9姚普选. 程序设计教程(Delphi).第一版第二次印刷 .北京:清华大学出版社, 2002.9 10魏江江. Delphi 编程百例通 .第一版第一次印刷 .北京:科学出版社,2003.12 毕业论文 (设计 )用纸 佳木斯大学教务处 第 48 页 附录一附录一 程序源代码程序源代码 一.登录 1.用户名校验: 如果用户名不正确,系统提示用户名错了 with dm.qryyhm do begin close; sql.Clear; sql.Text:=select count(*) as zs fromt_dl where userid=+#39+trim(edtyhm.Text)+#39; open; end; yhm1:=dm.qryyhmzs; yhm:=strtoint(yhm1); if yhm=0 then begin with application do begin NormalizeTopMosts; MessageBox(用户名错了!, 提示, MB_OK); RestoreTopMosts; end; 2.密码校验: 如果用户名正确,则进行密码校验,如果密码三次输入错误,系统提示密码错了. with dm.qrykl do 毕业论文 (设计 )用纸 佳木斯大学教务处 第 49 页 begin close; sql.Clear; sql.Text:=select count(*) as zs from t_dlwhere password=+#39+trim(edtkl.Text)+#39 + and userid=+#39+edtyhm.Text+#39; open; end; zongshu1:=dm.qryklzs; zongshu:=strtoint(zongshu1); if zongshu=0 then begin with Application do begin NormalizeTopMosts; MessageBox(密码错了!, 提示, MB_OK); RestoreTopMosts; end; 3.修改密码 with dm.qryxgmm do begin close; sql.Clear; sql.Text:=update t_dl set password=+#39+trim(edtxmm.Text)+#39 + where userid=+#39+trim(frmkl.edtyhm.Text)+#39; execsql; end; 毕业论文 (设计 )用纸 佳木斯大学教务处 第 50 页 二进货 1.系统添新书 sql.Text:=insert into t_kc(dm,sm,pfj,lsj,kcsl) values( +#39+trim(edtdm.Text)+#39+,+#39+trim(edtsm.Text)+#39 +,+floattostr(strtofloat(edtpfj.Text)+, +floattostr(strtofloat(edtlsj.

温馨提示

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

评论

0/150

提交评论