ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:580.94KB ,
资源ID:8833096      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8833096.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PB设计超市货物管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PB设计超市货物管理系统.docx

1、PB设计超市货物管理系统数据库应用综合设计课程设计报告学 院 名 称: 电子与信息工程学院 专 业: 电气工程及其自动化 班 级: 姓 名: 学 号: 指 导 教 师: 定稿日期: 年 6 月 10 日数据库应用综合设计课程设计报告1. 题目内容 超市货物管理系统 1.1课题研究的意义 随着现代科学技术的迅猛发展,计算机技术已经渗透到个个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市

2、,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。2. 总体设计方案本系统采用自定向下方法开发,其功能模块主要有如下几个部分:货物价格管理模块、库存查询管理模块和登录模块。具体的功能描述如下: 价格管理:其功能是对超市商品价格的查询管理,可根据编号、名称、价格区间等方式对所需产品进行查询。库存管理:其功能是对采购来的产品进行库存查询,添加商品等活动,同时能够对库存数据进行修改,以及库存统计。登录管理:其功能是对用户登录信息进行管理,登录进去后课对密码及用户

3、名进行添加及修改,方便使用。本系统共包括三大模块,分别是价格管理模块,库存管理模块,登录管理模块。每个模块的功能如下:1. 价格管理模块功能:(1)实现商品价格信息的查询;(2)实现商品价格信息的更新,包括增加、删除、修改功能;(3)实现商品价格的升序及降序;(4)实现通过价格区间来对商品进行查询。2. 库存管理模块功能:(1)实现库存信息的查询;(2)实现商品库存信息的更新,包括增加、删除、修改功能。3. 登录管理模块功能:(1)实现用户的登录;(2)实现用户信息的更新,包括增加、删除、修改密码功能。 3. 数据库设计 3-1超市管理系统数据库E-R模型,如图1-1所示:图3-1 学生E-R

4、图3-2 登录表(users)的设计 (1)系别表(users)主要用来记录登录的信息,主要由字符属性构成。其表结构如表1-1所示。表1-1 users表结构字段名称数据类型是否为空是否为主键说明namechar(10)not null是姓名passwordchar(10)null否密码 (2)登录表(users)中的数据如图3-2所示。图3-2 users表中数据3-3 数据表(sth)的设计 (1)数据表(sth)主要用来记录货物的信息(商品编号id、商品名称name、商品价格price),主要由字符属性构成。其表结构如表1-2所示。表1-2 sth表结构字段名称数据类型是否为空是否为主键

5、说明id char(10)not null是商品编号namevar char(50)not null否商品名称pricevar char(50)null否商品价格 (2)数据表(sth)中的数据如图3-3所示。 图3-3 sth表中数据3-4 库存表(store list)的设计 (1)库存表(store list)主要用来记录货物的信息(商品编号id、商品名称name、商品库存storenum),主要由字符属性构成。其表结构如表1-2所示。表1-2 store list表结构字段名称数据类型是否为空是否为主键说明idchar(10)not null是商品编号namevar char(50)n

6、ot null否商品名称storenumintnull否商品库存 (2)数据表(store list)中的数据如图3-4所示。图3-4store list表中数据4、用户界面设计 4-1 ODBC进行pb与sql server的连接配置4-2 系统菜单的设计 本系统主要分为以为几个功能:筛选、价格排序、查询、库存清单、用户管理。根据系统的功能,设计系统菜单如图4-1所示。图4-1系统菜单 4-3各功能模块的实现4-3-1 登录模块设计登录模块实现用户登录功能,负责验证输入的用户名和密码的正确性,涉及的数据表为users表。主要功能如下:1)登录,2)添加新用户,3)修改密码。登录模块的实现界面

7、如图4-2、图4-3、图4-4所示。图4-2登录界面界面及相关控件的实现代码为:(1)登录按钮(cb_1)的clicked事件代码为:ls_username=trim(sle_1.text) /输入的用户名和密码ls_password=trim(sle_2.text)if ls_username= or ls_password= then messagebox(提示,用户名和密码不能为空)else SELECT users.name, users.password INTO :gs_username, :gs_password FROM users WHERE ( users.name = :

8、ls_username ) AND ( users.password = :ls_password ); if sqlca.sqlcode=0 then open(x_main) /密码正确,打开主窗口 close(x_login) else li_n=li_n - 1 if li_n0 then messagebox(提示,用户名或密码错误) else messagebox(提示,错误超过 3 次,自动退出) halt /错误超过 3 次,退出程序 end if end ifend if(2)退出按钮的事件代码 close(parent)图4-3添加及修改新用户(1)添加控件的程序(图4-3

9、-1)图4-3-1添加控件程序(2)保存控件的程序 if dw_1.update()=1 then commit; messagebox(“提示”,”保存成功”) end if图4-4密码修改界面(1)确定按钮的程序if trim(sle_1.text)ls_password then messagebox(提示,旧密码错误)else if trim(sle_2.text)=trim(sle_3.text) then ls_password=trim(sle_2.text) UPDATE users SET password = :ls_password WHERE ( users.name

10、= :gs_username ) AND ( users.password = :gs_password ) ;if sqlca.sqlcode0 then messagebox(提示,密码修改不成功) else close(parent) messagebox(提示,密码修改完成) end ifelse messagebox(提示,两次新密码不相同)end ifend if4-3-2 价格管理模块设计价格管理模块实现用户查询功能,负责对商品价格的查询、排序、修改等功能,涉及的数据表为sth表。主要功能如下:1)查询,2)排序,3)添加。价格管理模块的实现界面如图4-5、图4-6、图4-7、图

