数据库课程设计报告销售管理系统

上传人:仙*** 文档编号:253595779 上传时间:2025-03-16 格式:DOC 页数:34 大小:510.50KB
收藏 版权申诉 举报 下载
数据库课程设计报告销售管理系统_第1页
第1页 / 共34页
数据库课程设计报告销售管理系统_第2页
第2页 / 共34页
数据库课程设计报告销售管理系统_第3页
第3页 / 共34页
资源描述:

《数据库课程设计报告销售管理系统》由会员分享,可在线阅读,更多相关《数据库课程设计报告销售管理系统(34页珍藏版)》请在装配图网上搜索。

1、 数据库系统课程设计 目录 第 1 章 前言 ....................................................... 1 1.1 课题背景................................................. 1 1.2 开发工具................................................. 1 1.2.1 SQL Server 2005................................ 2 1.2.2 MFC.........

2、...................................... 2 1.2.3 ADO............................................... 2 第2章 需求分析..................................................... 3 2.1 任务概述.................................................. 3 2.1.1任务目标............................................. 3

3、 2.1.2用户特点............................................. 3 2.2 系统的功能需求 ............................................ 3 2.2.1 系统角色功能需求 ................................... 3 2.2.2 功能模块 ........................................... 3 2.3 系统的性能需求 ............................................ 3

4、2.4 系统的数据需求 ............................................ 4 第 3 章 系统总体设计 ................................................ 5 3.1 系统功能设计 .............................................. 5 3.1.1 各功能模块介绍 ...................................... 5 3.1.2 系统总体模块图 ...................................... 5

5、 第 4 章 数据库设计 ................................................... 6 4.1 数据库概念设计 ............................................ 6 4.2 数据库逻辑设计 ............................................ 7 4.2.1 表汇总 ............................................. 7 4.2.2 表逻辑结构设计 ..................................

6、... 7 第 5 章 详细设计 .................................................... 9 5.1 程序结构的设计 ............................................. 9 5.2 页面设计 ................................................... 10 5.2.1 登录界面 ............................................ 10 5.2.2 管理界面 ..........................

7、...................10 5.2.3 用户管理 .............................................11 5.2.4 客户信息管理 ........................................ 11 5.2.5 商品信息管理 .........................................12 5.2.6 营销信息管理 .........................................12 5.3 编码设计 .............................

8、...................... 13 5.3.1ADO连接 ................................................. 13 5.3.2 更改密码 .............................................. 17 5.3.3 登录…………........................................... 17 5.3.4 客户管理.............................................. 18 5.3.5 商品管理...............

9、........................... …….21 5.3.6 销售管理.......................................... ……..23 第 6 章 结论与展望 .................................................. 31 6.1 结论 ........................................................ 31 6.2 系统不足 .................................................... 31 6.

10、3 感谢........................................... …………………31 参考文献 ........................................................... 31 第1章 前言 1.1 课题背景 随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段。而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到

11、效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。 许多从事商业活动的企业都需要采购商品、销售商品以及将商品暂时存储在仓库中,对这一工作流程进行有效地管理和控制,对这些企业来说是非常重要。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了

12、手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。 由于科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行信息化管理已成为衡量企业管理科学化和现代化的重要标志,而销售管理的全面自动化、信息化则是其中重要的组成部分。销售管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的销售管理系统具有一定的使用价值和现实意义。 一直以来人们使用传统人工的方式进行销售管理,这种管理方式存在着诸多缺点,如:工作量

13、大、效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。鉴于此,本文研究了一种基于关系型数据库的销售管理方案。利用SQL Server2005数据库管理系统灵活性和开发效率高的特点,采用面向对象的VC的方法,开发出销售管理系统。该系统具有手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、信息利用率高、成本低等。该系统能够极大地提高销售管理的效率,优化企业的人力、物力,降低企业的管理成本,为企业销售管理的信息化、正规化奠定了坚实的基础。 1.2 开发工具 本文所采用的开发工具主要是基于数据库系统的SQL Server

14、 2005 和基于面向对象程序设计的VC,主要利用其MFC技术。利用SQL Server 2005创建商场客户表、商品表、商品供应商表、进货表、销售表以及用VC连接数据库用的用户信息表。利用ADO连接的方法访问数据库。利用VC和数据库建立连接之后,利用VC中的控件按钮以及一些程序代码实现一些特定的功能,例如营销信息查询、删除、修改等,极大地提高了销售管理的效率。 1.2.1 SQL Server 2005 SQL Server 2005 是微软公司动用上千人的研发力量,耗费五年时间打造出来 的产品,在企业及数据库产品中具有里程碑的意义。SQL Server 2005 是一个关系 数据库管

