医药公司药品进销存管理信息系统设计.doc
中 国 矿 业 大 学本科生毕业论文姓 名: 余 磊 学 号: 04031445 学 院: 信息及电气工程学院 专 业: 信息工程 论文题目: 医药公司进销存管理信息系统设计(2) 专 题: 指导教师: 胡青松 职 称: 2007年 6月 徐州中国矿业大学毕业论文任务书学院 信电学院 专业年级 信息03 学生姓名 余磊 任务下达日期:2007年 3月 05日毕业论文日期: 2007年3月 05日至 2007年6月 20日毕业论文题目:医药公司进销存管理信息系统设计(2)毕业论文专题题目:毕业论文主要内容和要求:1 熟练掌握Microsoft Visual Basic.NET应用技巧;2 以SQL_Server2000作为数据管理平台,熟练使用SQL(结构化查询语言)从数据库中获取信息,并对数据库进行操作;3 在用VB.NET作为开发环境,开发医药公司的信息管理系统。要求利用该系统,可以为医药公司药品进销存管理提供了较为科学的管理模型,有效促进医药公司仓库日常管理工作效率的提高;4 通过系统的开发,掌握软件开发流程及规范文档的书写。院长签字: 指导教师签字:中国矿业大学毕业论文指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 指导教师签字:年 月 日中国矿业大学毕业论文评阅教师评阅书评阅教师评语(选题的意义;基础理论及基本技能的掌握;综合运用所学知识解决实际问题的能力;工作量的大小;取得的主要成果及创新点;写作的规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 评阅教师签字: 年 月 日中国矿业大学毕业设计答辩及综合成绩答 辩 情 况提 出 问 题回 答 问 题正 确基本正确有一般性错误有原则性错误没有回答答辩委员会评语及建议成绩:答辩委员会主任签字: 年 月 日学院领导小组综合评定成绩:学院领导小组负责人: 年 月 日摘 要现在社会药品数目繁多,而且使用中不能出任何差错,人工的话工作量很大也容易出错,为了解决这个矛盾,实现科学化、现代化的医药公司管理,就必须设计开发医药管理信息系统,并用于实践。医药公司进销存管理系统是专为医药公司的药品进销存管理而设计的。此软件可以为医药公司药品进销存管理提供了较为科学的管理模型,有效促进医药公司仓库日常管理工作效率的提高,用计算机信息管理的方法实现对医药公司药品的进销存管理。本系统采用VB.NET作为开发环境,选用MS SQL Server2000数据库管理平台,具为界面友好,操作方便、功能完整等特点。本文所设计的进销存管理系统可以基本上满足中小企业的进销存管理,可以实现对管理员管理、财务管理、客户管理、产品分类管理、交易管理、入库管理、出库管理等管理,使得管理合理规范,实现对药品的进货、付款、销货、收款和库存统计等业务的计算机管理,在设计过程中最大限度满足用户的需要,因此,该系统具有较强的实用性和针对性。关键词:进销存管理; 药品;SQL Server数据库;VB.NET;ABSTRACTThere are a larger number of medicines and we should not have any kinds of errors now. The manual workload is heavy and also prone to make mistakes.To resolve this conflict and achieving scientific and modern management of the pharmaceutical companies, it is necessary to develop the medical management information system and make it be applied into practice.Pharmaceutical companies inventory management system is designed for the management of buying,stocking and selling pharmaceutical companies . This software can provide a more scientific management model and it also can effectively improve its efficiency of the day-to-day management of the company.It applies computer information management method to finish the management work for the pharmaceutical companies.The system uses VB.NET as a development environment,and choses MS SQL Server 2000 database as its management platform. It has a friendly interface and is easy to operate.It also has the features of functional integrity .In this paper, the inventory management system can basically meet the the need of SME inventory management. Its function includes administrator management,financial management, customer management, product management, transaction management,and storage management.through these it can achieve the management of the purchase of medicines, payment, sales, receivables and inventory statistics.It can meet the needs of customers maximizely in the design process , therefore, the system is very practical and purposeful.Keywords:Purchase, selling and storing of the management;Medicine;SQL Server 2000;VB.NET;目 录1 引言11.1 课题背景11.2 课题意义11.3 可行性分析21.4 本文的结构安排32 相关技术分析42.1 Microsoft SQL Server 2000数据库42.1.1 Microsoft SQL Server 2000技术特点42.1.2 Microsoft SQL Server 2000及Access比较42.2 Visual Basic.NET技术52.2.1 Visual Basic.NET技术特点52.2.2面向对象程序设计介绍62.2.3 Visual Basic.NET及面向对象72.3 ADO.NET数据访问82.3.1 ADO.NET概述82.3.2 ADO.NET中的主要对象92.3.3用ADO.NET连接SQL Server数据库简介103 系统功能的架构及设计113.1 功能分解113.1.1 系统流程结构图113.1.2 系统窗体汇总表123.2 系统模块设计133.3 数据库设计173.3.1 系统关系图173.3.2 数据库数据字典183.3.3 存储过程的编写224 系统实现264.1 系统主页面264.2 登录设计274.3 系统管理294.3.1用户信息管理窗体294.3.2 仓库信息管理窗体324.3.3 客户信息管理窗体334.4 药品管理354.4.1 药品类目管理窗体354.4.2 药品信息管理窗体374.4.3 药品流通信息管理窗体384.5 交易管理394.6 财务管理405 结论43致 谢44参考文献45翻译部分47中文译文47英文原文511 引言1.1 课题背景改革开放以来,中国社会经济发生了前所未有的巨大变化。人们的生活水平有了巨大的提高,医疗水平也大大提高,人均寿命达到了七十岁,各种医药公司也应运而生,药品供应大大丰富,人们买常用药不用再去医院排队,可以去附近的药店直接购买,方便了人们的生活,也减轻了医院的负担。但当今国内药品流通市场存在的主要问题是:数量多、规模小、效益低、秩序乱。据统计,我国前300家连锁药店零售总额只占全部连锁销售总额的10%,而美国前20家连锁药店零售总额就占总额的90%。年销售额超过2000万的批发企业不足5%,全国前10名批发商的销售额仅占市场30%的份额。而在美国前4名批发商就占市场份额的80%。目前的医药公司的进销存管理,还有很多传统的人工管理的模式,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。特别是医药批发和零售行业需要对种类繁多的药品进行管理,每天都有大量的药品流入流出,只用人工管理的方法去统计工作量非常之大,医院对病人的抢救及治疗,及药品供应有着密切的关系,不能出半点差错,并且随着该行业竞争日益的激烈,提高进销存管理的工作效率,改善医药公司内部以及整个供应链各个环节的管理、调度及资源配置成为了企业当前必须考虑的问题。解决这些问题,就是将计算机引入到管理机制中来,作为计算机应用的一部分,使用计算机对进销存信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。帮助企业建立良好的管理秩序,在信息化时代充分利用计算机作为管理手段提高管理水平和业务处理,极大地提高公司的科学化、正规化管理,能够实现数据的安全性、完整性,从而提高了工作效率,降低了出错的可能。1.2 课题意义信息管理是人类为了有效地开发和利用信息资源,以现代信息技术为手段,对信息资源进行计划、组织、领导和控制的社会活动。简单地说,信息管理就是人对信息资源和信息活动的管理。信息管理的根本目的是控制信息流向,实现信息的效用及价值。进销存的系统是一个企业进货同销售工作的核心,它的内容对于企业的决策者和管理者来说都至关重要,所以进销存管理系统应该能够为用户提供充足的信息和快捷的查询手段。对一个从事商业活动的医药公司来说,都需要采购药品、存储药品、以及销售药品,对这样的工作流程,建立一个合适的信息管理系统,进行有效的管理和控制,是十分有必要的。本软件系统是根据医药公司的特点,集进、销、存、分析于一体,可以实现对管理员管理、财务管理、客户管理、产品分类管理、交易管理、入库管理、出库管理等管理,使得管理合理规范,实现对药品的进货、付款、销货、收款和库存统计等业务的计算机管理,大大减轻了药品公司工作员工的工作量,全面提高了药品管理的管理效率以及服务质量,使公司管理水平和业务水平跃上了一个新的台阶,系统操作方便及简单的界面给用户节省了不少宝贵的时间,提高了效率,也减少了人为出错的概率,这在药品行业是极为重要的,一旦出了事故,后果是不敢想象的。本系统为药品管理员提供了良好的服务。采用计算机这一现代化管理工具,不但可以提高工作效率和工作质量,而且还可以节省大量的人力、物力和财力。计算机管理代替落后的手工管理后,原来几个人几天干的活,现在一个人就完全可以胜任。只要在配一台普通台式计算机和一个操作人员就可以实现,完成对医药公司信息的管理。1.3 可行性分析对于医药企业而言,实施进销存管理的信息化是可行的。首先,硬件、软件要求不高,目前市场上的一般计算机软硬件都能满足系统开发要求。运用的软件主要有Visual Basic.NET数据库采用sql server 2000。 Visual Basic.NET软件是相当流行的软件,功能强大、扩展性强,结合sql server2000完全能够胜任开发任务。 维护工作方便,有一定经验的操作人员可以在短时间内掌握维护工作。其次,由于开发公司的进销存管理系统所使用的工具完全是可视化的开发工具,所以开发出的应用程序均是图形化的界面,操作人员几乎不用记任何命令,就可以操作此软件。另外,现在大多数人都已经学会了Windows的基本操作,就算不会使用Windows,经过短期的培训,也能熟练地使用本软件,所以在操作上也是可行的。1.4 本文的结构安排 引言 通过对医药公司进销存的发展背景和意义及可行性的分析,提出本文的研究课题-医药公司进销存管理信息系统。 相关技术分析 本章主要对医药公司进销存管理信息系统的相关技术进行分析研究,如Visual Basic.NET技术(Visual Basic.NET的技术特点、面向对象的设计)、SQL Server数据库、ADO.NET的主要对象、如何利用ADO.NET技术访问SQL Server数据库。 系统功能架构及设计本章主要对该系统总体设计思路和总体设计方案进行分析,包括系统功能的实现、模块的组成和数据库的设计等。 系统实现首先通过对系统主页面的设计引出系统的四大模块,然后逐一详细分析四大模块的功能及如何实现等。 结论总结设计中完成的工作和设计中遇到的问题以及该系统存在的问题及改进的方案。2 相关技术分析2.1 Microsoft SQL Server 2000数据库2.1.1 Microsoft SQL Server 2000技术特点Microsoft SQL Server 2000是美国Microsoft公司开发的一个头条型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。Microsoft SQL Server 2000是为数据库管理、创建可电子商务、在线商务和数据仓库解决方案而设计的关系型数据库管理及分析系统。它提供了功能全面、操作简单的图形化SQL Server服务器管理界面“SQL Server Enterprise Manager”窗口。Microsoft SQL Server 2000 扩展了 Microsoft SQL Server 7.0 版的性能、可靠性、质量和易用性。Microsoft SQL Server 2000 增加了几种新的功能,由此成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。Microsoft SQL Server 2000特性如下:内置安装选项:任何建立应用程序的人都可以创建一个集成的安装(在一个操作中完成应用程序和数据库的安装)。 自动配置:自动配置简化了普通数据库管理任务。 动态自管理:数据库可以在需要时自动增加分配的资源,不会过多占用;当它们不再需要这些资源,又能够自动释放,减少资源占用量。这消除了数据库管理员手工调整内存、磁盘分配、锁定和用户帐号的必要。 扩展的服务器管理员功能:管理员能够从一个中心服务器管理多个服务器。这一功能使普通管理工作降至最少,帮助实现分公司自动化。 加强的性能特性:动态锁定、改善的查询处理和其它特性加强了重负荷、企业级应用程序。SQL代理技术:这一技术使批量预定操作成为可能,包括具有依赖性的多步工作和中心化的错误报告。Profiler:开发人员和数据库管理员可以监控应用程序和查明性能问题。XML支持:集成了对XML的支持可视化设计工具:开发人员能够创建和维护整个关系图。2.1.2 Microsoft SQL Server 2000及Access比较Microsoft Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。Microsoft Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。Microsoft SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Microsoft Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。Microsoft SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。2.2 Visual Basic.NET技术 Visual Basic是目前最流行的数据库开发工具,它通过Visual Basic.NET在.NET环境中得到全面的支持。Visual Basic.NET可能成为新的.NET平台上最常用的开发工具,因为它不仅能使Visual Basic开发人员更顺利的实现过渡,而且还可以使以前使用其他语言工具的用户能很快接受。2.2.1 Visual Basic.NET技术特点Visual Basic.NET的主要特点是:(1) 软件变服务“软件服务是来自因特网的服务,它替用户安装、更新和跟踪软件,并让它们和用户一同在不同的机器间漫游。它为用户存储自己的信息和参考资料。这些就是软件服务不同的风格。”伴随着ASP产业的兴起,软件正逐渐从产品形式向服务形式转化,这是整个IT行业的大势所趋。在.NET中,最终的软件应用是以Web服务的形式出现并在Internet发布的。Web服务是一种包装后的可以在Web上发布的组件,.NET通过WSDL协议来描述和发布这种Web服务信息,通过DISCO协议来查找相关的服务,通过SOAP协议进行相关的简单对象传递和调用。微软公司的.NET战略意味着:微软公司以及在微软平台上的开发者将会制造服务,而不是制造软件。在未来几年之内,微软将陆续发布有关.NET的平台和工具,用于在因特网上开发Web服务。那时,工作在.NET上的用户、开发人员和IT工作人员都不再购买软件、安装软件和维护软件。取而代之的是,他们将定制服务,软件会自动安装,所有的维护和升级也会通过Internet进行。(2) 基于XML的共同语言XML是从SGML语言演化而来的一种标记语言。作为元语言,它可以定义不同种类应用的数据交换语言。在.NET体系结构中,XML作为一种应用间无缝接合的手段,用于多种应用之间的数据采集及合并,用于不同应用之间的互操作和协同工作。具体而言,.NET通过XML语言定义了简单对象访问协议(SOAP)、Web服务描述语言(wsDL)、Web服务发现协议(DISCO)。SOAP协议提供了在无中心分布环境中使用XML交换数据的简单轻量的机制。WSDL协议定义了服务描述文档的结构,如类型、消息、端口类型、端口和服务本身。DISCO协议定义了如何从资源集合中提取服务描述文档、相关服务发现算法等。(3) 合多种设备平台随着Internet逐渐成为一个信息和数据的中心,各种设备和服务已经或正在接入和融入Internet,成为其中的一部分。.NET谋求及各种Internet接入设备和平台一体化,主要关注在无线设备和家庭网络设备及相关软件、平台方面。(4) 新一代的人机界面新一代的人机界面主要体现在“智能和互动”两个方面。.NET包括通过自然语音、视觉、手写等多种模式的输入和表现方法:XML 基于的可编辑复合信息架构通用画布;个性化的信息代理服务;使机器能够更好地进行自动处理的智能标记等。2.2.2面向对象程序设计介绍传统的结构化程序设计(Structured Programming)是一种强调功能抽象化和模块化的编程方法,它把解决问题的过程看作是一个处理单位。这就是说结构化程序设计中,模块是对功能的抽象,而每一个模块都是一个处理单位,并有输入和输出。而面向对象的程序设计(Object Oriented Programming, OOP)是一种以对象为基础,以事件来驱动对象执行的程序设计技术。OOP 把计算过程看作为对象的分类过程加上其状态变化的过程,也就是将一个应用程序逐步划分成相互关联的多个对象,并且建立起及这些对象相互关联的事件过程,通过对象对所发生的事件产生响应,并执行相应的事件过程以引发对象状态的改变,从而最终达到完成计算的目的。及结构化程序设计不同,面向对象的程序设计综合了功能的抽象和数据的抽象,它把解决问题的过程看作是一个对象分类演绎的过程。在OOP 中,对象(Object)是一个包括数据和方法(操作)的并被封装起来的整体,它是对数据和功能的抽象和统一,而对象就包含了模块的概念。面向对象设计是一种全新的程序设计方法,它从根本上改变了传统的程序设计模式。其基本思想是:通过建立及具体实际应用相对应的对象,并通过这些对象的组合来创建具体的应用程序。这种设计方法给程序设计带来了许多良好特性,一般说来有以下几点:(1) 模块性:对象是一个功能和数据独立的单元,它们之间只能通过对象认可的方式来进行通信,并可以较为自由地为其他对象所调用。(2) 封装性:这一特性为信息的隐藏提供了具体的实现手段,用户不必清楚对象内部的细节,只需了解其功能即可。(3) 继承性:这一特性为代码的共享提供了一种非常有效的方法,从而可以避免重复的代码设计,实现对象的可重用性。这一特性也是面向对象程序设计技术最本质的特征。(4) 可靠性:对象实现了抽象和封装,从而使得其中出现的错误限制在对象的内部,因而不会向外部传播,同时也易于检查和维护。(5) 可扩充性:面向对象系统可以通过继承机制不断扩充其对象的功能,而不会影响原系统的运行。(6) 连续性:虽然面向对象的程序设计语言在编程模式上相差很大,但它并没有摒弃传统的做法,它不仅采用了传统程序设计语言的语言元素,而且利用它们来模拟建立对象,从而使得一个熟悉传统程序设计语言的编程者能够很快掌握面向对象设计的规律。2.2.3 Visual Basic.NET及面向对象Visual Basic.NET语言已成为第一流的面向对象的编程语言。在编程过程中,给程序员带来了更多的方便,并且解决了传统编程语言所解决不了的问题。传统的编程语言有很多缺点,例如,它的数据在整个代码段中是分开存放的,而且任何写成结构化的代码并不是模块,由于数据元素对任何代码都是可操作的,所以即使没有告诉开发者,任何人都可以对数据作改动,这可能会造成运动时的错误并且极难纠错。还有,程序的维护是一项极其繁重的工作。如果要试着去理解改动一行代码,并在对整个程序会造成影响之后,再去修改就会变得非常困难。最后,让程序员既管理代码又管理数据而造成的信任问题会使代码的重用率降得非常低。面向对象的编程方法解决了所有这些问题。Visual Basic.NET把用来操作数据的方法连同数据一起打包成一个对象。对象的数据可以被隐藏,以防止非法的改动。另外,一个对象会登记出一套共用的可用于操作数据的方法这就是所谓的封装性。因为具体的实施细节便于实际界面分离的,所以用户可以在不影响主要程序及数据的前提下,以后再改动这个被调用的后台运行对象程序。面向对象的编程能够让程序的开发人员通过继承来重用代码和数据。通过继承预先定义对象,开发者可以经常创建复杂的应用。Visual Basic.NET具备了面向对象(OOP)编程语言的所有特征,已经成为一门完全面向对象的编程语言。在代码维护方便、可扩展性好、支持代码重用等方面有很大的优越性。Visual Basic.NET比以前的VB版本更容易、更迅速地创建特定类型的功能。2.3 ADO.NET数据访问2.3.1 ADO.NET概述ADO.NET是由一系列的数据库相关类和接口组成的,它的基石是XML技术,所以通过ADO.NET不仅能访问关系型数据库中的数据,而且还能访问层次化的XML数据。ADO.NET提供了两种数据访问的模式:一种是为连接模式(Connected),另一种为非连接模式(Disconnected)。后一种模式是ADO.NET中才具有的。相比于传统的数据库访问模式,非连接的模式提供了更大的可升级性和灵活性。在该模式下,一旦应用程序从数据源中获得所需的数据,它就断开及原数据的连接,并将获得的数据以XML的形式存放在主存中。在应用程序处理完数据后,它再取得及原数据的连接并完成数据的更新工作。ADO.NET中的DataSet类是非连接模式的核心,数据集对象(DataSet)以XML的形式存放数据。我们既可以从一个数据库中获取一个数据集对象,也可以从一个XML数据流中获取一个数据集对象。而从用户的角度来看,数据源在哪里并不重要,也是无须关心的。这样一个统一的编程模型就可被运用于任何使用了数据集对象的应用程序。ADO.NET有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET包含用于连接到数据库、执行命令和检索结果的.NET Framework数据提供程序。用户可以直接处理检索到的结果,或将其放入ADO.NET DataSet对象,以便及来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。ADO.NET DataSet对象也可以独立于.NET Framework数据提供程序使用,以管理应用程序本地的数据或源自XML的数据。在ADO.NET中,也可以使用新的.NET Framework数据提供程序来访问数据源。这些数据提供程序包括:(1) SQL Server.NET Framework数据提供程序。(2) OLE DB.NET Framework数据提供程序。(3) ODBC.NET Framework数据提供程序。(4) Oracle.NET Framework数据提供程序。这些数据提供程序可以满足各种开发要求,包括中间层业务对象(它们使用及关系数据库和其他存储区中的数据的活动连接)。ADO.NET是专为基于消息的Web应用程序而设计的,同时还能为其他应用程序结构提供较好的功能。通过支持对数据的松耦合访问,ADO.NET减少了及数据库的活动连接数目(即减少了多个用户争用数据库服务器上的有限资源的可能性),从而实现了最大程度的数据共享。在有些情况下,Web应用程序或XML Web Services需要访问多个源中的数据,或者需要及其他应用程序(包括本地和远程应用程序)进行互操作,或者可受益于保持和传输缓存结果,这时使用数据集将是一个明智的选择。作为一种替换方法,ADO.NET提供数据命令和数据读取器以便及数据源直接通信。使用数据命令和数据读取器直接进行的数据库操作包括:运行查询和存储过程,创建数据库对象,使用DDL命令直接更新和删除。ADO.NET还通过对分布式ADO.NET应用程序的基本对象“数据集”(Dataset)提供基于XML的持久性和传输格式,来实现最大程序的数据共享。数据集是一种关系数据结构,可使用XML进行读取、写入或序列化。ADO.NET数据集使得生成在应用程序层及多个Web站点之间进行松耦合数据交换的应用程序变得很方便。2.3.2 ADO.NET中的主要对象 ADO.NET的对象主要包括DataSet,DataTable,DataColumn,DataRow和DataRelation。(1) DataSet这个对象是一个集合对象,它可以包含任意数量的数据表,以及所有表的约束、索引和关系。所有这些信息都以XML的形式存在,可以处理、遍历、搜索任意或者全部的数据。(2) DataTable这个对象可以在DataSet对象内找到所有表。通过“Table”属性可以访问DataTable的集合。类似地,通过DataSet的“Relations”属性可以访问到所有已经建立的数据集关系。(3) DataColumn表包含及列有关的信息,包括列的名称、类型和属性。它在从一个数据表中得到数据的过程中起着重要的作用。它还可以用来用于创建DataTable的架构的基本构造块,通过向DataColumnCollection中添加一个或多个DataColumn对象来生成这个架构。每个DataColumn都有DataType属性,该属性确定DataColumn所包含的数据的种类。(4) DataRow要填充一个表,可以使用命令的自动数据绑定功能,或者也可以手工添加行,方法是:创建DataRow对象,把DataRow对象插入到表,然后为该记录的各个字段填写数据。可以通过Rows集合导航DataTable的元素,利用Rows集合实现一个顺序导航器,或者通过搜索或直接定位跳转到特定的记录。(5) DataRelationDataRelation相当于数据表之间的关系,它作为整体和DataSet相关联,Relations集合中的每个DataRelation对象都包括了DataSet的Tables集合中两个DataTable的连接信息。所以只要指定每一个表中用于连接的列,就可以连接到DataTable,这个关系比较类似于在指定关系数据库的关系时把一个表的外键关联起来。2.3.3用ADO.NET连接SQL Server数据库简介从ADO.NET连接到SQL Server数据库有三种方法,这里主要介绍在服务器资源管理器中连接到SQL Server。打开.NET工作环境,在服务器资源管理器中的数据连接上单击鼠标右键,选择“添加连接”,弹出“数据连接属性”对话框。提供程序默认为Microsoft OLE DB Provider for SQL Server,在“连接”选项卡中直接输入数据库名称或从自动检测到的结果中选择,输入用户名和密码,单击“测试连接”按钮,如果测试成功,则弹出“测试连接成功”对话框。测试成功后,既“在数据库上选择数据库”的下拉列表中会出现这个连接所对应的所有数据库,选择指定的数据库,即完成了连接数据库。3 系统功能的架构及设计本系统是单机版的应用系统。作为一个药品进销存管理信息系统,其功能是实现医药公司进销存信息管理的系统化、规范化和自动化。本系统主要要完成的功能有:(1) 交易管理:包括进货单、销货单、退货单等。所有进销存的主要交易都是在此进行。每次交易(包括进货、销货和退货)都需要对药品名称、单价、数量、总金额、交易日期、负责人等各项记录。在交易过程中,程序的编写尽可能的方便员工进行交易,旁边有交易状态表,可以方便的查询,同时对于负责人也将其列在进货单、销货单中,以防止员工进行非正常的交易。(2) 药品管理:包括药品类目、信息、流通管理等。其中可以看到药品分类的管理,在仓库中的药品类型、药品数量以及药品名称。每种药品在仓库中是否处于正常状态,也就是是否处于最高数量和最低数量之间。对各种药品出入库进行查询管理。(3) 查看数据表:实现各种数据表的浏览,包括进货表,商品库存表、出货表、用户表、客户表等。对于用户表管理员还可以对其进行删除或添加用户操作。(4) 系统管理: 包括更换用户、修改密码、退出系统等。更换用户的操作方便了用户的使用,同时更加方便了管理员对于系统数据的查询,可以做到随时查看,以使管理员对帐目一目了然。修改密码和退出系统都是对于系统管理的辅助功能,再这里就不详细说明了。(5) 其它窗体:包括主窗体、登录窗体、财务窗体。主窗体就是将各个模块的大意列在菜单中,然后通过每一个菜单将其它的窗体逐个对应的连到主窗体中。登录窗体为本系统的启动窗体,其功能是让合法的用户使用本系统,以防止其它的非法人员使用该系统。并对登录的用户做一下权限的区别:分为系统管理员、财务管理员、交易管理员和药品管理员。财务窗体可以使财务信息用图表的方式很直观的显示出来。3.1 功能分解3.1.1 系统流程结构图药品仓库采购退货采购入库销售退货销售出库供货商购货商财务管理图3.1 系统流程结构图在整个系统中,如图3.1所示,药品仓库是整个系统的基础和中心。仓库信息是对企业的所有仓库进行编号管理,每种药品进入仓库的时候都要指定仓库号。对库存药品也要进行分类,建立一级类目、二级类目,方便管理;每种药品要有完整的信息。采购药品是从供应商处采购所需药品,提交到仓库,称为入库,不合格的药品要退给供货商。销售药品是把库存药品销售给购货商,称为出库,对购货商返回的不合格药品进行回收。同时药品的入库和出库都要和通过财务统计和确认,没有财务的确认交易不能进行。3.1.2 系统窗体汇总表系统重要的窗体及它们的功能简述如表3.1所示。表3.1 系统窗体汇总表窗体名称功能简述frmMain主窗体:作为本系统的功能入口;frmLogin用户登录窗体:作为系统的入口,验证用户信息,根据用户类型给出系统功能入口;frmUser用户信息管理窗体:对用户信息进行管理;frmWarehouse仓库信息管理窗体:对仓库信息进行管理;frmCustomer客户信息管理窗体:对客户信息进行管理;frmCategory药品类目管理窗体:对药品进行分类,为了更好的管理药品;frmGoods药品信息管理窗体:处理药品信息;frmTransInfo药品交易信息管理窗体:对药品出库和入库进行操作;frmGoodsTrans药品流通信息管理窗体:根据交易单的内容进行相应的药品