VC++60+Access仓库管理系统设计含源毕业设计论文.doc_第1页
VC++60+Access仓库管理系统设计含源毕业设计论文.doc_第2页
VC++60+Access仓库管理系统设计含源毕业设计论文.doc_第3页
VC++60+Access仓库管理系统设计含源毕业设计论文.doc_第4页
VC++60+Access仓库管理系统设计含源毕业设计论文.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、( 此文档为 word 格式,下载后您可任意编辑修改!)优秀论文审核通过未经允许切勿外传仓库管理系统前言自 1946 年人类第一台计算机(ENIAC )问世以来,50 多年过去了,计算机的软硬件发展日新月异,突飞猛进。以个人电脑为例,硬件方面,以 CPU、内存、硬盘为代表,CPU 已发展到当今的 P4 2.8GHZ ,P和 P已淡出历史舞台,成为昨日黄花;256MDDR 内存,80G 以上的 7200 转硬盘已成为标准配置。如此高性能的配置,就是和 5年之前相比,也不知高出了多少倍。软件方面,已经从当初晦涩难懂的机器语言、汇编语言过渡到今天的第四代语言甚至第五代语言,第四代语言(4GL)是完全

2、非过程化的语言,这种语言只要求用户指明将要干什么,而无需指明怎么干,如何做这一工作,则完全交给软件模块来自动处理,大大提高了软件的开发效率和软件质量,使软件开发人员从繁重的脑力、体力劳动中解脱出来。伴随着计算机软硬件技术的发展,计算机的技术和应用获得了突飞猛进的发展,计算机已经在大致如下的领域得到广泛的应用:1、科学计算:如在天文学、生物学、空气动力学、核物理学、1地质勘探、新材料的研制和天气预报等领域中。2、数据处理:与科学计算不同,数据处理涉及的数据量大,但计算方法较简单。3、过程控制:以下内容略随着计算机的普及和发展,人们开始利用计算机解决越来越多的实际问题,虽然现在软件的数量如雨后春笋

3、,但依然不能满足用户的各种需要,尤其是用于特定教学管理方面的软件。本文是针对我校学习成绩管理方面的需求进行开发设计而形成一套适合自身应用的计算机管理信息系统。论文对系统进行了较为全面的业务需求分析,并进行有针对性的系统设计,包括开发平台和 工 具 选 型 、功 能 模 块 设 计 、数据 库 设 计 等 ,最 后 选 用 Visual C+ 6.0 和 Access 数 据 库 进 行 了 系 统实 现 ,并 进 行 了 相 应 的 系 统 测 试和 调 试随着当代计算机技术的发展,硬件运行速度的不断提高,软件功能越来越多,越来越完善,它的应用范围也就不断地扩大,已被广泛地应用于科研部门,金融

4、系统、工厂、学校,直至进入千家万户。用手工来完成物资管理系统是一个较烦琐的过程,既费时、费力,又不利于一个月或更久时间的结算,而进行计算机管理可以大大提高工作效率,而且数据处理也更为精确。本文用 Visual c+6.0 设计用户界面 , access 97 做数据库摘要:仓库管理系统是信息管理系统 (MIS), 其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。 对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析 ,使用 MICROSOFT公司的 VISUALc+开发工具 ,利用其提供的各种面向对象的开发工具

5、,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象 ,首先在短时间内建立系统应用原型 ,然后 ,对初始原型系统进行需求迭代 ,不断修正和改进 ,直到形成用户满意的可行系统。物资管理是一般工业 ,商业企业生产管理环节中重要的一环,需要对物资基本信息管理,物资调配信息等内容进行完整的监控,这样才能更有效地利用物资管理.。关键词: ADO, 面向对象 , 信息管理系统ABSTRACTThe warehouse management systemdevelops and includes backstagesupporter foundation and maintain and front de

