平面设计公司业务管理及数据库系统课程_第1页
平面设计公司业务管理及数据库系统课程_第2页
平面设计公司业务管理及数据库系统课程_第3页
平面设计公司业务管理及数据库系统课程_第4页
平面设计公司业务管理及数据库系统课程_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、32/33数据库系统原理课程设计报告平面设计公司业务治理系统姓 名: 学 号: 指导教师: 起始时刻: 截止时刻: 目录 TOC h z u t 标题 1,2,标题 2,1 HYPERLINK l _Toc262753211概述 PAGEREF _Toc262753211 h 2HYPERLINK l _Toc262753212第一章需求分析 PAGEREF _Toc262753212 h 3HYPERLINK l _Toc2627532131.1信息要求 PAGEREF _Toc262753213 h 3HYPERLINK l _Toc262753214第二章结构设计 PAGEREF _To

2、c262753214 h 4HYPERLINK l _Toc2627532152.1概念结构设计 PAGEREF _Toc262753215 h 4HYPERLINK l _Toc2627532162.2逻辑结构设计 PAGEREF _Toc262753216 h 6HYPERLINK l _Toc262753217第三章要紧模块设计及代码 PAGEREF _Toc262753217 h 7HYPERLINK l _Toc2627532183.1数据库连接模块 PAGEREF _Toc262753218 h 7HYPERLINK l _Toc2627532193.2认证登录模块 PAGEREF

3、 _Toc262753219 h 9HYPERLINK l _Toc2627532203.3查询显示模块 PAGEREF _Toc262753220 h 9HYPERLINK l _Toc2627532213.4添加,修改,删除模块 PAGEREF _Toc262753221 h 12HYPERLINK l _Toc262753222第四章总结 PAGEREF _Toc262753222 h 14HYPERLINK l _Toc262753223第五章参考文献 PAGEREF _Toc262753223 h 15 概述 编写目的 本报告作为软件使用的重要指南,能够方便用户使用。同时,也是一份重

4、要的技术文档,方便开发人员接着完善各项功能,更新软件。为了更好地治理平面设计公司的各项工作,撰写此文档。项目背景订单治理是每所公司或工厂必须面对的工作,大量的订单治理给企业带来了沉重的负担。传统人手方式治理文件档案,差不多无法满足当前业务量的正常需求。这种治理方式存在许多缺点:效率低,保密性差,另外随着进货数量的增加,这必定增加了订单治理者的工作量和劳动强度。同时,将产生大量的文件和数据,这给订单信息的查找,更新和维护都带来了许多困难。治理机制差不多不能适应时代进展的需求,其治理方法将白费人力物力。随着科技的不断提高,计算机科学与技术日渐成熟,这种传统的手工治理模式必定被以计算机为物质基础的信

5、息治理方式所取代。软件定义图形化界面:人性化的界面,方便了职员的使用,对操作员技术要求不高。数据存取:系统地保存数据,能够加快数据处理,提高工作量。能够同时进行多人对数据的操作,保证数据存取不出错。开发环境在Windows XP SP3 操作系统下,使用Visual C+进行开发。数据存取使用SQL Server 2000平台。需求分析1.1信息要求通过软件,能够查看,添加,保存,修改,删除各种业务信息。如登录账户的信息,职员的信息,客户的信息,订单信息,送货单信息,历史单信息。1.2处理要求软件要灵活实现各种治理功能间的切换,减少苦恼的操作。关于数据的修改,保证可不能出错,确保数据的正确性。

6、在必要的地点,给予一定的提示,以防止误操作导致的数据异常。图 1.1 功能模块图1.3安全性与完整性要求登录安全:采纳用户名,密码方式登录系统。不同职工具有的使用权限不同,治理员拥有最高权限。其他职员依照职务需要规定所需权限。完整性要求:关于一些必须的信息,不能留空值。如编号,名称,日期等信息结构设计2.1概念结构设计账户ID职工编号账户ID职工编号登录账户用户名密码职员职工编号职员姓名性不月薪职位图2.3稿件稿件编号长度宽度图2.3稿件稿件编号长度宽度规格色数客户名称输出机型页数单价小计稿件名称图2.1历史单历史单送货单编号编号送货单编号订单编号送货日期图 2.4客户客户客户名称公司地址联系