15、理系统,是一个全面的数据库平台,其数据库引擎为关系型数据和结构 化数据提供了更安全可靠的存储功能。SQL Server 2005 结合了分析、报表、集 成和通知功能,引进了一套集成的管理工具和管理应用编程接口,以提供易用性、 可管理性及对大型 SQL Server 配置的支持。其新的查询类型和在交易过程中使用 错误处理的功能,为开发人员在 SQL Server 查询开发方面提供了更高的灵活性和 控制力。 SQL Server 可以适合大容量数据的应用,在功能上和管理上都比 Microsoft Access 要强的多。在处理海量数据的效率,后台开发的灵活性,可扩展等方面强 大。在 S

16、QL Server 2005 中还可以使用存储过程,在服务器执行操作时,减少网络 通讯,提高了执行效率,而且保证了数据库的安全。 1.2.2 MFC MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。目前最新版本为9.0(截止2008年11月)。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。   MFC 应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应

17、用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架。   Windows 应用程序中,MFC 的主包含文件为"Afxwin.h"。   此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。 由于它的易用性,初学者常误认为VC++开发必须使用MFC。这种想法是错误的。作为Application Framework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32 程序设计。 1.2.3 ADO 微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的CO

18、M组件。它提供了编程语言和统一数据访问方式OLEDB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。ADO被设计来继承微软早期的数据访问对象层,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。 第 2 章 需求分析 2.1 任务概述 2.1.1 系统目标 销售管理系统是为了提高销售管理效率而开发的。它包括客户信息管理、商品信息管理、营销信息管理等模块,并

19、提供了查询、修改、添加、删除等功能。销售管理系统能简化贸易公司在销售管理方面的复杂性,和减少在管理上的庞大开销。随着计算机行业的飞速发展,人类已经进入了信息时代,社会中的各个单位、部门也陆续开始使用软件化的管理模式,由于它具有方便、准确、快速、灵活的特点,使得在管理上实现了自动化、一体化、多元化的目标。 本课程设计开发了一个销售管理系统,该系统完成了对商品进货、商品销售、供应商信息、客户信息等的添加、修改、删除、查询等功能,迅速准确地完成各种工作,大大提高了企业的管理效率。 2.1.2用户特点 许多从事商业活动的企业都需要采购商品、销售商品以及将商品暂时存储在仓库中,对这一工作流程进行有

20、效地管理和控制,对这些企业来说是非常重要。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。本系统采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。 2.2系统的功能需求 2.2.1 角色功能需求 本系统共包含供应商、商品、客户三中角色: (1)供应商:包括商品供应商和商品的品牌商两种,我们可以通过添加、修改和删除等操作对这两种供应商进行更

21、新; (2)商品:进货和销售功能均以商品为主体,同时可以添加商品的数量; (3)客户:客户可以采购商品,也可以添加客户的数量及信息 2.2.2功能模块 系统包括管理员信息模块、客户信息模块、商品信息模块、营销信息模块(进货和销售管理)、供应商信息模块。 (1)管理员信息模块功能需求:可以添加新的用户及密码,也可以更改当前用户的密码; (2)客户信息模块功能需求:可以添加新客户的各种信息,也可以进行删除、修改和查询; (3)商品信息模块功能需求:能够添加新的商品,也可以对以前的商品信息进行删除、修改和查询; (4)营销信息模块功能需求:包括进货和销售信息,可以对其进行添加、删除、

22、修改和查询; (5)供应商信息模块功能需求:可以添加、删除、修改和查询供应商的信息。 2.3 系统的性能分析 为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求: (1)系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。由于系统的查询功能对于整个系统的功能和性能完成很重要。从系统的多个数据来源来看,学生信息查询、教师信息查询、实验信息 查询、排课结果查询、实验成绩查询,其准确性很大程度上决定了系统的成败。 因此,在系统