6、velopment two of application program of data base mainly. Demand and set up data consistencyand integrality strong, data security kind storehouse as to the former. Require to the latter that the function of the application program is complete, apt characteristic of using etc. Through analyse , use M

7、ICROSOFT + developing instrument, c of VISUAL, of Company , utilize various kinds of that offer it face developing instrument of marriage partner, Data window this can convenient succinct to carry on to initial prototype system demand changes and takes the place of within short time at first, Revise

8、 and improve constantly,2until forming users satisfied feasible system. The important ring in the production management of merchandising concern link, Need to goods and materials basic information management, goods and materials allocate information,etc. content go on intact control, Could utilize t

9、his way. This text introduction make with interface and make the data base with vc + with database sql sever 2000.Keywords: ADO,FACE TO OBJECT,MIS Management Information System1.2.2,31.1,.31.2,.5,.52.12.22.3,.553.1,.63.2.63.3.63.4.6,64.1VC+,104.2ACCESS ,.104.3- material_mis,124.4,124.5,.13,14,.186.1

10、,.196.2,236.3,.266.4,266.5,.29.303031:313第一章系统设计介绍1.1系统功能分析系统开发的总体任务就是实现仓库管理的信息的系统化、规范化和自动化。随着电脑诞生以来,人类聪明的头脑总是想:“要做的事简单化“。因此在我们大、中、小宾馆,其繁重信息管理使他们聪明的头脑想到:”由电脑来管理这些事务,又简单又省事。所以人们常说:“计算机已经成为我们学习和工作的得力助手了,少了它生命中没有了阳光!“。今天,计算机的价格已经十分低廉,性能却有了长足的进步。 它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;

11、其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。可见,开发一套物资信息管理系统已经是必要的了。仓库管理是企业管理的一个重要内容。 随着时代的进步,企业也逐渐变的庞大起来。如何管理好企业内物资的信息, 成为企业管理中的一个重要问题。在这种情况下,一个可以规范化,自动化的物资系统就显的非常重要。最初的仓库管理,都是靠人力来完成。当企业规模比较小的时候,人力可以完成。随着企业规模越来越大, 企业的物资数量越来越多,依然维持着人力进管理必然会造成工作效率底,工作错误曾高等问题。管 理信 息系 统 ( 简 称 MIS) 是介于信息论,经济

12、管理理论,统计学与运筹学及计算机科学之间的一门边缘性,综合性,系统性的交叉科学,它是随着管理科学,信息技术,计算机技术等的发展而产生和发展起来的。XXX 管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用 VC6.0作前 端的 应用 开发 工具 ,利用 Sql 或 Acess 作为 后台 的数 据库 ,利用 WINDOWS作为系统平台开发的 XXXX管理系统。另外本 XXX 管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进

13、行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方向仓库管理系统就是把分散的企业物资信息实行统一,集中,规范的收集管理。建立分类编号管理,电脑存贮查询以及防火,防潮,防盗等现代化,专4业化的管理系统。为企事业的管理解除了后顾之忧。系统功能分析是在系统开发总体任务的基础上进行的。 本系统中的仓库管理信息系统需要完成的主要功能有:有关物资基本信息的输入,包括物资编号、物资名称、规格型号、种类和计量单位等。物资基本信息的查询。物资基本信息的修改。入库物资基本信息的输入。入库物资基本信息的查询。入库物资基本信息的修改。出库物资基本信息的输入。出库物资基本信息的查询。出库物资基本信息的修改

14、。物资余额信息的查询。物资余额信息的浏览1.2系统功能模块设计对上述的功能进行集中, 分块和分析, 按照结构化程序设计的要求,得到下图仓库管理信息系统图( 1)系统功能模块图第二章数据库设计设计数据库系统时应该首先充分了解用户的各个方面的需要,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需求分析。数据库概念结构设计。数据库逻辑结构设计。第三章数据库结构的实现Access2000就是关系数据库开发工具, 数据库能汇集各种信息以供查询、存储和检索。 Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel 的电子表格,可以使数

