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

下载本文档

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

文档简介

1、数据库课程设计报告书计算机学院06级一、概述1、项目背景:数据库原理课程设计2、编写目的:掌握数据库设计原理及相关软件的使用3、软件定义:公司贸易管理系统4、开发环境:WINXP-SP2, Microsoft SQL Server2000, Microsoft Visual C+ 6.0二、需求分析1、问题的提出:企业对外的信息管理,即贸易管理,属于“开源”的手段,对于一个成熟的企业来说,不但要做到节流,更要做到开源,这才是发展的根本。开发一个良好的贸易管理系统,能充分体现公司在贸易活动整个过程中的关键流程。要求除了拥有基本的“用户管理”之外,对供货商、合同方以及自身的要求都提供友好的设定界面

2、,并且依据历史信息提供方便的查询功能。要求应用该系统可以有效地提高贸易活动的效率,减少成本,积累经验,让企业的管理工作更加快捷和精确。2、 需完成的功能:(1) 进入系统前需要身份验证,待用户名、密码,输入正确后方可进入。(2) 用户可以定义及编辑自身产品信息。(3) 用户可以定义及编辑供货商信息。(4) 用户可以定义及编辑销售商信息。(5) 用户可以定义及编辑顾客信息。三、数据表:通过对系统功能的分析,客户关系管理系统需要包含以下数据库信息。(1) 用户信息:包括用户ID和密码。(2) 顾客信息:因为本系统为企业级的管理系统,它对应的顾客都是公司,所以这里的信息包括公司名称、联系人姓名、地址

3、、城市、地区、邮政编码、电话号码、传真号、公司主页和备忘录。(3) 供应商信息:因为本系统为企业级的管理系统,它对应的供应商都是公司,所以这里的信息包括公司名称、联系人姓名、地址、城市、地区、邮政编码、电话号码、传真号、公司主页和备忘录。(4) 产品信息:包括的内容有产品名称、产品规格、计量单位及产品备注。(5) 销售订单:包括的内容是顾客姓名、产品名称、产品规格、计量单位、数量、单价、订单日期、折扣、订单备注等。(6) 进货信息:涵盖的内容包括供货商姓名、产品名称、产品规格、计量单位、数量、单价、日期及备注。具体数据表如下所示:(1) 用户信息表用户信息表(user_info)包含了系统中用

4、户的信息,包括用户名、密码和用户描述3部分,其结构如表9-1所示。表9-1 用户信息表字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明User_IDVARCHAR(15)NOT NULL主键成员IDUser_PWDVARCHAR(10)NULL无用户密码User_DesVARCHAR(10)NULL无用户描述(2) 顾客信息表顾客信息表(customers)包含了公司活动中所有商品购买者的信息,其结构如表9-2所示。表9-2 顾客信息表字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明IDIntNOT NULL主键顾客IDCompanyNameVARCHAR(40)N

5、OT NULL主键客户公司名称ContactNameVARCHAR(30)NULL无客户联系人AddressVARCHAR(60)NULL无客户地址CityVARCHAR(15)NULL无客户所在城市RegionVARCHAR(15)NULL无客户所在地区PostalCodeVARCHAR(10)NULL无邮政编码PhoneVARCHAR(24)NULL无电话号码FaxVARCHAR(20)NULL无传真号码HomepageVARCHAR(50)NULL无公司主页CustomerMemoVARCHAR(16)NULL无顾客备注(3) 供货商信息表供货商信息表(supplier)包含了公司活动中

6、所有供货商的信息,其结构如表9-3所示。表9-3 供货商信息表字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明IDintNOT NULL主键顾客IDCompanyNameVARCHAR(40)NOT NULL主键供货商公司名称ContactNameVARCHAR(30)NULL无供货商联系人AddressVARCHAR(60)NULL无供货商地址CityVARCHAR(15)NULL无供货商所在城市(续表) 字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明RegionVARCHAR(15)NULL无供货商所在地区PostalCodeVARCHAR(10)NULL无邮

7、政编码PhoneVARCHAR(24)NULL无电话号码FaxVARCHAR(20)NULL无传真号码HomepageVARCHAR(50)NULL无公司主页SupplierMemoVARCHAR(16)NULL无供货商备注(4) 产品信息表产品信息表(product)存储了公司所有代理产品的基本信息,其结构如表9-4所示。表9-4 用户信息表字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明ProductNameVARCHAR(40)NOT NULL主键产品名称SpecVARCHAR(20)NULL无产品规格unitVARCHAR(20)NULL无计量单位Productmemot

8、ext(160)NULL无产品备注(5) 销售订单信息表销售订单信息表(order)存储了公司和客户之间的销售记录,是公司业务数字化的产物,其结构如表9-5所示。表9-5 销售订单信息表字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明IDintNOT NULL主键订单IDCustomerNameVARCHAR(40)NOT NULL主键客户公司名称ProductNameVARCHAR(40)NOT NULL主键产品名称SpecVARCHAR(20)NULL无产品规格UnitVARCHAR(20)NULL无计量单位QuantityVARCHAR(20)NULL无销售数量UnitPr

9、iceFLOATNULL无产品单价OrderDateDATETIMENULL无订单日期DiscountFLOATNULL无折扣OrdermemoTEXT(160)NULL无订单备注(6) 进货信息表进货信息表(sstock)存储了公司关于产品买入的交易信息,可以作为公司库存的凭证,其结构如表9-6所示。表9-6 进货信息表字 段 名 称数 据 类 型可 否 为 空约 束 条 件说 明IDintNOT NULL主键进货信息IDProviderNameVARCHAR(40)NOT NULL主键供货商公司名称ProductNameVARCHAR(40)NOT NULL主键产品名称SpecVARCHA

