《数据库系统原理》课程设计报告-----平面设计公司业务管理系统姓名:学号:指导教师:起始时间:截止时间:1目录概述...................................................................................................................................................2第一章需求分析...........................................................................................................................3§1.1信息要求......................................................................................................................................3第二章结构设计...........................................................................................................................4§2.1概念结构设计..............................................................................................................................4§2.2逻辑结构设计..............................................................................................................................6第三章主要模块设计及代码........................................................................................................7§3.1数据库连接模块..........................................................................................................................7§3.2认证登录模块..............................................................................................................................9§3.3查询显示模块..............................................................................................................................9§3.4添加,修改,删除模块............................................................................................................12第四章总结.................................................................................................................................14第五章参考文献.........................................................................................................................152概述编写目的本报告作为软件使用的重要指南,可以方便用户使用。同时,也是一份重要的技术文档,方便开发人员继续完善各项功能,更新软件。为了更好地管理平面设计公司的各项工作,撰写此文档。项目背景订单管理是每所公司或工厂必须面对的工作,大量的订单管理给企业带来了沉重的负担。传统人手方式管理文件档案,已经无法满足当前业务量的正常需求。这种管理方式存在许多缺点:效率低,保密性差,另外随着进货数量的增加,这必然增加了订单管理者的工作量和劳动强度。同时,将产生大量的文件和数据,这给订单信息的查找,更新和维护都带来了不少困难。管理机制已经不能适应时代发展的需求,其管理方法将浪费人力物力。随着科技的不断提高,计算机科学与技术日渐成熟,这种传统的手工管理模式必然被以计算机为物质基础的信息管理方式所取代。软件定义图形化界面:人性化的界面,方便了员工的使用,对操作员技术要求不高。数据存取:系统地保存数据,可以加快数据处理,提高工作量。可以同时进行多人对数据的操作,保证数据存取不出错。开发环境在WindowsXPSP3操作系统下,使用VisualC++进行开发。数据存取使用SQLServer2000平台。3第一章需求分析§1.1信息要求通过软件,可以查看,添加,保存,修改,删除各种业务信息。如登录账户的信息,员工的信息,客户的信息,订单信息,送货单信息,历史单信息。§1.2处理要求软件要灵活实现各种管理功能间的切换,减少麻烦的操作。对于数据的修改,保证不会出错,确保数据的正确性。在必要的地方,给予一定的提示,以防止误操作导致的数据异常。4图1.1功能模块图§1.3安全性与完整性要求登录安全:采用用户名,密码方式登录系统。不同职工具有的使用权限不同,管理员拥有最高权限。其他员工根据职务需要规定所需权限。完整性要求:对于一些必须的信息,不能留空值。如编号,名称,日期等信息第二章结构设计§2.1概念结构设计各实体E-R图:图2.2账户ID职工编号登录账户用户名密码员工职工编号员工姓名性别月薪职位稿件稿件编号长度宽度规格色数客户名称输出机型页数单价小计稿件名称图2.1图2.35图2.4图2.5图2.6客户客户名称公司地址联系人邮箱传真联系人电话客户编号联系业务员订单订单编号业务员客户名设计员下单日期送货员历史单送货单编号编号送货单编号订单编号送货日期6§2.2逻辑结构设计图2.7实体联系图图2.7数据关系表账户职工历史单客户订单送货单稿件拥有决定制定联系生成生成7第三章主要模块设计及代码§3.1数据库连接模块为连接模块独自建立一个类,方便每次访问数据库时可以调用。类命名为ADOConn。采用ADO技术实现程序与数据库的连接。用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可。直接在Stdafx.h文件中加入下面语句来实现:#importc:\programfiles\commonfiles\system\ado\msado15.dllno_namespacerename(EOF,adoEOF)//实际上两行代码是在同一行显示,由于排版原因,分行显示//以下为ADOConn类里重要成员函数的代码://////////////////////////////////////////////////////////////////////////////函数名称:ADOConn//功能:初始化COM环境/////////////////////////////////////////////////////////////////////////////voidCADOConn::ADOConn(){::CoInitialize(NULL);try{pConn.CreateInstance(ADODB.Connection);//创建Connection对象//设置字符连接字符串,必须是BSTR型或者_bstr_t类型_bstr_tstrConnect=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=DsnCompany;DataSource=BEN-PC;;//连接数据库的代码语句pConn-Open(strConnect,,,adConnectUnspecified);8}catch(_com_errore)//捕捉异常信息{AfxMessageBox(e.ErrorMessage());}}//////////////////////////////////////////////////////////////////////////////名称:OpenRecordset//功能:打开记录集/////////////////////////////////////////////////////////////////////////////_RecordsetPtr&CDataSource::OpenRecordset(CStringsql){ASSERT(!sql.IsEmpty());//判断是否为空集try{pRs.CreateInstance(ADODB.Recordset);//创建Recordset对象pRs-Open(_bstr_t(sql),_variant_t(pConn,true),adOpenStatic,adLockOptimistic,adCmdText);}catch(_com_errore){AfxMessageBox(e.ErrorMessage());}returnpRs;}voidCADOConn::FreeData()//释放空间{if(pConn){pConn-Close();pRs.Release();pConn.Release();CoUninitialize();}}9§3.2认证登录模块voidCGraphicDsnDlg::OnOK()//确定按钮事件{//TODO:AddextravalidationhereUpdateData();CMainMngDlgdlg;CStringsql=select*fromLogUserwhereUserName=+m_strUsername+andPassWord='+m_strPassword+';a.pRs=a.OpenRecordset(sql);//将记录加入到记录集intn=a.pRs-RecordCount;//计算符合条目if(n0){CDialog::OnOK();//登陆成功dlg.DoModal();}else{::AfxMessageBox(用户名或密码不正确!);//登陆失败return;}}§3.3查询显示模块BOOLCTickets::OnInitDialog()//订单管理类初始化函数{CDialog::OnInitDialog();//TODO:Addextrainitializationhere10cn.ADOConn();//连接数据库Display();//设置列表框控件的扩展风格//整行选择/有表格线/表头/单击激活DWORDdwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE;//报表风格/单行选择/高亮显示选择行