15、据库一目了然。另外, Access 允许创建自定义报表用于打印或输出数据库中的信息。 Access 也提供了数据存储库, 可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。 Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述, Access 作为关系数据库开发具备了许多优点, 可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 经前面的系统需求分析和概念结构设计以后, 得到数据库逻辑结构。现在就可以在 access 2000 ,实现上面设计的数据库逻辑结构 , 然后转化为 access97. 下面给出创建这些表格的

16、清单。3.1创建系统用户表格user_info用户名称用户密码53.2创建物资基本信息表格material物资编号物资名称物资规格类别 计量单位3.3 创建入库物资信息表格msave入库编号 入库物资编号 物资名称 规格型号 种类 单位 数量 单价金额 入库时间 经办人 保管人 仓库 备注3.4创建出库物资信息表格muse出库编号 出库物资编号 物资名称 规格型号 种类 单位 数量 单价 金额 入库时间 领用人 经办人 仓库 备注3.5 创建物资余额信息表格msurplus物资编号物资名称规格型号类别 计量单位数量 金额仓库 备注第四章物资管理信息系统主窗体的创建4.1使用工具 VC+的介绍所

17、用开发语言简介4.1.1 VC+ 的特点VisualC+是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+又称作是一个集成开发工具, 它提供了软件代码自动生成和可视化的资源编辑功能。Visual C+具有的优点:提供了面向对象的应用程序框架 MFC( Microsoft Foundation Class ), 简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE 技术的可视化软件的自动生成和维护工具AppWizard 、ClassWizard 、VisualStudio 、WizardBar 等,实现了直

18、观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows 的 API函数、 USER、KERNEL、GDI 函数,简化了编程时创建、维护窗口的许多复杂的工作。4.1.2 本程序中使用的VC+控件及其属性简介(1)CStatic(静态控件 ) :显示一些几乎固定不变的文字或图形描述。(2)CButton (按钮控件):产生某些命令或改变某些选项设置。(3)CEdit (编辑框控件):完成文字的输入输出双向操作,查看并编辑文字。(4)CListBox (列表框控件):显示一个列表,让用户从中选取一个或多个项。(5)CComboBox(组合框):将列表框和编辑框有机地组合

19、在一起,可选择列表中已有的项,还可以编辑出新的项。microsoft visual c+6.0 提供了良好的集成开发环境 , 在这一环境下用户可以输入自己的程序 , 调试并运行 . 为了方便用户快速开发程序 , visual c+6不仅编译代码 , 而且产生代码 . 可以在几分钟之内就可以生成一个 windows 应用程序 , 所要做的只是告诉 appwizard 生成一个具有模板代码的 起始应用程序 .appwizard 是一个非常有效的辅助开发工具 , 能生成许多种应用程序 , 但对于大多数的人来说 , 想要的是可执行程序 .appwizard 不仅能够生成可执行程序, 而且它还生成了每个

20、程序所必要的模板代码-类, 对象和函数 .(1)appwizard 提供了三种可选择的应用程序类型 , 并为每一种类型生成不同的代码和类 . 三种可选择的程序类型如下:1, 单文档界面应用程序逻辑这种应用程序一次只能打开一个文档: 当选择 file菜单的 open 或 new时, 当前打开的文件在新文件打开或建立前被关闭 . 在 windows 中 notepad 应用程序就是这种文档的典型代表 .2 多文档界应用程序 多文档应用程序一次可以打开多个文档 ( 通常是多个文件 ), 在菜单栏上有 Windows 菜单并且在 File 菜单上有 close 先项 . 同时打开的多个文档可以通过 c