23、开发过程中,系统采用优化的 SQL 语句及安全扩展存储过程来保证 系统的准确性和及时性。 (2)系统的开放性和系统的可扩充性 系统在开发过程中,应该充分考虑以后的可扩充性。例如实验信息属性添加、修改,用户查询的需求及管理工作的分级管理等模块也会不断的更新和完善。所 有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点, 应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范, 可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完 成系统的升级和更新换代。 (3)系统的易用性和易维护性 系统是直接面对使用人员的,而有些使用人员往往对计算机并不

24、是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点, 就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现 的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 系统中涉及到的数据是高校实验室相当重要的信息,因此系统为不同角色的 用户提供了方便的管理后台进行数据管理,特别为系统管理员提供了数据备份, 日常安全管理,防止系统意外崩溃等功能。 2.4系统的数据需求 该系统的开发主要任务是实现对销售系统自动化的处理,所以我们初步规划出系统所需要的数据有: 客户的基本信息:公司名称、联系人姓名、地址、城市、地区、邮编、联系电话、传真、主页

25、、备注; 供应商基本信息:公司名称、联系人姓名、地址、城市、地区、邮编、联系电话、传真、主页、备注; 商品的基本信息:商品名称、商品规格、规格单位、商品备注信息; 进货的基本信息:供应商名称、商品名称、商品规格、商品规格单位、数量、单价、进货日期、备注; 销售的基本信息:客户名称、商品名称、产品规格、规格单位、数量、单价、销售日期、折扣、备注。 第 3 章 系统总体设计 3.1 系统功能设计 3.1.1各功能模块介绍 经过分析后确定系统应具备以下功能: (1) 系统管理功能 ① 修改密码:修改正在运行的用户密码; ② 添加用户:添加新的用户,并设置密码。 (2

26、)客户信息管理功能 ① 供应商信息管理:添加、删除、修改或查询供应商信息。 ② 客户信息管理:添加、删除、修改或查询客户信息。 (3) 商品信息管理功能 添加、删除或修改商品信息。 (4) 营销信息管理功能 ① 进货信息管理:添加、修改、查询或删除进货信息。 ② 销售信息管理:添加、删除、修改或查询进货信息。 3.1.2 系统总体模块图 第 4 章 数据库设计 4.1 数据库概念设计 本系统包括的实体有:客户、供应商、商品、管理员,下面是各实体的实体属性介绍: (1) 管理员 描述:销售管理中存储的所有

27、管理员信息(包括所有查询的所需信息) 其中包含属性 用户名:用于标识登陆系统的用户账号,具有唯一性 用户密码:用于对应登陆用户名的密码 (2) 供应商信息supperliers 描述:销售管理中存储的所有供应商信息 其中包含属性 CompanyName:用于标识供应商,具有唯一性 ContactName:用于标识联系人姓名 Address:用于标志供应商公司地址 City:用于标识供应商所在城市 Region:用于标识地区信息 PostalCode:用于标识邮编 Phone:用于标识联系电话 Fax:用于标识传

28、真信息 HomePage:用于标识公司主页 SupplierMemo:用于标识备注信息 (3) 客户信息 customers 描述:销售管理中存储的所有客户信息 其中包含属性 CompanyName:用于标识客户公司,具有唯一性 ContactName:用于标识联系人姓名 Address:用于标志客户公司地址 City:用于标识客户所在城市 Region:用于标识地区信息 PostalCode:用于标识邮编 Phone:用于标识联系电话 Fax:用于标识传真信息 HomePage:用于标识公司主页 SupplierMemo:用于标识备注信息 (4

29、) 商品信息 products 描述:销售管理中存储的所有商品信息 其中包含属性 ProducName:用于标识商品,具有唯一性 Spec:用于标识商品规格 Unit:用于标识商品规格单位 Productmemo:用于标识备注信息 系统总体E-R图: 4.2数据库逻辑设计 4.2.1表汇总 各数据库表的简要说明: 表名 简要说明 Customers 销售管理中存储的所有客户信息 Orders 销售管理中存储的所有商品销售信息 Supplie

30、s 销售管理中存储的所有供应商信息 Sstock 销售管理中存储的所有商品进货信息 Products 销售管理中存储的所有商品信息 User_Info 销售管理中存储的所有管理员信息 4.2.2 表逻辑结构设计 表1 customers表 字段名 数据类型 长度 描述 是否主键 CompanyName varchar 40 客户公司名称 是 ContactName varchar 30 联系人姓名 否 Address varchar 60 联系地址 否 City varchar 15 城市姓

