JAVA课程设计--进销存管理系统.docx_第1页
JAVA课程设计--进销存管理系统.docx_第2页
JAVA课程设计--进销存管理系统.docx_第3页
JAVA课程设计--进销存管理系统.docx_第4页
JAVA课程设计--进销存管理系统.docx_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

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

文档简介

进销存管理系统摘 要进销存系统是在研究了SAP R/3系统运作的的基础之上,结合了中国的国情以及开发人员能力所研制开发的一套进销存系统,这套系统将用户设定为存在进销存业务的企业,即此用户并不负责生产以及组装,而仅涉及到对商品的采购,对商品的存储,以及最终对商品的销售,在这一过程中实现商品的增值,以及企业利润和资本的增加。系统包括了基本信息,进货管理,销货管理,存货管理以及系统管理五大模块来实现其具体功能。本文通过对系统开发的意义、背景以及面向企业的进销存系统基本原理和特点作以概述,并结合国内外现状阐述了系统研究的可行性。经过认真地调研,对系统的开发进行了全面的需求分析,通过对系统的业务流程图、数据流程图及数据字典的描述与定义,确定了系统的总体流程。在本文介绍了系统的总体结构、功能模块划分、系统的总体流程、系统数据库的设计以及系统的开发特点。同时详细介绍了系统的实现,并对系统进行了相关分析,阐述了系统实施的可行性。最后通过对本系统的测试与功能完善,说明了系统各部分的测试过程及其出现问题的解决方案。本套系统采用的是素有快速开发精灵的Visual Basic 6.0作为开发工具,采用SQL Sever 2000作为数据库的后台支持,基于C/S架构所开发出来的一套进销存系统。关键字:SAP R/3;进销存系统;Visual Basic;SQL Server;C/S架构目 录1前 言11.1 课题的目标和意义11.2 国内外发展现状11.2.1 国外研究现状11.2.2 国内研究现状21.2.3 本人见解22 进销存管理系统主要功能22.1 系统主模块图33 系统分析33.1 可行性分析33.1.1 技术可行性分析33.1.2经济可行性分析43.1.3操作可行性分析53.2 需求性分析53.2.1 销售子系统需求53.2.2 仓库管理子系统需求63.2.3 进货管理子系统需求73.2.4 基本信息管理子系统需求84 系统总体设计94.1 系统总体架构与设计94.1.1 设计原则94.1.1 模块设计104.3数据库设计115 功能模块详细设计及实现115.1 系统主界面115.2基本信息管理115.3销售管理145.4进货管理165.5库存管理185.6 系统管理206 系统测试216.1 系统开发环境226.2 系统测试226.2.3 测试项目说明226.2.3 测试评价237 系统改进238 收获与体会24参考文献25附录26附录一数据表26附录二各主模块代码301前 言1.1 课题的目标和意义在市场经济中,销售是企业运行的重要环节。为了更好地推动销售,不少企业建立了分公司和代理制,通过分公司或代理把产品推向最终用户。这些分公司或代理商大都分布在不同的地理位置,跨时空,跨时间的频繁业务信息交流是这些企业业务的活动的主要特点。在这种形式下,传统的依靠管理人员人工传递信息和数 据的管理方式就无法满足企业日益增长的业务需求了。课题研究目的通过进销存管理系统,利用信息化手段把先进的企业管理方法引入企业的实践,为企业的管理改革提供切实易行的途径。更重要的是,进销存管理系统可以及时通过信息技术把企业数据快速转化为企业信息,进而为相关管理者提供决策依据。 1.2 国内外发展现状1.2.1 国外研究现状国外目前做的进销存管理系统,虽然产品都已经比较成熟,但由于中西文化的差异,进销存系统中的财务管理模块根本无法在企业中使用。国外原先选择的进销存产品,跟他们的财务管理实际流程相差很多。如在他们的财务管理模块中,增值税发票与应收帐款是合在一起管理的。但是在国内,大部分企业都是先产生应收帐款,然后再进行开票。而且,有时候需要把几笔应收帐款和在一起进行开票。现在把增值税发票与应收帐款和在一起的话,财务人员在实际工作中就很难操作。另外在报表的格式上也有很大的差异,国外项目很难直接拿到中国企业中使用。1.2.2 国内研究现状根据目前从网上可查到的信息,国内进销存管理系统多种多样,如美萍商业进销存管理系统 9.7,其中包含商品销售管理系统 ,库存管理系(仓库管理系统)。软件界面设计简洁, 美观,其人性化的软件流程,使普通用户不需培训也能很快掌握软件操作使用方法,上手极易,但是基于C/S结构,系统维护维护,升级开销很大。1.2.3 本人见解在各种先进技术中,基于Web的进销存管理系统方便与用户交互,升级,界面设计需要简洁,美观,人性化的软件流程,才能吸引更多的用户。2 进销存管理系统主要功能本系统是根据人们在日常生活中的实际需求而开发的,完全能够实现人们对各类商品信息及各类信息查询的功能,通过本系统可以达到以下目标:(1)系统最大限度地实现了易使用性、易维护性;(2)系统运行稳定,安全可靠;(3)操作灵活,界面友好,充分满足各类企业的进销存管理需求;(4)实施规范的进、销、存一体化业务管理;(5)强大的查询分析功能;(6)灵活、细分的权限控制功能。本系统是一款将进货、销售、库存进行一体化管理的系统。系统由基本信息、进货管理、销售管理、库存管理和系统管理等模块组成。特规划功能模块如下:(1)基础信息模块:商品信息、供应商信息、客户信息。(2)进货管理:商品进货、进货退货。(3)销售管理:商品销售、客户退货。(4)库存管理:库存查询、库存盘点。(5)系统管理模块:用户管理、更改资料。2.1 系统主模块图基基本信息进进货管理系系统管理销销货管理库存货管理基于java进销存管理系统图1 系统主模块图3 系统分析3.1 可行性分析3.1.1 技术可行性分析企业进销存管理系统的开发基于B/S模式,主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前者要求应具备功能完备、易于使用等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。本系统拟采用JSP和SQL Sever分别作为前端和后端的开发工具。JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的, JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。SQL Sever作为微软在Windows 系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的业务建立在Windows平台上的用户都会对它有相当的亲切感。区别于FoxPro、Sql 2005小型数据库,SQL Sever是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。因此从技术方面讲开发此系统是可行的。3.1.2经济可行性分析企业进销存管理系统从中小企业的实际出发,可有效地管理企业的进销存情况,并降低企业运营成本、及时调整营销策略、提高库房的利用率。当前许多中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小企业应该向大型企业那样采用先进的管理方式,提高企业效率、降低企业运营成本。企业进销存管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是简介的,其最主要的表现就是减少了企业管理费用和人力开支。而其它一些繁琐的步骤都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。3.1.3操作可行性分析本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个企业进销存管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典。3.2 需求性分析通过调研和分析,本文将系统分成销售,进货,库管,基本信息管理,系统管理五大子模块。其操作范围内的系统内容信息进行操作管理,完成满足日常经营、管理的要求。3.2.1 销售子系统需求(1)用户登录要进入系统的用户都要进行登陆才能进入系统界面,用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系统。注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限。 (2)商品销售此用户具有查看并填写销售业务单,查看历史销售业务单,并可以更改,删除本用户负责的销售单。(3)客户退货 此用户具有查看并填写客户退货单,查看历史客户退货单,并可以更改,删除本用户负责的客户退货单。销售管理子系统基用户登陆系客户退货管理销销售管理图2 销售管理子系统的主要功能图3.2.2 仓库管理子系统需求(1)用户登录要进入系统的用户都要进行登陆才能进入系统界面,用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系统。注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限。 (2)仓库盘点此用户具有查看并填写,删除,修改其负责仓库产品入库,出库的功能。(3)仓库管理管理员具有查看并填写,删除,修改仓库的功能。仓库管理子系统基用户登陆系仓库管理销仓库盘点图3 仓库管理模块功能图3.2.3 进货管理子系统需求(1)用户登录要进入系统的用户都要进行登陆才能进入系统界面,用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系统。注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限。 (2)进货管理此用户具有查看并填写进货单,查看历史进货单,并可以更改,删除本用户负责的进货单。(3)进货退货单此用户具有查看并填写进货退货单,查看历史进货退货单,并可以更改,删除本用户负责的进货退货单。进货管理子系统基用户登陆系退货管理销进货管理图4 进货模块功能图3.2.4 基本信息管理子系统需求(1)用户登录要进入系统的用户都要进行登陆才能进入系统界面,用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系统。注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限。 (2)产品基本信息管理用户具有查看并填写产品基本信息单,查看产品基本信息单,并可以更改,删除的产品基本信息单。(3)客户基本信息管理用户具有查看并填写客户基本信息单,查看客户基本信息单,并可以更改,删除的客户基本信息单。(4)供应商基本信息管理用户具有查看并填写供应商基本信息单,查看供应商基本信息单,并可以更改,删除的供应商基本信息单。基本信息管理子系统供应商基本信息管理客户基本信息管理产品基本信息管理用户登录图5 基本信息功能图4 系统总体设计4.1 系统总体架构与设计4.1.1 设计原则根据商品贸易原则,实现买卖双方有效交易,特别在销售,库存,以及进货这三个模块之间实现互联,以达到对产品信息进行及时更新及记录。4.1.1 模块设计整个系统的模块划分如下:图7 各模块在导航栏的体现4.2 系统E-R图图8 进销存管理系统E-R图4.3数据库设计本系统采用微软公司的SQL Server2000数据库管理系统,下面就该系统的数据库表做如下设计(主键都是自动增长):产品基本信息表:产品的信息,与销售,库存,进货产品之间的信息一一对应,product_id用来标记产品编号,产品ID不一样则无法进行该品的进货,销售,库存功能,表结构见附录一5 功能模块详细设计及实现5.1 系统主界面模块是本系统的界面,在本界面上集成了本系统的所有功能,共有五个功能菜单和10个子菜单(功能模块),从而实现了本系统从销售管理,进货管理,产品基本信息管理,库存管理,系统管理等系统的具体功能。系统主界面如图所示。图9 系统主界面5.2基本信息管理5.2.1 功能分析方便用户对产品基本信息,客户信息,供应商信息进行多条件查询,增加,修改,删除。5.2.2 实现原理用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的产品信息表,供应商信息表,客户信息表进行相应的操作。图10 产品基本信息管理界面图11 客户信息管理界面图12 供应商信息管理界面5.2.3 核心代码/* * 数据库中获取所有 * param condtions 保存前台传递的数据 * return */ public ListRange findAll(Map conditions) /数据库读出的所有顾客信息 List list=pojod.findAll(); if(list.size()0) /转换成所需要的格式,传递到前台显示 infoList=convertFormat(list); return PageShow.pageHandle(conditions,infoList); else infoList.add(new Customer(); return new ListRange(infoList.subList(0,1).toArray(),infoList.size(); 5.3销售管理5.3.1 功能分析销售货物时,用户可以填写销售单,并可以查看,修改,删除销售单,同时仓库中该产品数量发生相应变动。顾客退货时,用户可以填写销售退货单,并可以查看,修改,删除销售退货单,同时仓库中产品数量发生相应变动。5.3.2 实现原理用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的销售单信息,销售退货表信息,客户信息表进行相应的操作。同时对产品仓库表中的产品数量进行相应变动。图13 销售登记界面图14 销售退货界面图15 填写销售单界面5.3.3 核心代码/* * 增加销售单 * param s * return 最后一个销售单ID */ public int save(ios.web.form.sale.Sale s) Sale ss=new Sale(); Customer c=new Customer();/根据顾客ID增加 c.setCustomerId(s.getSalCustomerId(); ss.setCustomer(c); /用户的ID保存在session中,从session中获得 ios.pojo.sys.User u=new ios.pojo.sys.User(); u.setUserId(s.getSalUserId(); ss.setUser(u);ios.pojo.iosinfo.Product p=new ios.pojo.iosinfo.Product(); p.setProductId(s.getSalProductId(); ss.setProduct(p);ss.setSadate(s.getSadate(); ss.setSanumber(s.getSanumber(); sd.save(ss);/同时产品仓库表中相应的产品数量减少 StoreHandle.decreNum(p,u,s.getSanumber(); return sd.findlastID(); 5.4进货管理5.4.1 功能分析进货时,用户可以填写进货单,并可以修改,查看,删除进货单,同时仓库中相应产品信息发生相应变动。进货退货时,用户可以填写进货退货单,并可以修改,查看,删除进货退货单,同时仓库中相应产品信息发生相应变动。5.4.2 实现原理用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的进货退货单信息表,进货信息表进行相应的操作。同时对产品仓库表中的产品数量进行相应变动。图16 购买进货界面图17 进货退货界面5.4.3 核心代码 /* * 更新 * param s * return */ public boolean saveorupdate(ios.web.form.purchase.Purchase s) Purchase ss=new Purchase(); Supply c=new Supply(); /根据顾客ID增加 c.setSupplyId(s.getPsupplyId(); ss.setSupply(c);ios.pojo.sys.User u=new ios.pojo.sys.User(); u.setUserId(s.getPuserId(); ss.setUser(u); ios.pojo.iosinfo.Product p=new ios.pojo.iosinfo.Product(); p.setProductId(s.getPproductId(); ss.setProduct(p); ss.setPudate(s.getPudate(); ss.setPunumber(s.getPunumber(); ss.setPurchaseId(s.getPurchaseId();boolean isSuccess = true;try pojod.saveorupdate(ss); catch (Exception e) isSuccess = false;e.printStackTrace(); System.out.println(修改失败); return isSuccess; 5.5库存管理5.5.1 功能分析仓库盘点时,用户可以进行产品入库,产品出库,入库修改操作,同时可以进行相应地查询。仓库管理时,用户可以分配仓库,修改仓库,查询、删除仓库。5.5.2 实现原理用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的产品仓库表,仓库表进行相应的操作。图19 仓库管理界面5.5.3 核心代码 /* * 根据条件查询 * param condtions * return */ public ListRange getSaleByParames(Map conditions) String productName=; String username=;/仓库名字 String dbasename=;tryproductName=(conditions.get(pname) !=null )?(conditions.get(pname).toString():;username=(conditions.get(username) !=null)?(conditions.get(username).toString() :;dbasename=(conditions.get(dbase) !=null)?(conditions.get(dbase).toString() :; catch(Exception ef) ef.printStackTrace(); System.out.println(-传递的+productName+username+dbasename); /条件SQL语句 String sql=from Store as m where m.flag=1 and m.storeId !=0 ; if(!(.equals(productName) sql=sql+and duct.pname= +productName+ ; if(!(.equals(dbasename) sql=sql+and m.dbase.dbasename= +dbasename+ ; if(!(.equals(username) sql=sql+and m.user.username= +username+; System.out.println(sql is:+sql); List slist=pojod.findByPropertysSQL(sql); if(slist.size()0) return PageShow.pageHandle(conditions,convertFormat(slist); else infoList.add(new Store(); return new ListRange(infoList.subList(0, 1).toArray(),infoList.size(); 5.6 系统管理5.6.1 功能分析管理员可以进行分配用户,修改用户信息,同时查看,删除用户信息。5.6.2 实现原理用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的用户表进行相应的操作。 图20 用户管理界面5.6.3 核心代码/* * 逻辑删除 * param ids 要删除的ID存放在数组当中 * return */ public boolean delete(List ids)boolean isSuccess=true; int saleId=0; try for(int i=0;iids.size();i+) saleId=(Integer)ids.get(i); User s=pojod.findById(saleId); s.setFlag(2); pojod.saveorupdate(s); catch (Exception e) isSuccess = false; e.printStackTrace(); System.out.println(删除失败); /返回产ID return isSuccess; 6 系统测试6.1 系统开发环境操作系统:Windows ;开发工具:Myeclipse 6.0.1;开发语言:UML;应用数据库:SQL Server2000;应用服务器:Tomcat6.0;6.2 系统测试6.2.3 测试项目说明在测试过程中对每个功能逐一测试,其具体操作如下:(1)测试是否能够正常登陆当用户输入用户名不存在,或用户名与其所输入的密码不准确时,就无法正常登陆。必须输入正确的用户名和密码。(2)测试基本信息,销售,进货,仓库管理,系统管理五个模块功能是否正常执行在测试销售管理下添加销售单时,要输入产品数量,否则无法变更仓库中相应的产品数量,只有准确输入各个产品信息才能成功添加销售单;在测试进货管理下添加进货单时,要输入产品数量,否则无法变更仓库中相应的产品数量,只有准确输入各个产品信息才能成功添加进货单;在测试仓库管理下分配仓库管理时,仓库与用户必须保证一对一的关系,否则提示“添加不成功”;在测试基本信息下添加产品时,必须要输入产品所有信息,否则会提示错误信息:“输入不能为空”。(3)测试是否能够实时更新产品信息测试库存管理下的产品入库,产品出库,必须输入与销售单,进货单管理模块相同的业务编号才能查询到所要得到的产品实时信息。否则无法执行。6.2.3 测试评价(1)测试结果:功能基本都能实现(2)软件能力:经测试该软件在各方面综合性能较好。(3)存在不足:系统前台脚本比较大,第一次加载时候比较慢,有待完善和提高。(4)测试结论:该系统基本满足进销存管理系统的功能,除了不足之处外,其他功能基本都能实现。7 系统改进为增强系统各个模块之间的联系,提高综合资源利用率,因此考虑增加查询统计模块。用户可以通过单击菜单主导航“基础信息”/“商品信息查询”超链接,进入商品信息查询页面。该页面主要完成商品信息的检索。商品信息查询页面设计程序如下:package goods;import java.io.*;import java.util.*;public class ToArrayList public static ArrayList toArrayList()/将文件内容以货品类型的数组形式读出 int i=0; ArrayList arr = new ArrayList (); Goods arrgoods; /从文件读出 String temp=null; String str=new String4; BufferedReader buffer=null; try File file=new File(d:program.txt); buffer = new BufferedReader(new FileReader(file); while ( (temp = buffer.readLine() != null) str = temp.split(t);/将读取的一行内容用tab格分成两部分分别赋给str0和str1 String id = str0; String name = str1; double price = Double.parseDouble(str2); int number = Integer.parseInt(str3); arrgoods=new Goods(id,name,price,number);/用所知数据实例化对象 arr.add(arrgoods);/将此对象加入到货品类型的数组中 i+; catch (NumberFormatException e) e.printStackTrace(); catch (FileNotFoundException e) catch (IOException e) e.printStackTrace(); return arr; 8 收获与体会通过一个学期的学习已经结束,我从一个连软件都不会用的愣头青到现在已能完成课程设计。这次课程设计,我深深地认识到自己知识的单薄,多谢老师和同学的帮助,让我能顺利完成课程设计。虽然还有很多不足,但也学到了很多。尤其对软件开发过程有了更清晰地了解,首先是问题的定义,需求分析,然后是概要设计,详细设计等,并对软件测试的方法,手段有了较深的理解,同时对企业的流程有了一个系统的认识。我也认真学习了与系统相关的的知识,极大地拓宽了我的知识面,真心感到收获不小。在短短的时间里,我还学到了更多的理论知识,扩展了知识面,提高了自己的实际操作能力;而且学会了如何去学习新的知识,学会了面对困难和挑战,学会了团结合作,互助互利。借此论文之际,向所有帮助、关心、支持我的老师、朋友同学,表达我最真诚的谢意。参考文献1 孙卫琴精通Struts:基于MVC的JavaWeb的设计与开发M北京:电子工业出版社,20042杨章伟. 精通SQL语言与数据库管理M. 人民邮电出版社, 20083范晓平UML建模实例详解M北京:清华大学出版社,20054林智扬,范明翔. 深入浅出Java Swing程序设计M.中国铁道出版社社,2005年3月5王珊, 萨师煊. 数据库系统概论(第四版) M. 高等教育出版社, 20076杨章伟. 精通SQL语言与数据库管理M. 人民邮电出版社, 20087李海凤,李宏力,孙华峰电子商务网站实训教程M.中国铁道出版社,20068周警伟.MVC在Web系统中的模式与应用J/OL.http:/ 9阎宏Java与模式M 北京:机械出版社,200510Bruce Eckel,Think in Java 2nd EditionMPrentice Hall11黄平主编.数据库技术. 北京:机械工业出版社,200212袁枚等编著.网络数据库应用教程.北京:人民邮电出版社,2001.113张孝祥.javascript网页开发.北京:清华大学出版社,2004.1114薛华成.管理信息系统.北京:清华大学出版社,2004.915张海藩,倪宁编著.软件工程.北京:人民邮电出版社,2010.2附录附录一数据表表1 产品基本信息表(product)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名产品ID product_idINT-是-是-产品类型ID pptype_idINT-是-是Ptype.ptype_id产品名称pnameVARCHAR50是-条形码 pisdnVARCHAR30否-生产厂商 pmadeVARCHAR50是-产品进价pinpriceINT20否-产品类型表:产品的类型,字段ptype_id与产品基本信息表的字段pptype_id相匹配,作为其外键,表结构如下表2 产品类型表(ptype)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名类型IDptype_idINT-是-是-类型名ptnameVARCHAR50是-表3 客户基本信息表(customer)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名客户IDcustomer_idINT-是-是-客户名称cunameVARCHAR20是-客户地址 cuaddressVARCHAR50否-标志flagINT-是1-客户电话 cutelVARCHAR20否-表4 供应商信息表(supply)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名供应商ID supply_idINT-是-是-供应商名称sunameVARCHAR20是-供应商地址 suaddressVARCHAR50否-供应商电话 sutelVARCHAR20否-标志flagINT-是1-表5 操作员表(user)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名操作员ID user_idINT-是-是-操作员名称usernameVARCHAR20是-操作员密码userpwdVARCHAR50否-操作员权限 userauthorINT-是-表6 销售单(sale)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名销售单IDsale_idINT-是-是-操作员IDsauser_idINT-是-是User.user_id产品ID saproduct_idINT-是-是Pduct_id客户IDsacustomer_idINT-是-是Customer.customer_id销售数量 sanumberINT-是-销售日期sadateVARCHAR20否-标志flagINT-是1-表7 进货单(purchase)字段名(理论)字段名(物理)字段类型长度非空默认主键外键关联的表.字段名进货单IDpurchase_idINT-是-是-操作员ID puuser_idINT-是-是User.user_id产品ID pproduct_idINT-是-是Pduct_id供应商IDpsupply_idINT-是-是Supply.supply_id进货数量punumberINT-是-进货日期pudateVARCHAR20否-标志flagINT-是1-表8 商品信息查询页面中涉及的HTML表单元素名称类型含义重要属性myformform表单action=checkspindex.asp method=post target=mainFselselect选择查询字段商品名称规格tselselect选择条件运算符等于LIKEqnametext输入查询关键字id=qname onkeyup=ti()Submitbutton【查询】按钮onclick=send()butbutton【显示全部数据】按钮id=but onclick=list()附录二各主模块代码在本系统中,采用ODBC驱动,在Visual Basic6.0的编程当中即采用了模块与数据库的连接用采用了程序内的连接。模块内联接:Public Function ConnectString() _ As Stringreturns a DB ConnectString ConnectString = Provider=SQLOLEDB.1;Password=ecc;Persist Security Info=True;User ID=sa; _&Initial Catalog=PurchaseandSale;Server=(local)End FunctionPublic Function ExecuteSQL(ByVal SQL _ As String, MsgString As String) _ As ADODB.Recordsetexecutes SQL and returns Recordset Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL) Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr(INSERT,DELETE,UPDATE,EXECUTE, _ UCase$(sTokens(0) Then cnn.Execute (SQL) MsgString = sTokens(0) & _ query successful Else Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, _ adOpenKeyset, _ adLockOptimistic rst.MoveLast get RecordCount Set ExecuteSQL = rst MsgString = 查询到& rst.RecordCount & _ 条记录 End IfExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit FunctionExecuteSQL_Error: MsgString = 查询错误: & _ err.Description Resume ExecuteSQL_ExitEnd Function程序内实现数据库的连接:Dim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim connstring As Stringconnstring = Provider=SQLOLEDB.1;Password=ecc;Persist Security Info=True;User ID=sa; _&Initial Catalog=PurchaseandSale;Server=(local)2 查询功能的实现实现Private Sub Command1_Click()On Error GoTo myerr If Trim(Text1.Text) = Then f MsgBox(请输入查询条件!, vbInformation, 提示) Then GoTo myerr End If adoXSCX.CommandType = adCmdText adoXSCX.CommandType =

温馨提示

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

评论

0/150

提交评论