21、lose 命令进行有选择地关闭 . 在Windows中如果希望一个文档有多个视图 , 则必须建立多文档视图 .Windows 中的 Word或 Excel 都是多文档的例子 .3 基于对话框的应用程序 在这一种应用程序中 , 它没有文档也没有菜单 , 整个程序看起来就是一个对话框 .Windows 的磁盘扫描应用程序就是一个基于对话框的应用程序例子.(2)AppWizard允许用户选择是否需要文档视图结构支持 . 如果需要 AppWizard 就在应用程序中自动生成了基于 CDocument类的文档视图结构 , 否则生成没有文档视图结构的应用程序 ( 在这种情况下 , 多一个磁盘文件打开一个文

22、档视图时将不包含MFC支持 ). (3)AppWizard 生成可执行应用程序允许用户选择是否支持数据库 ( 在后面的任务中将详细介绍对数据库的支持 ). 有关数据库支持的选项一共有四个 .4 None 不是编写数据库应用程序 . 5 Header files only 不从 CForm View 派生自己的视图或有一个 Record 菜单 . 6 Database iew without file support从 CForm View 派生自己的视图并有一个 Record 菜单 , 但不需要对文档进行序列化 , 从而可以借助 CRecordset 类更新数据库记录 .7 Database

23、iew with file support 从 CFormView 派生自己的视图并有一个 Record 菜单 , 同时又需要对文档进行序列化 .(4)AppWizard 提供了确定应用程序界面外观的选项 . 影响界面外观的选项有 :8 Docking Toolbar AppWizard为用户创建了工具栏 , 用户在以后可以利用Resource View 对它进行编辑 . 如: 删除不要的按钮 , 增加新的按钮 .9 Initial status bar AppWizard生成了初始状态栏以显示菜单提示和其它消息 , 用户可以在以后对状态栏进行编程以显示自己所需要显示的信息 . 用户要以在状态

24、栏上增加指示器或其它组件 .下面开始使用visual c+6.0来编写数据库系统的客户端程序。所用开发语言简介VC+的特点VisualC+是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+7又称作是一个集成开发工具, 它提供了软件代码自动生成和可视化的资源编辑功能。Visual C+具有的优点:提供了面向对象的应用程序框架 MFC( Microsoft Foundation Class ), 简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE 技术的可视化软件的自动生成和维护工具AppWizard 、C

25、lassWizard 、VisualStudio 、WizardBar 等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows 的 API函数、 USER、KERNEL、GDI 函数,简化了编程时创建、维护窗口的许多复杂的工作。3.1.2本程序中使用的VC+控件及其属性简介(1)CStatic(静态控件 ) :显示一些几乎固定不变的文字或图形描述。(2)CButton (按钮控件):产生某些命令或改变某些选项设置。(3)CEdit (编辑框控件):完成文字的输入输出双向操作,查看并编辑文字。(4)CListBox(列表框控件):显示一个列表,让用户从中

26、选取一个或多个项。(5)CComboBox(组合框):将列表框和编辑框有机地组合在一起,可选择列表中已有的项,还可以编辑出新的项。系统数据访问接口的选择Visual C+ 中可用的数据访问对象接口有三种:ODBC( Open DatabaseConnectity,开发数据库连接)、 DAO(Data Access Objects,数据访问对象 ) 及OLE DB(OLE data Base ,OLE数据库 ) 。1ODBC(Open Database Connectity,开发数据库连接)ODBC提供了应用程序接口( API),使得任何一个数据库都可以通过 ODBC 驱动器与指定 DBMC相联

27、,用户的程序就可以通过调用 ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。作为 Microsoft WindowsOpenStandards Architecture(WOSA,Windows 开放式服务体系结构 ) 的主要组成部分, ODBC一直沿用至今。2.DAO(Data Access Objects,数据访问对象 )DAO 提供了一种通过程序代码创建和操纵数据库的机制。多个DAO对象构成了一个体系结构,在这个结构里,各个DAO 对象协同工作,通过Microsoft Jet 数据库访问数据库中的数据和数据库的结构定义。 可以访问的数据库类型主要有: Microsoft Jet

