超市管理系统-数据库课程设计报告_第1页
超市管理系统-数据库课程设计报告_第2页
超市管理系统-数据库课程设计报告_第3页
超市管理系统-数据库课程设计报告_第4页
超市管理系统-数据库课程设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

超市管理系统——数据

库课程设计报告

教学资料xxxxxxx#/20信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。系统要能重建系统应该是可审查的系统应能进行有效控制,抗干扰能力强系统使用者的使用权限是可识别的SQLServer提供多层安全。在最外层,SQLServer的登录安全性直接集成到WidowsNT/2000的安全上,它允许WindowsNT服务器验证用户。使用这种"Windows验证"SQLServer就可以利用WindowsNT/2000的安全特性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐号。4.2完整性设计数据库完整性是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面:1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。2.利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。3.合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。4.在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。在实施数据库完整性设计的时候,有一些基本的原则需要把握:1.根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。2.实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。第5节详细设计模块简述系统总体结构人员管理库存管理销售查询入库管理收银业务商品录入模块设计与实现(部分界面)5.2.0登陆界面5.2.1员工登陆界面5.2.2商品信息界面5.2.3员工信息界面5.2.4供应商信息界面第6节总结通过此次的课程设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在设计报告的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过课程设计,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。通过这次超市管理系统课程设计,让我充分运用自己所学的知识,让我明白只有单纯的理论知识是远远不够的,只有通过实际的锻炼才能更好的运用所掌握的基础知识,才能在原有的基础上提升自己的能力,提高自己解决问题的能力。在这短短的几天里,查阅有关的C++学习资料,设计规则,代码的编写及到最后的调试。在设计过程中,通过对控件事件的处理,界面的布局,代码的调试,充分锻炼了自己的思维,获得了充分的实际经验,提高了处理问题的能力,同时也提高了对问题思考的应急能力和抗压力的能力。经过几天的努力,虽然设计已经完成,但仍然有很多模块和功能要完善,存在很多美中不足之处。但是基本上还能满足小型超市的管理。在设计报告的写作过程中也学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的,在遇到问题时,有必要向老师和同学请教,合作沟通的意义是巨大的。[参考文献]【1】.MicrosoftSQLServer2000联机丛书【2】.金林樵主编SQLServer2000程序设计实训教程科学出版社2006年【3】.李言编著VisualC++项目开发全程实录清华出版社2008年【4】.姚领田编著精通MFC程序设计人民邮电出版社2006年【5】.苗雪兰编著数据库原理及应用教程(2版)机械工业出版社2005年附件:///////////登陆程序////////////////////////////////////////////////////////////////////voidyuangongdenglu::Ondenglu(){UpdateData(1);if(m_bianhao==""){MessageBox("请输入账号!");return;}if(m_mima==""){MessageBox("请输入密码!");return;}CAdoconadoconn;adoconn.OnInitAdocon();_bstr_tsql;sql="select*from员工信息表where员工编号='"+m_bianhao+"'and员工密码='"+m_mima+"'";_RecordsetPtrm_precordset;m_precordset=adoconn.GetRecordSet(sql);if(m_precordset->adoEOF==0){GetDlgItem(ID_rukuxitong)->EnableWindow(FALSE);}UpdateData(0);}///////////添加程序//////////////////////////////////////////////////////////////////////voidCgongyingshanxinxi::OnButadd(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(1);CAdoconadoconn;adoconn.OnInitAdocon();//调试_bstr_tsqltemp;sqltemp="insertinto供应商信息表(供应商编号,供应商名称,供应商地址,供应商电话)values('"+m_gysbh+"','"+m_gysmc+"','"+m_gysdz+"','"+m_gysdh+"')";adoconn.ExecuteSQL(sqltemp);adoconn.exitcon();UpdateData(0);MessageBox("添加成功");OnOK();}////////////////删除程序//////////////////////////////////////////////////////////////////voidCYuangongxinxi::OnButdel(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);CAdoconadoconn;adoconn.OnInitAdocon();//调试_bstr_tsqltemp;sqltemp="deletefrom员工信息表where员工姓名="'+m_XM+"'";if(m_XM=="")MessageBox("员工姓名不为空");if(adoconn.ExecuteSQL(sqltemp)==TRUE){MessageBoxC删除成功");}elseMessageBox("删除失败");adoconn.exitcon();OnOK();UpdateData(FALSE);}///////////////////查询程序///////////////////////////////////////////////////////////////voidCshangpingxinxi::OnButquery(){UpdateData(1);//TODO:AddyourcontrolnotificationhandlercodehereCAdoconadoconn;adoconn.OnInitAdocon();_bstr_tsql;sql="select*from商品信息表where商品编号="+m_bianhao+"'";_RecordsetPtrm_precordset;m_precordset=adoconn.GetRecordSet(sql);//GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);if(m_precordset->adoEOF==0){m_mingcheng=(LPCTSTR)(_bstr_t)m_precordset->GetCollect('商品名称");m_gysbianhao=(LPCTSTR)(_bstr_t)m_precordset->GetCollect("供货商编号");m_jiage=(LPCTSTR)(_bstr_t)m_precordset->GetCollect("价格");m_csbianhao=(LPCTSTR)(_bstr_t)m_precordset->GetCollect("厂商编号");m_tiaoxingma=(LPCTSTR)(_bstr_t)m_precordset->GetCollect("条形码");UpdateData(0);adoconn.exitcon();}}///////Adocon.cpp:implementationoftheCAdoconclass.//////////////////////////////////voidCAdocon::OnInitAdocon(){::CoInitialize(NULL);try{m_pConnection.CreateInstance("ADODB.Connection");bstr_tstrConnect="driver={SQLServer};Server=127.0.0.1;DATABASE=SuperMaket;UID=admin;PWD=123;";m_pConnection->Open(strConnect,"","",adModeUnknown);//们经常使用的只是前面用#import语句引用类型库时,生成的包装类.Hh中声明的智能指针中的三个,它们分别是ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分别对它们的使用方法进行介绍://_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordserPtr来实现。而用_ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用—RecordserPtr时不需要。//_CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在—CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局—ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。//_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局—ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。}catch(_com_errore){TRACE(e.Description());//thrownewCADOException("连接数据库失败");//AfxMessageBox("连接数据库失败");}}BOOLCAdocon::ExecuteSQL(_bstr_tbstrSQL)//执行sql语句{try{if(m_pConnection==NULL)OnInitAdocon();m_pConnection->Execute(bstrSQL,NULL,adCmdText);returntrue;}catch(_com_err

温馨提示

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

评论

0/150

提交评论