10、R(20)NULL无产品规格UnitVARCHAR(20)NULL无计量单位QuantityVARCHAR(20)NULL无销售数量UnitPriceFLOATNULL无产品单价OrderDateDATETIMENULL无进货日期OrdermemoTEXT(160)NULL无订单备注四、数据库代码:-创建表customersCREATE TABLE dbo.customers (CompanyName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,ContactName varchar (30) COLLATE Chinese_PRC_CI_

11、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 Chin

12、ese_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 PRIMARYGO-创建表ordersCREATE TABLE dbo.orders (CustomerName varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,ProductName

13、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 Chines

14、e_PRC_CI_AS NULL ,ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYGO-创建表productsCREATE 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 tex

15、t COLLATE Chinese_PRC_CI_AS NULL ,ID int IDENTITY (1, 1) NOT NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYGO-创建表sstockCREATE 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_

16、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 PRIMARYGO-创建表suppliersCREATE TABLE

17、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 v

18、archar (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 TEXTIMAG

19、E_ON PRIMARYGO-创建表user_infoCREATE 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 PRIMARYGO-初始化系统用户INSERT user_Info (user_ID, user_PWD) VALUES (admin,admin)GO

20、五、建立数据库的详细过程记录请按照下面的步骤来建立数据库,否则可能会出现程序无法连接数据库的情况。1、 创建新用户。控制面板-管理工具-计算机管理,点左边的“本地用户和组”,创建一个新的用户dbaccess,密码是sa(创建该用户主要是方便本程序的测试,可以不用修改代码,并可以按照后续的步骤来正常测试程序,如果不想建立新用户,可以直接修改Trade_MIS.cpp的代码,相关代码是:ADOConn-Open(DSN=Trade;Provider=MSDASQL,dbaccess,sa, adConnectUnspecified);),如下图所示:2、 赋予该用户管理员的权限。右键点dbacce

21、ss,选“属性”,“隶属于”,点左下角的“添加”,在弹出的“选择组”的窗口中,点左下角的“高级”,在弹出的窗口中点“立即查找”,选中“Adminstrators”,点“确定”,如下图所示:退回上级窗口后,点“确定”。如下图所示:点“确定”退出对话框。3、 创建数据库。打开MS SQL Server2000的“企业管理器”,创建一个名为“trade”的数据库。如下图所示:然后点“工具”-“SQL Server属性配置”,身份验证一栏选择“SQL Server和windows”,如下图所示:4、 授予dbaccess权限。点trade数据库的“用户”,添加新的用户,并授予相应的权限,如下所示:5、

22、 打开SQL Server 2000的“查询分析器”,复制上面第四部分的“数据库代码”到查询代码框(注意数据库要选“trade”),如下图所示:6、 创建数据源。打开“控制面板”-“管理工具”-运行“数据源 (ODBC)”,点“添加”,在弹出的窗口中拖动滚动条到最下面,选择“SQL Server”,点“完成”,弹出新窗口。填写相关的信息,如下图所示:7、 至些,数据库的相关操作已完成,下面就要开始程序的编写了。六、系统的功能分析1、系统的功能模块:根据上面的功能要求,列出功能模块:(1) 用户管理:是系统的重要组成部分,在这个系统中,该部分主要包含了登录验证、 修改密码和添加用户3个功能。(2

23、) 供应商信息管理:即供应商信息的添加、删除、修改、查询,其中供应商信息包括的内容有公司名称、联系人姓名、联系地址、城市名称、地区名称、邮政编码、联系电话、传真号码、公司主页。(3) 顾客信息管理:即顾客信息的添加、删除、修改、查询,具体内容与供应商信息类似,这里不再复述。(4) 进货信息管理:即进货信息的添加、删除、修改、查询,包括的内容有进货活动的数量、单价、日期以及备注信息。(5) 销售信息管理:与进货信息类似,不同的是在销售信息里有折扣这一选项。(6) 产品信息管理:包括产品信息的添加、设定和删除,其内容主要有名称、规格、计量单位等信息。划分出如下图所示的功能模块图:2、系统的使用流程

24、图: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方式,这种方式连接数据库需要两个步骤,

25、首先要产生一个ADOConn的实例,然后通过这个实例来打开具体的数据源。代码如下:B BOOL CTrade_MISApp:InitInstance()AfxEnableControlContainer();/ 初始化登录数量m_iLoginCount = 0;/ 创建ADO连接if( FAILED(:CoInitialize(NULL) ) AfxMessageBox(ADO Init failed);return false;tryADOConn.CreateInstance(_uuidof(Connection);ADOConn-Open(DSN=Trade;Provider=MSDAS

26、QL,dbaccess,sa, adConnectUnspecified);/ 异常处理catch(_com_error &e)CString err;err.Format(%s, (char*)(e.Description() );AfxMessageBox(err);catch(.)AfxMessageBox(Unknown Error.);/ 初始化 ADO RecordSetm_pADOSet.CreateInstance(_uuidof(Recordset);SetRegistryKey(_T(Local AppWizard-Generated Applications);LoadS

27、tdProfileSettings(); / 读入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)return FALSE;/ 唯一的窗口初始化,并显示m_pMainWnd-ShowWindow(SW_SHOW);m_pMainWnd-SetWindowT

温馨提示

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

评论

0/150

提交评论