11、4-8所示。 查询又分为区间查询和按id、name、price查询 图4-5区间查询图 4-6按id、name、price查询(1)筛选控件的程序string condition,condition1if cbx_1.checked=true then if cbx_2.checked=false then dw_1.setfilter(price+sle_1.text+) dw_1.filter()dw_1.setsort(price asc)dw_1.sort()end ifend ifif cbx_2.checked=true then if cbx_1.checked=false th

12、en dw_1.setfilter(price+sle_1.text+ condition1=price+sle_2.text+ dw_1.setfilter(condition+ and +condition1) dw_1.filter() dw_1.setsort(price asc)dw_1.sort() end ifend ifdw_1.settransobject(sqlca)dw_1.retrieve()(2)开始查询控件的程序dw_1.settransobject(sqlca)dw_1.retrieve()if rb_1.checked=true then if dw_1.row

13、count()= 0 then messagebox(提示,id无效) end if dw_1.setfilter(id=+trim(sle_1.text)+) dw_1.filter()end ifif rb_2.checked=true then if dw_1.rowcount()= 0 then messagebox(提示,name无效) end if dw_1.setfilter(name= +trim(sle_1.text)+) dw_1.filter()end ifif rb_3.checked=true then if dw_1.rowcount()= 0 then messa

14、gebox(提示,price无效) end if dw_1.setfilter(price=+trim(sle_1.text)+) dw_1.filter()end if 价格排序分为升序和降序两种: 图4-7升序图 4-8降序(1)升序控件程序dw_1.settransobject(sqlac)dw_1.retrievet()dw_1.setsort(“price asc”)dw_1.sort()(2)降序控件程序dw_1.settransobject(sqlac)dw_1.retrievet()dw_1.setsort(“price desc”)dw_1.sort()4-3-3 库存管理模

15、块设计库存管理模块实现用户对库存数量查询功能,并负责对商品库存查询添加等功能,涉及的数据表为store list表。主要功能如下:1)查询,2)修改。库存管理模块的实现界面如图4-9所示。图4-9库存查询及修改注:各控件的程序同上4-4设计过程截图 表格的建立: 库存表 价格表登录表当查询输入错误时显示: 登录时输入错误显示: 定义全局变量:5.系统的调试和心得体会 在本次设计中,是我和刘阳共同完成的,我主要是负责对后台程序的编写,我的队友负责数据库、页面、以及表格的建立和部分程序的修改。在查询界面中,因为我涉及到了区间查询方式,需要输入一个区间然后将再此区间内的所有商品都显示出来。我不知道该

16、如何编写,后来通过网上查找和与队友讨论,终于实现了该项功能。比较遗憾的是,我们应该在该查询系统中加入完整的人事管理模块和进货管理模块,可是由于基础不够只好放弃。 在本次课程设计中,我的收获还是蛮大的。让我对数据库有了更进一步的了解。但是我还是缺乏自己学习PB的能力,因为网上的有些函数看不懂,不懂得如何转换成自己的东西。在以后的学习中要多和别人讨论,然后获得更多的知识。附录关键代码查询程序:dw_1.settransobject(sqlca)dw_1.retrieve()if rb_1.checked=true then if dw_1.rowcount()= 0 then messagebox

17、(提示,id无效) end if dw_1.setfilter(id=+trim(sle_1.text)+) dw_1.filter()end ifif rb_2.checked=true then if dw_1.rowcount()= 0 then messagebox(提示,name无效) end if dw_1.setfilter(name= +trim(sle_1.text)+) dw_1.filter()end ifif rb_3.checked=true then if dw_1.rowcount()= 0 then messagebox(提示,price无效) end if d

18、w_1.setfilter(price=+trim(sle_1.text)+) dw_1.filter()end if密码修改程序:if trim(sle_1.text)ls_password then messagebox(提示,旧密码错误)else if trim(sle_2.text)=trim(sle_3.text) then ls_password=trim(sle_2.text) UPDATE users SET password = :ls_password WHERE ( users.name = :gs_username ) AND ( users.password = :g

19、s_password ) ;if sqlca.sqlcode0 then messagebox(提示,密码修改不成功) else close(parent) messagebox(提示,密码修改完成) end ifelse messagebox(提示,两次新密码不相同)end ifend if登录程序:ls_username=trim(sle_1.text) /输入的用户名和密码ls_password=trim(sle_2.text)if ls_username= or ls_password= then messagebox(提示,用户名和密码不能为空)else SELECT users.n

20、ame, users.password INTO :gs_username, :gs_password FROM users WHERE ( users.name = :ls_username ) AND ( users.password = :ls_password ); if sqlca.sqlcode=0 then open(x_main) /密码正确,打开主窗口 close(x_login) else li_n=li_n - 1 if li_n0 then messagebox(提示,用户名或密码错误) else messagebox(提示,错误超过 3 次,自动退出) halt /错误超过 3 次,退出程序 end if end ifend if

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1