7、人邮箱传真联系人电话客户编号联系业务员图 2.5订单订单订单编号业务员客户名设计员下单日期送货员图 2.6账户职工历史单客户订单送货单稿件拥有决定制定账户职工历史单客户订单送货单稿件拥有决定制定联系生成生成图2.7 实体联系图图2.7 数据关系表要紧模块设计及代码3.1数据库连接模块为连接模块独自建立一个类,方便每次访问数据库时能够调用。类命名为ADOConn。采纳ADO技术实现程序与数据库的连接。用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库能够作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源

8、中,只需要直接用#import引用它既可。直接在Stdafx.h文件中加入下面语句来实现: #import c:programfilescommonfilessystemadomsado15.dll no_namespace rename (EOF, adoEOF) /实际上两行代码是在同一行显示,由于排版缘故,分行显示/以下为ADOConn类里重要成员函数的代码:/函数名称:ADOConn/功能:初始化COM环境 /void C ADOConn:ADOConn():CoInitialize(NULL); trypConn.CreateInstance(ADODB.Connection); /

9、 创建Connection对象/设置字符连接字符串,必须是BSTR型或者_bstr_t类型_bstr_t strConnect=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=DsnCompany;Data Source=BEN-PC;/连接数据库的代码语句pConn-Open(strConnect,adConnectUnspecified);catch(_com_error e) /捕捉异常信息AfxMessageBox(e.ErrorMes

10、sage();/名称:OpenRecordset/功能:打开记录集/_RecordsetPtr& CDataSource:OpenRecordset(CString sql)ASSERT(!sql.IsEmpty();/推断是否为空集trypRs.CreateInstance(ADODB.Recordset); / 创建Recordset对象pRs-Open(_bstr_t(sql),_variant_t(pConn,true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_error e)AfxMessageBox(e.ErrorMe

11、ssage();return pRs;void CADOConn:FreeData()/释放空间if(pConn)pConn-Close();pRs.Release();pConn.Release();CoUninitialize();3.2认证登录模块void CGraphicDsnDlg:OnOK() /确定按钮事件/ TODO: Add extra validation hereUpdateData();CMainMngDlg dlg;CString sql=select * from LogUser where UserName=+m_strUsername+ and PassWord

12、=+m_strPassword+ ;a.pRs=a.OpenRecordset(sql);/将记录加入到记录集int n=a.pRs-RecordCount;/计算符合条目if (n0)CDialog:OnOK();/登陆成功dlg.DoModal();else:AfxMessageBox(用户名或密码不正确!);/登陆失败return;3.3查询显示模块BOOL CTickets:OnInitDialog() /订单治理类初始化函数CDialog:OnInitDialog();/ TODO: Add extra initialization herecn.ADOConn();/连接数据库Di

13、splay();/设置列表框控件的扩展风格/整行选择/有表格线/表头/单击激活DWORD dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE;/报表风格/单行选择/高亮显示选择行m_List.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS);m_List.SetExtendedStyle(dwExStyle);/设置列表框控件的颜色/m_List.SetTextColor(RGB(200,200

14、,0);/m_List.SetBkColor(RGB(240,247,233);/初始化列表,插入11列m_ListDoc.InsertColumn(0,LVCFMT_CENTER,0,0);m_ListDoc.InsertColumn(1,稿件名称,LVCFMT_CENTER,120,0);m_ListDoc.InsertColumn(2,长度*宽度,LVCFMT_CENTER,90,0);m_ListDoc.InsertColumn(3,规格,LVCFMT_CENTER,65,0);m_ListDoc.InsertColumn(4,色数,LVCFMT_CENTER,65,0);m_List

15、Doc.InsertColumn(5,规格,LVCFMT_CENTER,65,0);m_ListDoc.InsertColumn(7,输出机型,LVCFMT_CENTER,90,0);m_ListDoc.InsertColumn(8,页数,LVCFMT_CENTER,65,0);m_ListDoc.InsertColumn(9,单价,LVCFMT_CENTER,70,0);m_ListDoc.InsertColumn(10,小计,LVCFMT_CENTER,80,0);m_ListDoc.InsertColumn(11,客户名称,LVCFMT_CENTER,137,0);return TRUE

16、; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEreturn TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEvoid CTicketsMngDlg:Show() /输出单据信息到列表控件框CString DocName;int index=m_oddno.GetCurS

17、el();if (index=CB_ERR)AfxMessageBox(_T(出错!);return;m_oddno.GetLBText(index,coursename);CString s=select * from Documents where DocName=+DocName+;a.pRs=a.OpenRecordset(s);/把数据加到记录集UpdateData();CString sql=select * from Documents where CustomerName=+CustomerName+;a.pRs=a.OpenRecordset(sql);/打开数据到记录集_v

18、ariant_t DocNo,DocName,Length,Format,Color,OutputMacMac,Pagess,Price,CustomerName;/定义列表名变量int i=0;a.pRs=a.OpenRecordset(s);int nIndex=m_List.GetItemCount();LV_ITEM lvItem;lvItem.mask=LVIF_TEXT;lvItem.iItem=nIndex;lvItem.iSubItem=0; /第nIndex行lvItem.pszText=(char*)(LPCTSTR)DocName1; /第一列参数for (a.pRs-M

19、oveFirst();!a.pRs-adoEOF;a.pRs-MoveNext()m_List.InsertItem(&lvItem);DocName=a.pRs-GetCollect(DocName);/取数据Length=a.pRs-GetCollect(Length);Format=a.pRs-GetCollect(Format);Color=a.pRs-GetCollect(Color);Pages=a.pRs-GetCollect(Pages);Price=a.pRs-GetCollect(Price);Subtotal=a.pRs-GetCollect(Subtotal);Colo

20、r=a.pRs-GetCollect(Color);design=a.pRs-GetCollect(design);CustomerName=a.pRs-GetCollect(CustomerName);OutputMac=a.pRs-GetCollect(OutputMac);DocName.ChangeType(VT_BSTR);/改变类型Length.ChangeType(VT_BSTR);Format.ChangeType(VT_BSTR);Color.ChangeType(VT_BSTR);Pages.ChangeType(VT_BSTR);Price.ChangeType(VT_B

21、STR);Subtotal.ChangeType(VT_BSTR);Color.ChangeType(VT_BSTR);CustomerName.ChangeType(VT_BSTR);OutputMac.ChangeType(VT_BSTR);DocName=DocName.bstrVal;/调用bstrvalLength=Length.bstrVal;Format=Format.bstrVal;Color=Color.bstrVal;OutputMac1=OutputMac.bstrVal;Pages=Pages.bstrVal;Price=Price.bstrVal;Color=Colo

22、r.bstrVal;CustomerName=CustomerName.bstrVal;3.4添加,修改,删除模块:/ 打开修改订单void CTicketsManDlg:OnItemmanButton() / TODO: Add your control notification handler code hereUpdateData(TRUE);if (m_Adodc.GetRecordset().GetEof() MessageBox(请选择要修改的订单);return;/ 设置ListItemManDlg对话框中的变量CListItemManDlg dlg;dlg.cRegId = m

23、_Datagrid.GetItem(0);/ 打开ListItemManDlg对话框if (dlg.DoModal() = IDOK)RefreshData();elseRefreshData();/删除订单void CTicketsManDlg:OnDelButton() / TODO: Add your control notification handler code hereUpdateData(TRUE);if (m_Adodc.GetRecordset().GetEof()MessageBox(请选择要删除的订单!);return;if (MessageBox(是否删除当前记录?,请确认, MB_YESNO + MB_ICONQUESTION) = IDYES)CTickets reg;reg.SqlDelete(m_Datagrid.GetItem(0);RefreshData();总结通过本次设计,初步掌握了通过Visual C+ 中的MFC功能实现程序的开发。Visual C+提供了大量的控件功能,方便初学者设计程序。阅读了大量的C+编程的相关书籍,对这次设计起到了专门大的关心。尤其是C

温馨提示

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

最新文档

评论

0/150

提交评论