还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
前言21课程设计概述3数据库系统功能概述3数据库运行环境——SQLSERVERS2总体设计31轿车销售信息管理系统总体设计思想32总体设计流程图43轿车销售系统具体设计41数据库4数据库的建立4存储过程4触发器5创建数据源62C++中MFC应用程序编程6Crecordset类的插入6修改、添加和显示纪录64程序测试81登录界面82菜单界面83CustormersbuyCars界面84AddNewCustomer界面85Memberinformation界面96AddUser界面97inputCar界面95课程设计总结9致谢10参考文献10我信任,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开头就退缩要勇于拼搏,敢于创新致谢为了提高我们的实践力量,让我们学以致用,能敏捷运用所学的学问进行再制造学校特支配我们进行为期二周的VisualC++课程设计实习,并支配了指导老师关心辅导,让我们在法律规范化、严谨化、有用化上面有了很大进展课程设计开头时老师说的独立思索和团体合作相结合的思想对我的触动很大,让我感受到了一个编程人员所应具有的那种能吃苦,能战斗,不为艰险,勇往直前的精神,让我更加坚信自己所走的道路再次感谢老师的急躁辅导和谆谆教导,感谢学校给我们供应的提高自己的机会参考文献
[1]马安鹏.VisualC++程序设计导学北京清华高校出版社,2002
[3]BeckZaratian.MicrosoftVisualVisualC++
6.0程序员指南.盼望图书创作室译.北京:北京盼望电脑公司出品,1998
[4]RichardC.LeineckerTomArcher.VisualC++6宝典.张艳张谦译.北京:电子工业出版社,1999
[5]李强,贾云霞.VisualC++项目开发实践.北京中国铁道出版社2004
[6]郑莉董渊张瑞丰.C++语言程序设计.
2003.
[7]H.M.DeitelP.J.Deitel.SmallC++HowtoProgram.
2006.计算机在二十一世纪成为人们常用的现代工具,每一个有文化的人都应了解计算机,学会使用计算机来处理面临的事务程序设计是软件工作人员的基本功能,但前提必需有较为完善的数据库系统来实现数据的各种操作数据库讨论跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论讨论,而理论讨论又对前两个领域起着指导作用数据库系统的消失是计算机应用的一个里程牌,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用在它之前的文件系统虽然也能处理长久数据,但是文件系统不供应对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的对任意部分数据的快速访问由系统软件(数据库管理系统)来完成,而供应应用户的是简洁易用的数据库语言由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享因此,数据的独立性和共享性是数据库系统的重要特征数据库系统的消失使得一般用户能够便利地将日常数据存入计算机并在需要的时候快速访问它们,从而使计算机走出科研机构进入各行各业、进人家庭本文档具体叙述了基于VisualC++
6.0环境下的用ODBC与SQLSERVER相连的轿车销售信息管理系统的设计过程以及程序源代码本文档从概要设计,具体设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程此次轿车销售信息管理系统的开发目的是使我们用面对对象的方式来思索和解决问题的力量,提高数据库的应用力量本文档的支配如下第一章主要介绍了数据库系统以及SQLSERVER操作环境其次章主要的介绍说明白轿车销售信息管理系统的编程思想和具体设计第三章主要对轿车销售信息管理系统进行调试,运行程序并截图,显示运行界面和结果第四章主要介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结程序在设计的过程中遇到的问题已准时更正,但由于编者的力量和水平有限,字符统计软件和文档中不免会消失一些不期盼的错误,望文档读者能够理解和体谅,并欢迎提示和订正,在此表示感谢以及敬意1课程设计概述数据库系统功能概述数据库系统(databasesystems)是由数据库及其管理软件组成的系统它是为适应数据处理的需要而进展起来的一种较为抱负的数据处理的核心机构它是一个实际可运行的存储、维护和应用系统供应数据的软件系统,是存储介质、处理对象和管理系统的集合体数据库系统的主要特点有能够保证数据的独立性数据和程序相互独立有利于加快软件开发速度,节约开发费用冗余数据少,数据共享程度高
(3)系统的用户接口简洁,用户简洁把握,使用便利能够确保系统运行牢靠,消失故障时能快速排解;能够爱护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能准时发觉有重新组织数据的力量,能转变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况具有可修改性和可扩充性能够充分描述数据间的内在联系这些新特性可以更好地采用VisualC++开发工具进行Windows应用程序开发数据库运行环境——SQLSERVER图1-1SQL2000运行环境2总体设计
2.1轿车销售信息管理系统总体设计思想轿车销售信息管理系统的功能为供应轿车信息,员工信息,客户信息,轿车销售信息,按条件查询,并将销售报表打印输出轿车销售信息管理系统的功能模块有
(1)供应成员登录及顾客查看轿车界面,输入用户名及密码进入成员系统
(2)供应菜单界面,便采用户对程序个功能进行选择,选择要实现的功能按
(3)按条件查询库存轿车信息及客户购买信息,并将销售报表打印输出
(4)接受用户输入的客户信息完成注册,并且可以对员工信息进行添加删除修改等操作,依据轿车的类型及颜色查询轿车信息程序分为多个小模块,通过调用实现各种功能,增加了程序的可建设性2总体设计流程图图2—1总体设计流程3轿车销售系统具体设计数据库数据库的建立此次课程设计主要需要用到数据库,因此,需要对数据库的建立要有肯定的了解采用SQLserver建立数据库建立了图书馆管理系统数据库,来供应一些信息完成如新建表及视图、关系等基本操作图3-1数据库存储过程存储过程StoredProcedure是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中用户通过指定存储过程的名字并给出参数假如该存储过程带有参数来执行它存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应用到存储过程图3-2存储过程存储过程的代码存储过程s:createprocs@nochar4asdeletefromMemeberinformationwhere@no=mebnumGO存储过程CarStoreinfoinsertCREATEPROCEDURECarStoreinfoinsertASinsertintoStoreinformationcarnumamountselectBuyinformationcarnumbuyamoufromBuyinformationStoreinformationwhereStoreinformation.carnumnotinselectcarnumfromcarinformationGO在C++中的调用代码CDatabasedb;db.Open_T〃SellCar〃;db.ExecuteSQLexecs+m_num+;〃调用存储过程并传递参数db.Close;触发器触发器trigger是个特别的存储过程,它的执行不是由程序调用,也不是手工启动,而是由大事来触发,比如当对一个表进行操作insertdeleteupdate时就会激活它执行触发器常常用于加强数据的完整性约束和业务规章等图3-3触发器创建数据源此次课程设计用ODBC语言将数据库与C++连接,在连接之前应创建数据源在掌握面板上打开管理工具,可以找到数据源ODBC添加数据源,可以创建不同类型的数据库,此次设计用到了SQLServer便选择其,打开SQLServer中的服务管理器可找到服务器的名称,将默认数据库改为自己的数据库点下一步直至完成图3-4创建数据源C++中MFC应用程序编程
2.1Crecordset类的插入CRecordset类代表一个纪录集.该类是MFC的ODBC类中最重要、功能最强大的类一般需要用ClassWizard创建一个CRecordset的派生类.CRecordset类的插入过程图3-5新建纪录集类图3-6数据库连接方式及数据源此程序用ODBC连接数据库选择SellCar为数据源纪录集类型为动态集动态集供应了数据的动态视.当用户修改或删除了纪录集中的纪录时,会在动态集中反映出来当滚动到修改过的纪录时对其所作的修改会马上反映到动态集中,当纪录被删除时,MFC代码会跳过纪录集中的删除部分.对于其它用户添加的纪录,直到调用Reque”时,才会在动态集中反映出来本身应用程序对纪录的修改、添加和删除会反映在动态集中当数据必需是动态的时侯,使用动态集是最适合的图3-7选择数据库中的表ClassWizard可以为派生的纪录集类创建一批数据成员,这些数据成员与纪录的各字段相对应,被称为字段数据成员或域数据成员如图图3-8字段数据成员
3.
2.2修改、添加和显示纪录.显示纪录集用CRecordset类将数据库中的数据在C++中显示出来Ccustomm;//Ccustom是一个与表Memeberinformation相连的纪录集类m.Open;intn-0;while!m.IsEOFOCStrings;m_List.Insertltemnm.m_mebnum;mList.SetltemTextn1m.mname;m_List.SetltemTextn2m.m_sex;Format〃%d〃m.m_age;m_List.SetltemTextn3s;mList.SetltemTextn4m.m_address;m_List.SetltemTextn5m.m_edulevel;m.MoveNext;n++;m.Close;
2.修改纪录集要修改当前纪录,应按下列步骤进行调用Edit成员函数.调用该函数后就进入了编辑模式,程序可以修改域数据成员.不能在一个空的纪录集中调用Edit否则会产生特别.Edit函数会把当前域数据成员的内容保存在一个缓冲区中,调用MoveAFX_MOVE_REFRESH或MoveO可退出编辑模式AFX_MOVE_REFRESH的值为0同时该函数会从缓冲区中恢复域数据成员.设置域数据成员的新值;调用Update完成编辑.Update把变化后的纪录写入数据源并结束编辑模式.修改纪录的代码如下Ccustomg;g.m_strFilter.Formatmebnum=%s〃m_num;g.Open;g.Edit;ifm_na!=_Tg.m_mebnum=m_num;g.m_name=mna;g.m_sex=m_sex;g.m_age=m_age;g.m_address=m_add;g.m_edulevel=m_eclu;g.Update;UpdateDataFALSE;g.Requery;g.Close;MessageBoxModifyok〃;
3.添加纪录要向纪录集中添加新的纪录的步骤与修改类似添加纪录的代码Ccustomn;n.Open;n.AddNewO;ifm_na!=_Tn.m_mebnum=m_num;n.m_name=m_na;n.m_sex=m_sex;n.m_age=m_age;n.m_address=m_add;n.m_edulevel=m_edu;n.Update;〃更新数据表n.Requery;〃更新纪录集n.Close;4程序测试
4.1登录界面图4—1登录界面如上图所示,该程序为用户供应登录界面用户可以对程序的各种功能进行选择便采用户使用单击要选择的按钮进行操作
4.2菜单界面图4—2员工菜单界面图4-3顾客查看车信息
4.3CustormersbuyCars界面图4—4CustormersbuyCars界面
4.4AddNewCustomer界面图4—5AddNewCustomer界面
4.5Memberinformation界面图4—6Memberinformation界面
4.6AddUser界面图4-7AddUser界面
4.7inputCar界面图4—8inputCar界面5课程设计总结为了提高我们的实践力量,让我们学以致用,能敏捷运用所学的学问进行再制造学校特支配我们进行为期二周的数据库课程设计实习,并支配了指导老师关心辅导,让我们在法律规范化、严谨化、有用化上面有了很大进展在此次字符统计程序开发过程中,有很多东西值得我们思索并总结开发过程大体可分为以下几个步骤1思索总体设计方案总体结构和模块外部设计,功能安排思索要实现整个程序大体需要的几个模块和其中用到的SQL语言基本操作符、语句等2画出总体设计方案流程图用流程图的形式呈现你的基本编程思想3流程图具体化即将流程图中的几大模块的具体实现思索清晰,可以用流程图的形式呈现.并想好实现的关键代码4编辑程序代码这是一个至关重要简单而且需要反复修改的环节,在此环节中你将发觉总体设计和模块思想会存在很多问题,需不断改进.如何实现各函数功能,达到预期效果也将是一项繁复的工作5代码的调试在VisualC++
6.0环境下输入代码并进行调试和正确运行在调试过程中会遇到很多需要精化的地方,需要十足的急躁与细心,不断改进完善程序6最终修饰程序可以正确运行之后,再不影响程序功能的状况下,运用各种帮助性符号,使界面更加美观美丽,操作更人性化.增加程序的新意与可行性总之,在通过真正动手之后,我们在数据库的设计和有关它与C++结合的操作方面都获益匪浅,但离真正的数据库设计实施还有相当大的距离和差距但是,必需指出的是我们在此次课程设计中,的的确确学到了不少东西同时,我认为在进行软件设计的过程中,必需考虑到很多综合的因素,必需加以自己的创新,只有这样才能让自己设计的东西得到认可通过这次课程设计,使我们更加熟识的把握了数据库系统的运用关心我们熟识了更多数据库的功能,提高了我们的动手力量,学到了很多解决实际问题的珍贵阅历.同时也挖掘出了我们潜在的力量,使我们对自己更有自信,对编程也更有爱好。