31、名 否 Region varchar 10 地区姓名 否 PostalCode varchar 10 邮政编码 否 Phone varchar 24 联系电话 否 Fax varchar 24 传真 否 Homepage varchar 50 公司主页 否 CustomerMemo text 16 备注信息 否 表2 orders表(销售表) 字段名 数据类型 长度 描述 是否主键 CustomerName varchar 40 客户名称 是 ProducName var

32、char 40 商品名称 是 Spec varchar 20 商品规格 否 Unit varchar 20 商品规格单位 否 Quantity varchar 20 商品数量 否 UnitPrice float 8 商品单价 否 OrderDate datetime 8 销售日期 否 Discount float 8 折扣 否 Ordermemo text 16 备注 否 表3 products表(商品表) 字段名 数据类型 长度 描述 是否主键 ProductN

33、ame varchar 40 商品名称 是 Spec varchar 20 商品规格 否 Unit varchar 20 商品规格单位 否 Productmemo text 16 备注 否 表4 sstock表(进货表) 字段名 数据类型 长度 描述 是否主键 ProviderName varchar 40 商品公司名称 是 ProductName varchar 40 商品名称 是 Spec varchar 20 商品规格 否 Unit varchar 20 商品规

34、格单位 否 Quantity varchar 20 商品数量 否 UnitPrice float 8 商品单价 否 StockDate datetime 8 进货日期 否 Stockmemo text 16 备注 否 表5 suppliers表(供应商表) 字段名 数据类型 长度 描述 是否主键 CompanyName varchar 40 供应商公司名称 是 ContactName varchar 30 联系人姓名 否 Address varchar 60 联系地址 否

35、City varchar 15 城市姓名 否 Region varchar 10 地区姓名 否 PostalCode varchar 10 邮政编码 否 Phone varchar 24 联系电话 否 Fax varchar 24 传真 否 Homepage varchar 50 公司主页 否 SuppplierMemo text 16 备注信息 否 第 5 章 详细设计 5.1 程序结构的设计 数据流图(DFD) 本系统的数据流图如下图所示: 图1 顶级数据流图 图2 添加或删除相关信息数据流

36、图 图3 查询信息数据流图 5.2 页面设计 5.2.1 登录界面 通过用户输入的用户名及密码,获取数据库中此用户名的详细信息,如果不存在,提示用户不存在错误;若密码不匹配,提示输入密码不正确;数据库链接不正常,记录日志;系统获取用户信息后,若用户名密码匹配,根据角色进入不同页面 下面是登录窗口: 5.2.2管理界面 管理员登录后,进入管理界面,可以通过左上面的菜单连接到不同的功能界面,实现不同的功能,此菜单是跟管理模块图对应的。 5.2.3用户管理 用户可以对当前密码进行修改,超级用户可以添加

37、新的用户 5.2.4客户信息管理 销售的客户包括供货商和销售客户,所以客户信息管理对应了二者的添加、删除、修改和查询 5.2.5商品信息管理 商品信息的管理包括对商品的各种标准管理,可以添加新的商品或修改和删除就的商品 5.2.6营销信息管理 营销信息包括进货和销售,二者的添加修改和删除操作很多比较类似 因为进货的商品种类是固定的,所以只有数量和单价及备注是可以填写的,其他均是默认值 5.3编写代码 5.3.1 ADO连接 BOOL CTrade_MISApp::InitInstance() { AfxEnableControlContainer

38、(); // Init Login Count m_iLoginCount = 0; // Create ADO Connection if( FAILED(::CoInitialize(NULL)) ) //初始化COM环境 { AfxMessageBox("ADO Init failed"); return false; } try { ADOConn.CreateInstance(__uuidof(Connection));//创建连接对象实例 ADOConn->Open("DSN=Trade_MIS;Provid

39、er=MSDASQL","sa","", adConnectUnspecified);//ADOConn作为连接对象指针 }//打开数据库 // Catch Exceptions catch(_com_error &e) { CString err; err.Format("%s", (char*)(e.Description()) ); AfxMessageBox(err); } catch(...) { AfxMessageBox("Unknown Error..."); } // Init ADO RecordSet

40、m_pADOSet.CreateInstance(__uuidof(Recordset));//创建记录集对象实例 SetRegistryKey(_T("Local AppWizard-Generated Applications")); LoadStdProfileSettings(); // Load standard INI file options (including MRU) // Register the application's document templates. Document templates // serve as the c

41、onnection between documents, frame windows and views. // Popup Login Dialog CLoginDLG dlg; if ( IDOK!=dlg.DoModal() ) return false; CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CTrade_MISDoc), RUNTIME_CLASS(CMainFrame)

42、, // main SDI frame window RUNTIME_CLASS(CTrade_MISView)); AddDocTemplate(pDocTemplate); m_nCmdShow = SW_SHOWMAXIMIZED;//Max window when show // Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // Dispatch c

43、ommands specified on the command line if (!ProcessShellCommand(cmdInfo)) return FALSE; // The one and only window has been initialized, so show and update it. m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->SetWindowText(_T("销售管理系统")); m_pMainWnd->UpdateWindow(); return TRUE; } //

44、CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual voi

45、d DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) // No message handlers //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_