28、数据库、 ODBC数据源、可安装的 ISAM 数据库。DAO 是我们可以通过程序访问和操纵本地的或远程的数据和数据定义, 管理数据库中的对象或结构。 DAO 支持两种不同的数据库环境称为工作区( Workspace).8Microsoft Jet Workspace这是一种使用Microsoft Jet数据库引擎来访问数据源的工作区。ODBC Direct Workspace这是一种使用ODBC Direct来直接访问一个ODBC数据源,并绕过Microsoft Jet数据库引擎的工作区。可通过ODBC访问数据库服务器,而无须安装Microsoft Jet数据库引擎。3OLE DB(OLE d

29、ata Base, OLE数据库 ) 。OLE DB 试图提高一种统一的数据访问接口, 并能处理除了标准的关系型数据库中的数据之外,还能处理包括邮件数据、 Web 上的文本或图形、目录服务( Directory Services),以及主机系统中的 IMS 和 VSAM 数据。 OLE DB 提供一个数据库编程 COM (组件对象模型)接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据, 而不用考虑数据的具体存储地点、 格式或类型。这个 COM 接口与 ODBC 相比,其健壮性和灵活性要高的多。但是,由于 OLE DB 的程序比较复杂,因而对于一般用户来说使用ODBC 和 DAO

30、方式已能满足一般数据库处理的需要Access 介绍Access 是 Microsoft Office 办公套件中一个极为重要的组成部分。刚开始时微软公司是将 Access 单独作为一个产品进行销售的,后来微软发现如果将 Access 捆绑在 OFFICE中一起发售,将带来更加可观的利润, 于是第一次将 Access 捆绑到 OFFICE97中,成为 OFFICE套件中的一个重要成员。现在它已经成为 Office 办公套件中不可缺少的部件了。自从 1992 年开始销售以来, Access 已经卖出了超过 6000 万份,现在它已经成为世界上最流行的桌面数据库管理系统。后来微软公司通过大量地改进,

31、将 Access 的新版本功能变得更加强大。不管是处理公司的客户订单数据; 管理自己的个人通讯录; 还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。建立一个数据库我们有多种选择,现在市场上有各种各样的数据库, 而且每一种数据库都有其自身的特点, 不能说哪一种更好, 只能在其中寻找一种能更好地适应系统需求、 更好地满足用户的要求以及适应开发人员的习惯。 在本系统中,做为图书仓库管理系统是一个比较小的应用系统, 它所产生和处理的数据量也比较小。 因此,没有必要使用像 SQL Server 和 Oracle 这样的大型数据库。我首先想到的数据库是Borland 公司的Para

32、dox 数据库。另外,Microsoft Office 中的 Access数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了Access数据库。Access做为一个数据库管理系统,它被集成在Microsoft Office 中。Access数据库处理的基本结构, 采取关系型数据库模式。 与其他的数据库系统相比,Access更加简单易学,一个普通的计算机用户可以很快地掌握它。 Access2000 的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与Office 其他组件交流数据,9这些功能对一个一

33、般用户而言已经足够了。4.1 创建工程项目 -material_mis启动 visual c+6.0后,从“ file”菜单中选“ new”命令,然后,单击 “new” 对 话 框中 的 “projects” 选项 卡 , 选择 工程 模 板中 的 “mfcappwizard(exe)” 选 项 , 并 在 “project_name ” 中 输 入 工 程 的 名 称 :material_mis,在 location 中选择保存这个工程的位置: c:vc,其他使用系统提供的默认选项,单击“ OK”按钮,就会进入 mfc appwizard,这个向导一共有 6 步, step1对话框中选中“

34、single document”选项。单击“ next ”按钮,进入 step 2 of6 对话框,这一步要选择需要的数据库,因为涉及到数据库的使用,所以在这里选中“”对话框,确认信息无误后,单击“ok”按钮 , 完成创建 material_mis工程。4.2 创建主窗体菜单完成上面的工作后, 在“ workspace”中选择“ recourceview ”命令, 然后双击 menu文件夹,再双击“ idr_mainframe ”项目, 单击右边窗口中的“文件”菜单,双击“文件”或者敲 enter 键,就会出现“ menuitem properties ” 对话框,在这个对话框中更改菜单项的内

