轿车销售系统.docx

上传人:牧羊曲112 文档编号:1995413 上传时间:2022-12-30 格式:DOCX 页数:21 大小:1.68MB
返回 下载 相关 举报
轿车销售系统.docx_第1页
第1页 / 共21页
轿车销售系统.docx_第2页
第2页 / 共21页
轿车销售系统.docx_第3页
第3页 / 共21页
轿车销售系统.docx_第4页
第4页 / 共21页
轿车销售系统.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《轿车销售系统.docx》由会员分享,可在线阅读,更多相关《轿车销售系统.docx(21页珍藏版)》请在三一办公上搜索。

1、目 录前 言21课程设计概述31.1数据库系统功能概述31.2数据库运行环境SQL SERVER42总体设计42.1轿车销售信息管理系统总体设计思想42.2总体设计流程图53轿车销售系统详细设计63.1数据库63.1.1数据库的建立63.1.2存储过程63.1.3触发器83.1.4创建数据源93.2C+中MFC应用程序编程103.2.1Crecordset类的插入103.2.2修改、添加和显示记录124程序测试144.1登录界面144.2菜单界面154.3Custormers buy Cars界面164.4Add New Customer界面174.5Memberinformation界面17

2、4.6Add User界面184.7input Car界面185课程设计总结19致谢20参考文献21前 言计算机在二十一世纪成为人们常用的现代工具,每一个有文化的人都应当了解计算机,学会使用计算机来处理面临的事务。程序设计是软件工作人员的基本功能,但前提必须有较为完善的数据库系统来实现数据的各种操作。数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程牌,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的文件

3、系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。对任意部分数据的快速访问由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使计算机走出科研机构进入各行各业、进人家庭。本文档详细叙述了基于Visual C+6.0环境下的用ODBC与SQL SERVER

4、相连的轿车销售信息管理系统的设计过程以及程序源代码。本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。此次轿车销售信息管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,提高数据库的应用能力。本文档的安排如下:第一章 主要介绍了数据库系统以及SQL SERVER操作环境。第二章 主要的介绍说明了轿车销售信息管理系统的编程思想和详细设计。第三章 主要对轿车销售信息管理系统进行调试,运行程序并截图,显示运行界面和结果。第四章 主要介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结。程序在设计的过程中遇到的问题已及时更正,但由于编者

5、的能力和水平有限,字符统计软件和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。1 课程设计概述1.1 数据库系统功能概述数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。数据库系统的主要特点有:(1) 能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。(2) 冗余数据少,数据共享程度高。(3) 系统的用户接口简单,

6、用户容易掌握,使用方便。(4) 能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。(5) 有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。(6) 具有可修改性和可扩充性。(7) 能够充分描述数据间的内在联系。这些新特性可以更好地利用Visual C+开发工具进行Windows应用程序开发。1.2 数据库运行环境SQL SERVER图 1-1 SQL2000运行环境2 总体设计2.1 轿车销售信息管理系统总体设计思想轿车

7、销售信息管理系统的功能为提供轿车信息,员工信息,客户信息,轿车销售信息,按条件查询,并将销售报表打印输出。轿车销售信息管理系统的功能模块有:(1)提供成员登录及顾客查看轿车界面,输入用户名及密码进入成员系统。(2)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按(3)按条件查询库存轿车信息及客户购买信息,并将销售报表打印输出。(4)接受用户输入的客户信息完成注册,并且可以对员工信息进行添加删除修改等操作,根据轿车的类型及颜色查询轿车信息。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。2.2 总体设计流程图BeginSell CarInput CarMember

8、InfoAdd CustomerAdd new loginMember LoginCustomerCheck Car图21 总体设计流程3 轿车销售系统详细设计3.1 数据库3.1.1 数据库的建立此次课程设计主要需要用到数据库,因此,需要对数据库的建立要有一定的了解。利用SQL server建立数据库。建立了图书馆管理系统数据库,来提供一些信息。完成如新建表及视图、关系等基本操作图3-1 数据库3.1.2 存储过程存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存

9、储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。图3-2存储过程存储过程的代码:存储过程s:create proc sno char(4)asdeletefrom Memeberinformationwhere no=mebnumGO存储过程CarStoreinfoinsertCREATE PROCEDURE CarStoreinfoinsert ASinsert into Storeinformation(carnum,amount)select Buyinformation.carnum,buyamoufrom Buyinformation,Storei