46、DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } // App command to run the dialog void CTrade_MISApp::OnAppAbout() { CAboutDlg aboutDlg; aboutDlg.DoModal(); } //执行SQL语句的函数如下: bool C

47、Trade_MISApp::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)//ADOSet作为引用,起到指针作用,是记录集对象指针 { if ( ADOSet->State == adStateOpen) ADOSet->Close(); try { ADOSet->Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);//打开记录集 return true;//执行成功返回

48、真值 } catch(_com_error &e) { CString err; err.Format("ADO Error: %s",(char*)e.Description()); AfxMessageBox(err); return false;//捕捉到错误返回假值 } } int CTrade_MISApp::ExitInstance() //断开数据库连接的函数 { // TODO: Add your specialized code here and/or call the base class

49、 // Release ADO RecordSet//释放指针 if(adStateOpen==m_pADOSet->State) m_pADOSet->Close();//关闭记录集 m_pADOSet.Release(); // Release ADO Connection//断开连接 if( adStateOpen == ADOConn->State ) ADOConn->Close();//断开数据库连接 ADOConn.Release(); return CWinApp::ExitInstance(); } 5.3.2 更改密码 v

50、oid CChangePwdDLG::OnOK() { UpdateData(true); // 确保密码输入非空 if ( ""==m_sPWD1 ) { AfxMessageBox(_T("密码不能未空"), MB_ICONEXCLAMATION); return; } //判断两次输入的密码一致 if ( 0!=m_sPWD1.Compare(m_sPWD2) ) { AfxMessageBox(_T("两次输入密码不一样,请确认"), MB_ICONEXCLAMATION); return;

51、 } CDialog::OnOK(); } BOOL CChangePwdDLG::OnInitDialog() { CDialog::OnInitDialog(); ((CEdit*)GetDlgItem(IDD_CHANGEPWD_PWD1))->SetLimitText(10); ((CEdit*)GetDlgItem(IDD_CHANGEPWD_PWD2))->SetLimitText(10); return TRUE; // return TRUE unless you set the focus to a control

52、 // EXCEPTION: OCX Property Pages should return FALSE } 5.3.3 登录 void CLoginDLG::OnOK() { // TODO: Add extra validation here // Check UserName Vadilaty UpdateData(true); m_sUSER.TrimRight(" "); //删除空格 if ( ""==m_sUSER ) {//用户名输入为空 AfxMessageBox(_T("请填写用户名"), MB_ICONEXCLA

53、MATION); return; } _variant_t Holder, strQuery; strQuery = "select user_ID, user_PWD from user_Info where user_ID='"+m_sUSER+"'";//查询用户名和密码 theApp.ADOExecute(theApp.m_pADOSet, strQuery);//执行查询语句,获得记录集 int iCount = theApp.m_pADOSet->GetRecordCount();//获取记录条数 if (iCount==0)

54、 {//若数据库中记录数为0 theApp.m_iLoginCount++;//登录计数 if ( theApp.m_iLoginCount>2 ) {//输入次数为三次 AfxMessageBox("没有这个用户\n三次输入均不正确,请核对后再来", MB_ICONEXCLAMATION); CDialog::OnCancel(); return; } AfxMessageBox("没有这个用户,请重新输入用户名", MB_ICONEXCLAMATION); return; } CString sPWD;

55、 theApp.m_pADOSet->MoveFirst();//指向第一条记录 Holder = theApp.m_pADOSet->GetCollect("user_PWD");//获取记录中user_PWD值 sPWD = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; if ( 0!=sPWD.Compare(m_sPWD) ) {//若sPWD和m_sPWD不相等 theApp.m_iLoginCount++;//登录次数加1 if ( theApp.m_iLoginCount>2 ) {//登录3次

56、 AfxMessageBox("输入密码不正确\n三次输入均不正确,请核对后再来", MB_ICONEXCLAMATION); CDialog::OnCancel(); return; } AfxMessageBox("输入密码不正确,请重新输入", MB_ICONEXCLAMATION); return; } // Get Login User theApp.m_sCurrentUser = m_sUSER; CDialog::OnOK(); } 5.3.4 客户管理 BOOL CCustomerDLG::O