35、容, 更改后的内容如图 2 示,第一级菜单的设置都 和图 3 中的设置方法相同,二级菜单的设置方法如图 3.图 2图 3使用上面所讲述的设置方法,最终创建出如表4 的菜单结构。表 4菜单结构菜单名称id系统10修改密码ID_MAINMENU_CHANGEPWD添加用户ID_MAINMENU_APPENDACCOUNT退出系统ID_APP_EXIT物资基本信息管理添加物资基本信息管理ID_MENU_ADDBASICINFO修改物资基本信息管理ID_MENU_ALTERBASICINFO删除物资基本信息管理ID_MENU_DELBASICINFO查询物资基本信息管理ID_MENU_SEARCHBA

36、SICINFO物资入库信息管理添加物资入库信息ID_MENU_ADDININFO修改物资入库信息ID_MENU_ALTERININFO删除物资入库信息ID_MENU_DELININFO查询物资入库信息ID_MENU_SEARCHININFO物资出库信息管理添加物资出库信息ID_MENU_ADDOUTINFO修改物资出库信息ID_MENU_ALTEROUTINFO删除物资出库信息ID_MENU_DELOUTINFO查询物资出库信息ID_MENU_SEARCHOUTINFO物资余额信息管理查询物资余额信息ID_MENU_SEARCHSURPLUSINFO帮助关于4.3 创建公用模块在这个系统中,频

37、繁地使用到了对数据库的访问,修改等操作,所以把针对数据库的一些公共操作集中起来,可以使代码更加规范和容易维护。在 classview 中,利用鼠标右键单击“ cmaterial_misapp ”项目,选择“ add member variable ”选项,然后依次添加这个工程中要使用到的变量:public:11CString m_sCurrentUser;int m_iLoginCount;_RecordsetPtr m_pADOSet;private:_ConnectionPtrADOConn;定义 ado 数据库连接对象指针选择 add member function添加函数bool AD

38、OExecute(_RecordsetPtr&ADOSet,_variant_&strSQL);最后手工添加一个外部变量的声明:extern Cmaterial_MISApp theApp;在 visual c+ 中进行数据库操作一定要引进 ado 类,所在把下面这段代 码 添 加 到 这 个 工 程 中 的 stdafx. filesSystemadomsado15.dll no_namespace rename(EOF,EndOfFile) rename(LockTypeEnum,newLockTypeEnum)rename(DataTypeEnum,newDataTypeEnum) re