10、nformationwhere Storeinformation.carnum not in (select carnum from carinformation)GO在C+中的调用代码: CDatabase db; db.Open(_T(SellCar);db.ExecuteSQL(exec s +m_num+);/调用存储过程并传递参数db.Close();3.1.3 触发器触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整

11、性约束和业务规则等。图3-3触发器3.1.4 创建数据源此次课程设计用ODBC语言将数据库与C+连接,在连接之前应创建数据源。在控制面板上打开管理工具,可以找到数据源(ODBC),添加数据源,可以创建不同类型的数据库,此次设计用到了SQL Server,便选择其,打开SQL Server中的服务管理器可找到服务器的名称,将默认数据库改为自己的数据库。点下一步直至完成。图3-4 创建数据源3.2 C+中MFC应用程序编程3.2.1 Crecordset类的插入CRecordset类代表一个记录集该类是MFC的ODBC类中最重要、功能最强大的类。一般需要用ClassWizard创建一个CRecor

12、dset的派生类 CRecordset类的插入过程:图3-5 新建记录集类图3-6 数据库连接方式及数据源 此程序用ODBC连接数据库,选择SellCar为数据源,记录集类型为动态集。动态集提供了数据的动态视当用户修改或删除了记录集中的记录时,会在动态集中反映出来:当滚动到修改过的记录时对其所作的修改会立即反映到动态集中,当记录被删除时,MFC代码会跳过记录集中的删除部分对于其它用户添加的记录,直到调用Requery时,才会在动态集中反映出来。本身应用程序对记录的修改、添加和删除会反映在动态集中。当数据必须是动态的时侯,使用动态集是最适合的图3-7 选择数据库中的表ClassWizard可以为

13、派生的记录集类创建一批数据成员,这些数据成员与记录的各字段相对应,被称为字段数据成员或域数据成员。如图:图3-8 字段数据成员3.2.2 修改、添加和显示记录1. 显示记录集用CRecordset类将数据库中的数据在C+中显示出来Ccustom m;/ Ccustom是一个与表Memeberinformation相连的记录集类m.Open();int n=0;while(!m.IsEOF() CString s; m_List.InsertItem(n,m.m_mebnum); m_List.SetItemText(n,1,m.m_name); m_List.SetItemText(n,2,m

14、.m_sex); s.Format(%d,m.m_age); m_List.SetItemText(n,3,s); m_List.SetItemText(n,4,m.m_address); m_List.SetItemText(n,5,m.m_edulevel); m.MoveNext(); n+; m.Close();2. 修改记录集要修改当前记录,应该按下列步骤进行:调用Edit成员函数调用该函数后就进入了编辑模式,程序可以修改域数据成员不能在一个空的记录集中调用Edit,否则会产生异常Edit函数会把当前域数据成员的内容保存在一个缓冲区中,调用Move(AFX_MOVE_REFRESH)

15、或Move(0)可退出编辑模式(AFX_MOVE_REFRESH的值为0),同时该函数会从缓冲区中恢复域数据成员设置域数据成员的新值;调用Update完成编辑Update把变化后的记录写入数据源并结束编辑模式修改记录的代码如下: Ccustom g; g.m_strFilter.Format (mebnum=%s,m_num); g.Open (); g.Edit ();if(m_na!=_T() g.m_mebnum=m_num; g.m_name=m_na; g.m_sex=m_sex; g.m_age=m_age; g.m_address=m_add; g.m_edulevel=m_ed

16、u; g.Update (); UpdateData(FALSE); g.Requery(); g.Close (); MessageBox(Modify ok);3. 添加记录要向记录集中添加新的记录的步骤与修改类似,添加记录的代码:Ccustom n; n.Open();n.AddNew();if(m_na!=_T() n.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(); /更新记

17、录集 n.Close();4 程序测试4.1 登录界面图41 登录界面如上图所示,该程序为用户提供登录界面,用户可以对程序的各种功能进行选择,方便用户使用。单击要选择的按钮进行操作。 4.2 菜单界面图42 员工菜单界面图4-3 顾客查看车信息4.3 Custormers buy Cars界面图44 Custormers buy Cars界面4.4 Add New Customer界面图45 Add New Customer界面4.5 Memberinformation界面图46Memberinformation界面4.6 Add User界面图47 Add User界面4.7 input C

18、ar界面图48 input Car界面5 课程设计总结为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的数据库课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。在此次字符统计程序开发过程中,有很多东西值得我们思考并总结。开发过程大体可分为以下几个步骤:(1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的SQL 语言基本操作符、语句等。(2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。(3)流程图具体化:即将流程图中的几大模块的具体实现思考

19、清楚,可以用流程图的形式展现并想好实现的关键代码。(4)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进如何实现各函数功能,达到预期效果也将是一项繁复的工作。(5)代码的调试:在Visual C+6.0环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。(6)最后修饰:程序可以正确运行之后,再不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化增强程序的新意与可行性。总之,在通过真正动手之后,我们在数据库的设计和有关它与c+结合的操作方面

20、都获益匪浅,但离真正的数据库设计实施还有相当大的距离和差距。但是,必须指出的是我们在此次课程设计中,的的确确学到了不少东西。同时,我认为在进行软件设计的过程中,必须考虑到很多综合的因素,必须加以自己的创新,只有这样才能让自己设计的东西得到认可。通过这次课程设计,使我们更加熟悉的掌握了数据库系统的运用。帮助我们熟悉了更多数据库的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。致谢为了提高我们的实践能力,让我们学以致用,

21、能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的Visual C+课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。课程设计开始时老师说的独立思考和团体合作相结合的思想对我的触动很大,让我感受到了一个编程人员所应该具有的那种能吃苦,能战斗,不为艰险,勇往直前的精神,让我更加坚信自己所走的道路。再次感谢老师的耐心辅导和谆谆教诲,感谢学校给我们提供的提高自己的机会。参考文献1 马安鹏.Visual C+程序设计导学。北京:清华大学出版社,20022 电子书籍. Visual C+技术内幕(第四版).网址:3 Beck Zaratian.Microsoft Visual Visual C+ 6.0程序员指南.希望图书创作室译.北京:北京希望电脑公司出品,19984Richard C.Leinecker,Tom Archer. Visual C+ 6 宝典.张艳,张谦译.北京:电子工业出版社,19995 李强,贾云霞. Visual C+项目开发实践.北京:中国铁道出版社,20046 郑莉,董渊,张瑞丰.C+语言程序设计.2003.7 H.M.Deitel,P.J.Deitel. Small C+ How to Program.2006.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号