公司贸易管理系统设计与实现_第1页
公司贸易管理系统设计与实现_第2页
公司贸易管理系统设计与实现_第3页
公司贸易管理系统设计与实现_第4页
公司贸易管理系统设计与实现_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

数据库课程设计报告书 计算机学院 06 级 一、概述 1、项目背景:数据库原理课程设计 2、编写目的:掌握数据库设计原理及相关软件的使用 3、软件定义:公司贸易管理系统 4、开发环境:WINXP-SP2, Microsoft SQL Server2000, Microsoft Visual C+ 6.0 二、需求分析 1、问题的提出:企业对外的信息管理,即贸易管理,属于“开源”的手段,对于一个 成熟的企业来说,不但要做到节流,更要做到开源,这才是发展的根本。开发一个良好的 贸易管理系统,能充分体现公司在贸易活动整个过程中的关键流程。要求除了拥有基本的 “用户管理”之外,对供货商、合同方以及自身的要求都提供友好的设定界面,并且依据 历史信息提供方便的查询功能。要求应用该系统可以有效地提高贸易活动的效率,减少成 本,积累经验,让企业的管理工作更加快捷和精确。 2、 需完成的功能: (1) 进入系统前需要身份验证,待用户名、密码,输入正确后方可进入。 (2) 用户可以定义及编辑自身产品信息。 (3) 用户可以定义及编辑供货商信息。 (4) 用户可以定义及编辑销售商信息。 (5) 用户可以定义及编辑顾客信息。 三、数据表: 通过对系统功能的分析,客户关系管理系统需要包含以下数据库信息。 (1) 用户信息:包括用户 ID 和密码。 (2) 顾客信息:因为本系统为企业级的管理系统,它对应的顾客都是公司,所以这里的 信息包括公司名称、联系人姓名、地址、城市、地区、邮政编码、电话号码、传真号、 公司主页和备忘录。 (3) 供应商信息:因为本系统为企业级的管理系统,它对应的供应商都是公司,所以这 里的信息包括公司名称、联系人姓名、地址、城市、地区、邮政编码、电话号码、传 真号、公司主页和备忘录。 (4) 产品信息:包括的内容有产品名称、产品规格、计量单位及产品备注。 (5) 销售订单:包括的内容是顾客姓名、产品名称、产品规格、计量单位、数量、单价、 订单日期、折扣、订单备注等。 (6) 进货信息:涵盖的内容包括供货商姓名、产品名称、产品规格、计量单位、数量、 单价、日期及备注。 具体数据表如下所示: (1) 用户信息表 用户信息表(user_info)包含了系统中用户的信息,包括用户名、密码和用户描述 3 部分,其 结构如表 9-1 所示。 表 9-1 用户信息表 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 User_ID VARCHAR(15) NOT NULL 主键 成员 ID User_PWD VARCHAR(10) NULL 无 用户密码 User_Des VARCHAR(10) NULL 无 用户描述 (2) 顾客信息表 顾 客 信 息 表 (customers)包 含 了 公 司 活 动 中 所 有 商 品 购 买 者 的 信 息 , 其 结 构 如 表 9-2 所 示 。 表 9-2 顾客信息表 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 ID Int NOT NULL 主键 顾客 ID CompanyName VARCHAR(40) NOT NULL 主键 客户公司名称 ContactName VARCHAR(30) NULL 无 客户联系人 Address VARCHAR(60) NULL 无 客户地址 City VARCHAR(15) NULL 无 客户所在城市 Region VARCHAR(15) NULL 无 客户所在地区 PostalCode VARCHAR(10) NULL 无 邮政编码 Phone VARCHAR(24) NULL 无 电话号码 Fax VARCHAR(20) NULL 无 传真号码 Homepage VARCHAR(50) NULL 无 公司主页 CustomerMemo VARCHAR(16) NULL 无 顾客备注 (3) 供货商信息表 供货商信息表(supplier)包含了公司活动中所有供货商的信息,其结构如表 9-3 所示。 表 9-3 供货商信息表 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 ID int NOT NULL 主键 顾客 ID CompanyName VARCHAR(40) NOT NULL 主键 供货商公司名称 ContactName VARCHAR(30) NULL 无 供货商联系人 Address VARCHAR(60) NULL 无 供货商地址 City VARCHAR(15) NULL 无 供货商所在城市 (续表) 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 Region VARCHAR(15) NULL 无 供货商所在地区 PostalCode VARCHAR(10) NULL 无 邮政编码 Phone VARCHAR(24) NULL 无 电话号码 Fax VARCHAR(20) NULL 无 传真号码 Homepage VARCHAR(50) NULL 无 公司主页 SupplierMemo VARCHAR(16) NULL 无 供货商备注 (4) 产品信息表 产品信息表(product)存储了公司所有代理产品的基本信息,其结构如表 9-4 所示。 表 9-4 用户信息表 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 ProductName VARCHAR(40) NOT NULL 主键 产品名称 Spec VARCHAR(20) NULL 无 产品规格 unit VARCHAR(20) NULL 无 计量单位 Productmemo text(160) NULL 无 产品备注 (5) 销售订单信息表 销售订单信息表(order)存储了公司和客户之间的销售记录,是公司业务数字化的产物,其 结构如表 9-5 所示。 表 9-5 销售订单信息表 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 ID int NOT NULL 主键 订单 ID CustomerName VARCHAR(40) NOT NULL 主键 客户公司名称 ProductName VARCHAR(40) NOT NULL 主键 产品名称 Spec VARCHAR(20) NULL 无 产品规格 Unit VARCHAR(20) NULL 无 计量单位 Quantity VARCHAR(20) NULL 无 销售数量 UnitPrice FLOAT NULL 无 产品单价 OrderDate DATETIME NULL 无 订单日期 Discount FLOAT NULL 无 折扣 Ordermemo TEXT(160) NULL 无 订单备注 (6) 进货信息表 进货信息表(sstock)存储了公司关于产品买入的交易信息,可以作为公司库存的凭证,其结 构如表 9-6 所示。 表 9-6 进货信息表 字 段 名 称 数 据 类 型 可 否 为 空 约 束 条 件 说 明 ID int NOT NULL 主键 进货信息 ID ProviderName VARCHAR(40) NOT NULL 主键 供货商公司名称 ProductName VARCHAR(40) NOT NULL 主键 产品名称 Spec VARCHAR(20) NULL 无 产品规格 Unit VARCHAR(20) NULL 无 计量单位 Quantity VARCHAR(20) NULL 无 销售数量 UnitPrice FLOAT NULL 无 产品单价 OrderDate DATETIME NULL 无 进货日期 Ordermemo TEXT(160) NULL 无 订单备注 四、数据库代码: -创建表 customers CREATE TABLE dbo.customers ( CompanyName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , ContactName varchar (30) COLLATE Chinese_PRC_CI_AS NULL , Address varchar (60) COLLATE Chinese_PRC_CI_AS NULL , City varchar (15) COLLATE Chinese_PRC_CI_AS NULL , Region varchar (15) COLLATE Chinese_PRC_CI_AS NULL , PostalCode varchar (10) COLLATE Chinese_PRC_CI_AS NULL , Phone varchar (24) COLLATE Chinese_PRC_CI_AS NULL , Fax varchar (24) COLLATE Chinese_PRC_CI_AS NULL , Homepage varchar (50) COLLATE Chinese_PRC_CI_AS NULL , CustomerMemo text COLLATE Chinese_PRC_CI_AS NULL , ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY GO -创建表 orders CREATE TABLE dbo.orders ( CustomerName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , ProductName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , Spec varchar (20) COLLATE Chinese_PRC_CI_AS NULL , Unit varchar (20) COLLATE Chinese_PRC_CI_AS NULL , Quantity varchar (20) COLLATE Chinese_PRC_CI_AS NULL , UnitPrice float NULL , OrderDate datetime NULL , Discount float NULL , Ordermemo text COLLATE Chinese_PRC_CI_AS NULL , ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY GO -创建表 products CREATE TABLE ducts ( ProductName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , Spec varchar (20) COLLATE Chinese_PRC_CI_AS NULL , Unit varchar (20) COLLATE Chinese_PRC_CI_AS NULL , Productmemo text COLLATE Chinese_PRC_CI_AS NULL , ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY GO -创建表 sstock CREATE TABLE dbo.sstock ( ProviderName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , ProductName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , Spec varchar (20) COLLATE Chinese_PRC_CI_AS NULL , Unit varchar (20) COLLATE Chinese_PRC_CI_AS NULL , Quantity varchar (20) COLLATE Chinese_PRC_CI_AS NULL , UnitPrice float NULL , OrderDate datetime NULL , Ordermemo text COLLATE Chinese_PRC_CI_AS NULL , ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY GO -创建表 suppliers CREATE TABLE dbo.suppliers ( CompanyName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL , ContactName varchar (30) COLLATE Chinese_PRC_CI_AS NULL , Address varchar (60) COLLATE Chinese_PRC_CI_AS NULL , City varchar (15) COLLATE Chinese_PRC_CI_AS NULL , Region varchar (15) COLLATE Chinese_PRC_CI_AS NULL , PostalCode varchar (6) COLLATE Chinese_PRC_CI_AS NULL , Phone varchar (24) COLLATE Chinese_PRC_CI_AS NULL , Fax varchar (24) COLLATE Chinese_PRC_CI_AS NULL , HomePage varchar (50) COLLATE Chinese_PRC_CI_AS NULL , SupplierMemo text COLLATE Chinese_PRC_CI_AS NULL , ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY GO -创建表 user_info CREATE TABLE dbo.user_Info ( user_ID varchar (15) COLLATE Chinese_PRC_CI_AS NOT NULL , user_PWD varchar (10) COLLATE Chinese_PRC_CI_AS NULL , user_Des varchar (10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY GO -初始化系统用户 INSERT user_Info (user_ID, user_PWD) VALUES (admin,admin) GO 五、建立数据库的详细过程记录 请 按 照 下 面 的 步 骤 来 建 立 数 据 库 , 否 则 可 能 会 出 现 程 序 无 法 连 接 数 据 库 的 情 况 。 1、 创 建 新 用 户 。 控 制 面 板 -管 理 工 具 -计 算 机 管 理 , 点 左 边 的 “本 地 用 户 和 组 ”, 创 建 一 个 新 的 用 户 dbaccess,密 码 是 sa( 创 建 该 用 户 主 要 是 方 便 本 程 序 的 测 试 , 可 以 不 用 修 改 代 码 , 并 可 以 按 照 后 续 的 步 骤 来 正 常 测 试 程 序 , 如 果 不 想 建 立 新 用 户 , 可 以 直 接 修 改 Trade_MIS.cpp 的 代 码 , 相 关 代 码 是 : ADOConn- Open(“DSN=Trade;Provider=MSDASQL“,“dbaccess“,“sa“, adConnectUnspecified);) , 如 下 图 所 示 : 2、 赋予该用户管理员的权限。右键点 dbaccess,选“属性” , “隶属于” ,点左下角的“添 加” ,在弹出的“选择组”的窗口中,点左下角的“高级” ,在弹出的窗口中点“立即 查找” ,选中“Adminstrators” ,点“确定” ,如下图所示: 退回上级窗口后,点“确定” 。如下图所示: 点“确定”退出对话框。 3、 创建数据库。打开 MS SQL Server2000 的“企业管理器” ,创建一个名为“trade”的数 据库。如下图所示: 然后点“工具”-“SQL Server 属性配置” ,身份验证一栏选择 “SQL Server 和 windows”,如下图所示: 4、 授予 dbaccess 权限。点 trade 数据库的“用户” ,添加新的用户,并授予相应的权限, 如下所示: 5、 打开 SQL Server 2000 的“查询分析器” ,复制上面第四部分的“数据库代码”到查询 代码框(注意数据库要选“trade” ) ,如下图所示: 6、 创建数据源。打开“控制面板”-“管理工具”-运行“数据源 (ODBC)”,点“添加” ,在弹出的窗口中拖动滚动条到最下面,选择“SQL Server”,点“完成” ,弹出新窗 口。填写相关的信息,如下图所示: 7、 至些,数据库的相关操作已完成,下面就要开始程序的编写了。 六、系统的功能分析 1、系统的功能模块: 根据上面的功能要求,列出功能模块: (1) 用户管理:是系统的重要组成部分,在这个系统中,该部分主要包含了登录验证、 修改密码和添加用户 3 个功能。 (2) 供应商信息管理:即供应商信息的添加、删除、修改、查询,其中供应商信息包括 的内容有公司名称、联系人姓名、联系地址、城市名称、地区名称、邮政编码、联 系电话、传真号码、公司主页。 (3) 顾客信息管理:即顾客信息的添加、删除、修改、查询,具体内容与供应商信息类 似,这里不再复述。 (4) 进货信息管理:即进货信息的添加、删除、修改、查询,包括的内容有进货活动的 数量、单价、日期以及备注信息。 (5) 销售信息管理:与进货信息类似,不同的是在销售信息里有折扣这一选项。 (6) 产品信息管理:包括产品信息的添加、设定和删除,其内容主要有名称、规格、计 量单位等信息。 划分出如下图所示的功能模块图: 贸 易 管 理 系 统 客 户 信 息 管 理 进 货 商 管 理 添 加 进 货 商 删 除 进 货 商 修 改 进 货 商 查 询 进 货 商 顾 客 管 理 添 加 新 顾 客 删 除 顾 客 信 息 修 改 顾 客 信 息 查 询 顾 客 信 息 营 销 信 息 管 理 进 货 信 息 管 理 添 加 进 货 信 息 删 除 进 货 信 息 修 改 进 货 信 息 查 询 进 货 信 息 销 售 信 息 管 理 添 加 销 售 信 息 删 除 销 售 信 息 修 改 销 售 信 息 查 询 销 售 信 息 系 统 用 户 管 理 编 辑 用 户 登 录 验 证 产 品 信 息 管 理 添 加 产 品 信 息 修 改 产 品 信 息 删 除 产 品 信 息 2、系统的使用流程图: 登 录 成 功 客 户 信 息 管 理 用 户 验 证 登 录 界 面 产 品 信 息 管 理 统 计 查 询 退 出 系 统 营 销 信 息 管 理 登录失败 7、程序设计及其代码 运行 Visual C+ 6.0,选择“File”|“new”命令,打开“new”对话框,从“Projects ”列 表中选择 MFC AppWizard(exe)向导,在“Location”文本框中选择项目工程的目录 E:Trade_MIS ,在“Project name”文本框中输入工程文件的名称 Trade_MIS,如下图所示: 点击“Data Source”,选择数据源。如下图所示: 退回原窗口后点“finish”就行了。 可以双击更改属性及变量名,最终改为: 修改 Trade_MIS.cpp,加上数据库连接的相关代码。连接数据库时采用 ADO 方式,这种方 式连接数据库需要两个步骤,首先要产生一个 ADOConn 的实例,然后通过这个实例来打 开具体的数据源。代码如下: B BOOL CTrade_MISApp:InitInstance() AfxEnableControlContainer(); / 初始化登录数量 m_iLoginCount = 0; / 创建 ADO 连接 if( FAILED(:CoInitialize(NULL) ) AfxMessageBox(“ADO Init failed“); return false; try ADOConn.CreateInstance(_uuidof(Connection); ADOConn-Open(“DSN=Trade;Provider=MSDASQL“,“dbaccess“,“sa“, adConnectUnspecified); / 异常处理 catch(_com_error err.Format(“%s“, (char*)(e.Description() ); AfxMessageBox(err); catch(.) AfxMessageBox(“Unknown Error.“); / 初始化 ADO RecordSet m_pADOSet.CreateInstance(_uuidof(Recordset); SetRegistryKey(_T(“Local AppWizard-Generated Applications“); LoadStdProfileSettings(); / 读入 INI 配置文件 / 弹出登录对话窗 CLoginDLG dlg; if ( IDOK!=dlg.DoModal() ) return false; CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CTrade_MISDoc), RUNTIME_CLASS(CMainFrame), / 主窗口框架 RUNTIME_CLASS(CTrade_MISView); AddDocTemplate(pDocTemplate); m_nCmdShow = SW_SHOWMAXIMIZED;/最大的窗口尺寸 / 传入命令行参数 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); / 处理命令行参数 if (!ProcessShellCommand(cmdInfo) retur

温馨提示

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

评论

0/150

提交评论