39、name(FieldAttributeEnum,newFieldAttributeEnum)rename(EditModeEnum,newEditModeEnum) rename(RecordStatusEnum,newRecordStatusEnum)rename(ParameterDirectionEnum,newParameterDirectionEnum)在 cmaterial_misapp类的 initistance()函数中添加如下代码:m_iLoginCount = 0;创建 ADO连接对象if( FAILED(:CoInitialize(NULL) )AfxMessageBox

40、(ADO Init failed);return false;tryADOConn.CreateInstance(_uuidof(Connection); ADOConn-Open(_bstr_t(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=+GetCurDir()+ylz.mdb),_bstr_t(),_bstr_t(),adModeUnkn own);捕捉例外catch(_com_error &e)CString err;err.Format(%s, (char*)(e.Description() );12AfxMessageBox(err);c

41、atch(.)AfxMessageBox(Unknown Error.);初始化 ADO记录集添加以上代码后,就完成了打开数据库的工作,同时添加下面的代码,来设置窗口的名称:m_pMainWnd-SetWindowText(_T(物资管理信息系统 );在 函 数 中boolADOExecute(_RecordsetPtr&ADOSet, _variant_t&strSQL) 中添加如下代码:boolCMaterial_MISApp:ADOExecute(_RecordsetPtr&ADOSet,_variant_t &strSQL)if ( ADOSet-State = adStateOpen

42、)ADOSet-Close();tryADOSet-Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);return true;catch(_com_error &e)CString err;err.Format(ADO Error: %s,(char*)e.Description(); AfxMessageBox(err);return false;最后添加关闭数据库连接的函数。选择 ADDVirtual Function 添加一个虚函数,重载系统提供的 ExitInsta

43、nce() 函数,填写代码如下:int CMaterial_MISApp:ExitInstance()TODO:Addyourspecializedcode=ADOConn-State)ADOConn-Close();ADOConn.Release();释放 ADO记录集if(adStateOpen=m_pADOSet-State) m_pADOSet-Close(); m_pADOSet.Release();13return CWinApp:ExitInstance();通过以上的编写,完成了对数据库的基本操作,为下面的工作提供了最基本的功能。第五章系统用户管理模块的创建用户管理模块主要实现

44、:5.1 用户登录该窗口中放置了三个静态文本框(Static)控件,在窗口的相应位置显示文字。放置了 2 个编辑框( Edit),一个供用户输入登录的用户名 ( m_username),另一个供用户输入口令(m_passward),这个编辑框的属性要设成password。输入的值存放在编辑框控件对应的变量中,另外还放置了两个按钮控件( Button)。如图 5 所示。5.2 添加用户为了数据库使用的安全,允许的用户和口令都预先存在数据库中,如果要加入新的用户,必须修改数据库中对应的表。5.3 修改用户密码为了保证数据库的安全, 有时候需要经常修改用户的口令。 本系统可以在应用程序执行过程中修改

45、当前用户的口令。程序清单 :CLoginDLG:CLoginDLG(CWnd* pParent *=NULL*): CDialog(CLoginDLG:IDD, pParent)AFX_DATA_INIT(CLoginDLG)14m_sPWD = _T();m_sUSER = _T(Administrator);AFX_DATA_INITvoid CLoginDLG:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);AFX_DATA_MAP(CLoginDLG)DDX_Text(pDX, IDC_LOGIN_PWD, m

46、_sPWD);DDX_Text(pDX, IDC_LOGIN_USER, m_sUSER);AFX_DATA_MAPBEGIN_MESSAGE_MAP(CLoginDLG , CDialog)AFX_MSG_MAP(CLoginDLG)ON_BN_CLICKED(IDC_LOGIN_CAPTION, OnLoginCaption)AFX_MSG_MAPEND_MESSAGE_MAP()CLoginDLG message ;_variant_t Holder, strQuery;strQuery = select user_ID, user_PWD from user_Info where us

47、er_ID=+m_sUSER+;theApp.ADOExecute(theApp.m_pADOSet, strQuery);int iCount = theApp.m_pADOSet-GetRecordCount();if ( 0=iCount )theApp.m_iLoginCount+;if ( theApp.m_iLoginCount2 )AfxMessageBox(没有这个用户 n 三次输入均不正确, 请核对后再来 , MB_ICONEXCLAMATION);CDialog:OnCancel();return;AfxMessageBox(没 有 这 个 用 户 , 请 重 新 输 入

48、用 户 名 ,MB_ICONEXCLAMATION);return;CString sPWD;theApp.m_pADOSet-MoveFirst();Holder = theApp.m_pADOSet-GetCollect(user_PWD); sPWD = Holder.vt=VT_NULL?:(char*)(_bstr_t)Holder;15if ( 0!=sPWDpare(m_sPWD) )theApp.m_iLoginCount+;if ( theApp.m_iLoginCount2 )AfxMessageBox(输入密码不正确 n 三次输入均不正确, 请核对后再来 , MB_ICONEXCLAMATION);CDialog:OnCancel();return;AfxMessageBox( 输 入 密 码 不 正 确 , 请 重 新 输 入 ,MB_IC

温馨提示

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

评论

0/150

提交评论