![oracle数据库 VC汽配销售管理系统课程设计资料_第1页](http://file1.renrendoc.com/fileroot_temp2/2021-1/25/3120a835-c5e3-444b-a3c3-f09e067c7050/3120a835-c5e3-444b-a3c3-f09e067c70501.gif)
![oracle数据库 VC汽配销售管理系统课程设计资料_第2页](http://file1.renrendoc.com/fileroot_temp2/2021-1/25/3120a835-c5e3-444b-a3c3-f09e067c7050/3120a835-c5e3-444b-a3c3-f09e067c70502.gif)
![oracle数据库 VC汽配销售管理系统课程设计资料_第3页](http://file1.renrendoc.com/fileroot_temp2/2021-1/25/3120a835-c5e3-444b-a3c3-f09e067c7050/3120a835-c5e3-444b-a3c3-f09e067c70503.gif)
![oracle数据库 VC汽配销售管理系统课程设计资料_第4页](http://file1.renrendoc.com/fileroot_temp2/2021-1/25/3120a835-c5e3-444b-a3c3-f09e067c7050/3120a835-c5e3-444b-a3c3-f09e067c70504.gif)
![oracle数据库 VC汽配销售管理系统课程设计资料_第5页](http://file1.renrendoc.com/fileroot_temp2/2021-1/25/3120a835-c5e3-444b-a3c3-f09e067c7050/3120a835-c5e3-444b-a3c3-f09e067c70505.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数据库编程课程设计题 目:汽配销售管理系统 小 组 成 员 :田 晴 201314070203 宋平心 201314070226 刘子仪 201314070218 章 倩 201512070151 系 别:软件与通信工程学院 专 业、班 级:计算机科学与技术1班 年 级:2013级 指 导 老 师 :陆汝华 设 计 时 间 :2016年5月 小组成员分工表:序号姓名分工情况完成情况1田 晴总体设计、系统登录模块设计、日常业务处理模块设计正常完成2宋平心文档设计、需求分析、基础信息查询模块设计正常完成3刘子仪数据库实现+数据添加、公共模块设计、调试与测试正常完成4章 倩数据库实现+连接、主窗体
2、设计、商品信息模块设计正常完成目 录1需求分析11.1系统目标11.2 系统处理范围12系统设计22.1系统功能结构22.2系统业务流程图22.3系统预览33数据库设计43.1数据库概要说明43.2数据库逻辑设计44公共模块设计54.1数据库操作类RxADO的设计54.1.1功能分析54.1.2 开发过程64.2功能分析74.2.1开发过程84.2.2 功能分析84.2.3 开发过程85主窗体设计95.1主窗体模块概述95.2创建工程105.4对话框设计116系统登录模块设计126.1系统登录模块概述126.2代码设计147基础信息查询模块设计147.1基础信息查询模块概述147.2对话框设计
3、158商品信息模块设计168.1商品信息模块概述168.2窗体设计178.3代码设计189日常业务处理模块设计209.1日常业务处理模块概述209.2窗体设计219.3代码设计2110开发常见问题与解决2310.1用户界面与RxGrid类的连接与使用方法2310.2其它处理2311调试与测试2411.1调试2411.2测试2612总结291需求分析湘南科技有限公司开发的汽配管理系统是一套对汽车配件进货、销售、库存、退货、付款和收款进行全面管理的系统。该系统通过对配件经营中所产生的数据进行采集、分析、整理,以及时准确的数据结果反映给经营者,实现了经营管理的计划性。该系统集配件管理信息的采集、存储
4、、统计等各种处理为一体,各种操作都可以通过菜单进行,部分常用功能还提供了快捷工具条。操作快捷、方便,性能高效、强大;使用易懂、易会。根据上面系统功能描述,可以定义如下需求分析:1.1系统目标使用计算机帮助汽配销售人员快速、准确地完成订单处理、配件销售、库存反馈等日常业务。1.2 系统处理范围系统的处理范围包括:日常业务、库存管理、查询统计、基础信息、系统管理。2系统设计2.1系统功能结构 图2-1 系统功能结构2.2系统业务流程图 图2-2 管理系统业务流程2.3系统预览图2-3 汽配管理系统主界面图2-4 进货管理3数据库设计3.1数据库概要说明在汽配管理系统中,采用的是Oracle 11g
5、数据库,用来存储商品入库信息、商品销售信息、商品库存信息、操作员信息等。这里将数据库命名为ORCL_SK,共包含20张数据表和15个视图,均位于SK方案下,如下图所示。图3-1 数据库结构3.2数据库逻辑设计操作员信息表操作员信息表用于存储登录用户信息,例如,用户名和密码等。操作员信息表结构如下图所示。图3-2 操作员信息表商品信息表商品信息表用于存储商品相关信息,商品信息表的结构如下图所示。图3-3 商品信息表4公共模块设计4.1数据库操作类RxADO的设计4.1.1功能分析RxADO类主要实现以下功能:能够实现连接数据库获取记录集记录数量自动生成编号获取数据库错误根据数据表名称和查询字段返
6、回指定的字段值等功能4.1.2 开发过程下面分析RxADO类的程序代码。RxADO类数据成员和成员函数声明如下:class RxADO public:void Close();_ConnectionPtr cnn;/定义ADO连接对象_ConnectionPtr GetConnection();/获取ADO连接对象RxRecordset record;/定义记录集对象/自动生成编号CString AutoNumber(CString sTable, CString sFieldName, CString sCode, int nStyle=1);int GetRecordCount(_Reco
7、rdsetPtr pRst);/获取记录集数量void GetADOErrors(_com_error eErrors);/获取错误信息CString FieldToOtherField(CString cDataBaseName, CString cFieldName, CString cValue, CString cReturnField, int nStale);/返回指定字段的查询结果bool SetConnection(CString LinkString);/连接数据库RxADO();/构造函数virtual RxADO();/析构函数;按钮是程序开发中最常使用的控件之一,它的好
8、坏,可直接影响界面的美观。笔者考虑至此,所以制作了CBaseButton按钮类,用它声明的对象实例,可以有非常漂亮的外观。如图所示。图4-1 CBaseButton类对象实例4.2功能分析按钮可以有几种状态,包括鼠标按下、鼠标没按下、获得焦点、失效等,当按钮处于不同的状态时做不同的动作,便可以实现特色按钮。例如,在本程序中,当按钮没被按下时,显示图片IDC_BUT_NUMAL;当鼠标被按下时,显示IDC_BUT_DOWN;当按钮失效时,显示IDC_BUT_ENABLED;如果按钮获得焦点,就在按钮上绘制一个红色的虚线矩形。原理就这么简单!4.2.1开发过程 CButton类提供了重新绘制按钮的
9、虚函数DrawItem(),通过它,读者可以将按钮绘制成任意形状,DrawItem函数的参数是LPDRAWITEMSTRUCT类型,这个指针包含了按钮的相关信息。根据需要制作按钮类的实际情况,读者需要考虑以下问题: 1.除了默认为按钮指定3张图片外(鼠标按下、鼠标没有按下和按钮失效),还应该提供使用其它图片的接口。2.按钮不一定是矩形的,可能是其它任何形状。4.2.2 功能分析CBaseComboBox类派生于CComboBox,在CComboBox原有功能的基础上,增加下列功能: 1.建立与数据表连接 2.按回车时将焦点移动到下一个控件上 3.如果在列表中添加的是字段名,当选中列表中某项时,
10、m_CurrentFieldType成员变量将返回所选项在数据表中的数据类型4.2.3 开发过程 CBaseComboBox抽象原型如下:class CBaseComboBox : public CComboBoxpublic:CBaseComboBox();public:CString m_CurrentFieldType;/记录所选字段类型的变量void SetRecordset(RxRecordset rs, CString Field=_BASECOMBOBOX_ALL);virtual CBaseComboBox();private:RxRecordset rst;5主窗体设计5.1
11、主窗体模块概述汽配管理系统主界面由菜单栏、工具栏、客户区和状态栏4部分组成。其中,菜单栏部分列出汽配管理系统的所有功能,它主要起到导航的作用。工具栏部分用于对系统的主要功能进行快速导航。客户区部分由一幅图片填充,用于美化界面。状态栏部分用于显示用户企业的名称、当前登录的操作员等信息。汽配管理系统主界面效果如图所示。图5-1 汽配管理系统主界面5.2创建工程(1)创建一个单文档视图结构的应用程序,工程名称为“qpglxt”。(2)在应用程序向导步骤6中,选中视图类,修改Class name为“CMyView”;修改Header file为“MyView.h”;修改Base class为“CScr
12、ollView”;修改implementation file为“MyView.cpp”,如下图所示。图5-2 修改视图类(3)在上图中选择文档类,修改Class name为“CMyDoc”;修改Header file为“MyDoc.h”;修改implementation file为“MyDoc.cpp”,如图所示。图5-3 修改文档类(4)单击“Finish”按钮完成工程的创建。5.4对话框设计(1)在工作区的类视图窗口中创建一个对话框类CDMain,基类为CDialog。 (2)选中对话框,去除对话框中的按钮,按“回车”键打开对话框属性窗口 。图5-4 对话框通用属性窗口1菜单设计在工作区的
13、资源视图窗口中创建一个菜单资源,资源ID为“IDR_MAIN”,效果如图所示。图5-5 汽配管理系统菜单2代码设计实现工具栏和状态栏的创建。6系统登录模块设计6.1系统登录模块概述 为了防止非法用户进入系统,在汽配管理系统启动时会首先显示一个登录窗口。让用户输出用户名和密码,只有用户名和密码通过验证后才能够进入主窗口。系统登录窗口运行效果如图所示。图6-1 系统登录窗体系统登录模块主要涉及“操作员信息表”一张数据表。实现逻辑比较简单。根据用户输出的用户名从“操作员信息表”中查询用户密码,比较用户输入的密码和程序返回的密码是否一致,如果一致则验证成功,进入主窗口,否则验证失败,记录验证失败的次数
14、,如果验证失败次数超过3次,则退出系统。1对话框设计系统登录模块的窗体设计步骤如下:(1)创建一个对话框类,类名为“CDLOGIN”。(2)向对话框中添加按钮、组合框、图像和静态文本控件。(3)设置控件属性如表所示。 IDPropertiesMemberVariablesTypeMemberIDC_STATICType:IconImage:IDI_LOG_PEOIDC_STATICType:IconImage:IDI_LOG_LOGINID_LOG_COMNAMEType:DropListCBaseComboBoxm_ComNameID_LOG_BUTLOGINCaption:登录(&L)Ow
15、nerdraw:trueCBaseButtonm_ButLoginID_LOG_BUTEXITCaption:退出(&E)Ownerdraw:trueCBaseButtonm_ButExit6.2代码设计(1)在对话框的OnInitDialog方法中将“操作员信息表”中的用户名添加到组合框中。(2)处理“登录”按钮的单击事件,验证用户名和密码。(3)处理“退出”按钮的单击事件,如果用户单击“退出”按钮,将关闭对话框,进而结束应用程序。 7基础信息查询模块设计7.1基础信息查询模块概述在汽配管理系统中,多个基础信息模块(商品信息、往来单位信息、操作员信息等)都需要先查询出相关数据,待用户双击某条
16、记录时,再调用适当的模块进行编辑。基础信息查询就是为这些基础信息模块提供一个查询平台。基础信息查询的主要功能列举如下:可以将指定数据库的数据显示在表格中可以按照不同字段、不同条件进行查询可以通过双击某条记录打开对应的对话框支持打印功能图7-1 商品信息查询模块7.2对话框设计(1)向项目中添加一个新Dialog资源,资源ID为IDD_DIAQUERY。在IDD_DIAQUERY对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,单击“Font”按
17、钮,将Dialog资源字体更改为宋体、9号。(2)从Controls面板上向Dialog资源中添加静态文本、组合框、编辑框、按钮和列表控件,更改资源的属性,并为资源设置相对应的变量,如表7-2所示。IDPropertiesMemberVariablesTypeMemberIDC_COMFIELDSortFALSECBaseComboBoxm_ComFieldIDC_COMEMBLEMSortFALSECBaseComboBoxm_ComEmboemIDC_EDTCONDITION默认CBaseEditm_EdtConditionIDC_BUTQUERYCaption查询CBaseButtonm
18、_ButQueryIDC_BUTPRINTCaption打印CBaseButtonm_ButPrintIDC_GRID默认RxGridm_Grid图7-2 资源设置相对应的变量(3)代码设计由于对话框类CBaseQuery是通用的,需要修改构造函数,为数据成员赋值。 8商品信息模块设计8.1商品信息模块概述在上面中,介绍了基础信息查询模块,但其只实现了查询功能及调用相关类对象的功能,而这些相关类才是实现信息管理的关键。以商品信息模块为例,商品信息模块可以对商品信息进行添加、修改、删除等工作,而且还支持打印功能。商品信息管理模块运行结果如图所示。 图8-1 品信息管理模块运行结果1商品信息模块数
19、据表分析 商品信息模块主要实现商品信息的添加、修改和删除操作。该模块主要涉及“商品信息表”和“计量单位表”两张数据表。这两张数据表之间存在关联关系,如下图所示。图8-2 商品信息模块数据表关系图8.2窗体设计(1)向项目中添加一个新Dialog资源,资源ID为IDD_DIA_MERCHANDISE。在IDD_DIA_MERCHANDISE对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其“Caption”文本框内容为“商品信息管理”;单击
20、“Font”按钮,将Dialog资源字体更改为宋体、9号。(2)从Controls面板上向Dialog资源中添加编辑框、静态文本、组合框和按钮等控件,更改资源的属性,并为资源设置相对应的变量。(3)调整控件资源在Dialog中的位置。最终设计结果如图所示。 8-3 商品信息管理界面设计结果8.3代码设计程序运行后可分为两种状态:编辑状态和只读状态。用户单击“添加”或“修改”按钮后,系统进入编辑状态,此时,用户可以任意添加或修改文本框等编辑控件的值;当用户单击“保存”按钮后,系统回到初始状态即只读状态,编辑控件失效,无法进行编辑。根据这个原理,程序员制作成员函数Enabled,用来完成此功能。
21、void CDMerchandise:Enabled(bool bEnabled)m_EdtArea.EnableWindow(bEnabled);m_EdtCName.EnableWindow(bEnabled);this-m_Sell.EnableWindow(bEnabled);m_EdtMem.EnableWindow(bEnabled);m_EdtSpec.EnableWindow(bEnabled);m_EdtName.EnableWindow(bEnabled);m_EdtPrice.EnableWindow(bEnabled);m_EdtType.EnableWindow(bE
22、nabled);m_ComUnit.EnableWindow(bEnabled);m_ButUndo.EnableWindow(bEnabled);m_ButSave.EnableWindow(bEnabled);m_ButExit.EnableWindow(!bEnabled);m_ButDelete.EnableWindow(!bEnabled);m_ButChange.EnableWindow(!bEnabled);m_ButAdd.EnableWindow(!bEnabled);if(bEnabled=true)this-m_EdtName.SetFocus();elsethis-m_
23、ButSave.SetFocus();激活窗口控件,使其可编辑或可操作9日常业务处理模块设计9.1日常业务处理模块概述细心的读者也许会发现,在程序中销售、销售退货、进货、退货返厂等模块的框架基本上是一致的,没错,实际上它们都是CDInput类的对象实例。日常业务类功能强大,是系统的核心所在。它的主要功能如下:可以根据需要指定数据源以表格形式录入数据,每个单元格者应该支持IntelliSence技术具备自动核算合计数量及合计金额的功能可以根据实付金额计算出未付金额或找零金额支持打印功能销售管理是日常业务的代表,下面就以销售管理模块的运行结果为例,了解日常业务模块的庐山真面目。销售管理模块运行结果
24、如图所示。图9-1 销售管理9.2窗体设计(1)向项目中添加一个新Dialog资源,资源ID为IDD_DIA_INPUT。在IDD_DIA_INPUT对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,单击“Font”按钮,将Dialog资源字体更改为宋体、9号。(2)从Controls面板上向Dialog资源中添加静态文本、编辑框、按钮和列表视图控件,更改资源的属性,并为资源设置相对应的变量。(3)调整控件资源在Dialog中的位置。最终设计结
25、果如图所示。9.3代码设计(1)在对话框类的OnPaint方法中根据标题选择适当的图片。void CDInput:OnPaint() CPaintDC pDC(this); CBitmap bit;CDC memDC;CRect rect;this-GetClientRect(&rect);if(m_Caption=进货管理)bit.LoadBitmap(IDB_INPUT);if(m_Caption=退货返厂管理)bit.LoadBitmap(IDB_BACKF);if(m_Caption=销售管理)bit.LoadBitmap(IDB_SELL);if(m_Caption=销售退货管理)b
26、it.LoadBitmap(IDB_SELLBACK);if(m_Caption=商品调拨管理)bit.LoadBitmap(IDB_DH);memDC.CreateCompatibleDC(&pDC);/创建兼容的设备上下文memDC.SelectObject(&bit);/载入位图/绘制背景位图pDC.BitBlt(22,23,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);memDC.DeleteDC();/释放内存画布:DeleteObject(&bit);/释放位图对象(2)在对话框初始化时设置需要连接的记录集等信息。 (3)用户单击“登
27、记”按钮,系统自动生成编号及记录当前日期,且系统进入编辑状态。10开发常见问题与解决 10.1用户界面与RxGrid类的连接与使用方法 一个RxGrid类对象添加到用户界面中后,需要和RxGrid进行一系列联接后方可以使用,这些连接包括:1. 初始化初始化包括设置表头、表格行列数、列宽等信息。最重要的,需要指定弹出提示表格的父窗体。2. 增加消息响应函数RxGrid中的每个单元格实际上都是一个独立的编辑控件,当一个编辑控件获得焦点和失去焦点时,系统都会得到由RxGrid发送来的DIY_SETFOCUS和DIY_KILLFONCUS两个消息。如果要对RxGrid进行操作,就必须为这两个消息添加消
28、息响应函数。10.2其它处理RxGrid类对象中包含一个RxEdit类对象m_Edit,读者可以充分利用m_Edit的功能,实现不同的功能。打印设置、打印预览与打印对话框的调用 打印设置、打印预览与打印对话框是应用程序中重要的组成部分。在CFrameWnd中笔者处理这3个命令按钮的消息响应函数,它们是怎样被调用的呢?实际上,这3个消息都是在CView中被处理的。BEGIN_MESSAGE_MAP(CMyView, CScrollView)ON_COMMAND(ID_FILE_PRINT, CScrollView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRE
29、CT, CScrollView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView:OnFilePrintPreview)END_MESSAGE_MAP()当用户按下按钮时,系统会根据接收到的消息来调用基类中适当的函数,打印设置、打印预览与打印对话框就是这样被调用的。11调试与测试11.1调试(1)配置数据库本系统采用Oracle 11g数据库,在使用本系统前,请先安装Oracle 11g数据库,然后创建一个“sk”用户,密码建议设置为“songkun”,这样程序的改动会小一些。接着将本系统数据库目录下的“sk.dmp”文件导入到数据库中,导入方法为:在命令窗口输入:imp system/sktest_sk file= c:sk.dmp full=y说明:imp是oracle数据库导入数据的指令。system表示oracle数据库的系统用户名。sk表示system用户的密码,也就是您安装数据库时指定的实际密码。test_sk表示数据库服务ID,通常为您创建的数据库名_主机名的格式。file表示导入的数据文件,请根据实际的路径
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- .7市场部培训紫琪尔项目
- 2025年全球及中国无人机测量软件行业头部企业市场占有率及排名调研报告
- 2025年全球及中国珍珠奶茶配料行业头部企业市场占有率及排名调研报告
- 2025年全球及中国电信行业CRM软件行业头部企业市场占有率及排名调研报告
- 2025年全球及中国便携式四合一气体检测仪行业头部企业市场占有率及排名调研报告
- 2025年全球及中国塑料辅助设备行业头部企业市场占有率及排名调研报告
- 2025-2030全球机器人滚珠丝杠行业调研及趋势分析报告
- 2025年全球及中国一次性发热暖袋行业头部企业市场占有率及排名调研报告
- 2025年全球及中国金属箔电流传感贴片电阻行业头部企业市场占有率及排名调研报告
- 2025-2030全球猫咪吹风机行业调研及趋势分析报告
- 2024-2025学年广东省深圳市南山区监测数学三年级第一学期期末学业水平测试试题含解析
- 广东2024年广东金融学院招聘专职辅导员9人笔试历年典型考点(频考版试卷)附带答案详解
- DB31∕731-2020 船舶修正总吨单位产品能源消耗限额
- 2024年卫生专业技术资格考试卫生检验技术(初级(师)211)相关专业知识试题及答案指导
- 《手卫生知识培训》培训课件
- 江苏省南京鼓楼区2024年中考联考英语试题含答案
- 儿科护理学试题及答案解析-神经系统疾病患儿的护理(二)
- 15篇文章包含英语四级所有词汇
- 王阳明心学完整版本
- (汽车制造论文)机器人在汽车制造中应用
- 幼儿园手工教学中教师指导行为研究-以自贡市幼儿园为例
评论
0/150
提交评论