57、nInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here // Set Windows Text if (m_bAppend) SetWindowText(_T("添加客户信息")); else SetWindowText(_T("修改客户信息")); m_sOldCompany = m_sCompany; return TRUE; // return TRUE unless you set the focus to a control

58、 // EXCEPTION: OCX Property Pages should return FALSE } void CCustomerDLG::OnOK() { // TODO: Add extra validation here UpdateData(true); m_sCompany.TrimRight(" "); m_sPerson.TrimRight(" "); m_sAddress.TrimRight(" "); m_sCity.TrimRight(" "); m_sArea.TrimRight

59、(" "); m_sPostCode.TrimRight(" "); m_sPhone.TrimRight(" "); m_sFax.TrimRight(" "); m_sHomePage.TrimRight(" "); // Make sure all needed info is available CString sWarning=""; if ( ""==m_sCompany ) sWarning=_T("公司名称"); else if ( ""==m_sPerson ) sWarning=_T("联系人姓名"); else if ( "

60、"==m_sAddress ) sWarning=_T("联系地址"); else if ( ""==m_sCity ) sWarning=_T("城市名称"); else if ( ""==m_sArea ) sWarning=_T("地区名称"); else if ( ""==m_sPostCode ) sWarning=_T("邮政编码"); else if ( ""==m_sPhone ) sWarning=_T("联系电话"); else if ( ""==m_sFax ) sWarning=_T("传真号码"); else if ( ""==m_sHomeP

61、age ) sWarning=_T("公司主页"); if ( ""!=sWarning ) { sWarning += _T("不能为空"); AfxMessageBox(sWarning, MB_ICONEXCLAMATION); return; } _variant_t strQuery; if ( m_bAppend || m_sCompany!=m_sOldCompany ) { // Judge Customer is unique strQuery = "select * from c

62、ustomers where CompanyName='"+m_sCompany+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0!=iCount ) { AfxMessageBox(_T("已经存在此公司记录!"), MB_ICONEXCLAMATION); return; } } if ( !m_bAppend ) // Not

63、 Append, delete old record first { strQuery = "delete from customers where CompanyName='"+m_sOldCompany+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); } // Insert Record strQuery = "insert customers (CompanyName, ContactName, Address, City, Region, PostalCode, Phone,Fax, Hom

64、ePage, CustomerMemo) \ values ('"+m_sCompany+"', '"+m_sPerson+"', '"+m_sAddress+"', '"+m_sCity+"', '"+m_sArea+"', '"+m_sPostCode+"', '"+m_sPhone+"', '"+m_sFax+"', '"+m_sHomePage+"', '"+m_sMemo+"')"; if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) { if (m_bAppend) {

65、 AfxMessageBox(_T("添加客户信息成功!"), MB_ICONINFORMATION); // Clear all input m_sCompany=m_sPerson=m_sAddress=m_sCity=m_sArea=m_sPostCode=m_sPhone=m_sFax=m_sHomePage=m_sMemo=""; UpdateData(false); } else AfxMessageBox(_T("修改客户信息成功!"), MB_ICONINFORMATION); } el

66、se { if (m_bAppend) AfxMessageBox(_T("添加客户信息失败!"), MB_ICONEXCLAMATION); else AfxMessageBox(_T("修改客户信息失败!"), MB_ICONEXCLAMATION); } strQuery = "select * from customers"; CTrade_MISView* p = (CTrade_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); p->RefreshCustomer(strQuery); if (!m_bAppend) CDialog::OnOK(); } 5.3.5 商品管理 BOOL CProductDLG::OnInitDialog() { CDialog::OnInitDialog(); //设置对话框标题,m_bAppend设为true表示添加,false表示修改 if (m_bAppend) SetWindowText

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!