出租车公司管理系统(4)

2020-06-03 14:10

武汉科技大学本科毕业设计

3 数据库的实现

3.1. 创建数据库

1.打开数据库的企业管理器

2.展开服务器组展开服务器组,然后展开服务器。 3.右击\数据库\,然后单击\新建数据库\命令。

4.键入新数据库的名称。用指定的数据库名作为前缀创建主数据库和事务日志文件,例 如:newdb_Data.mdf 和 newwdb_Log.ldf。数据库和事务日志文件的初始大小与为 model 数据库指定的默认大小相同。主文件中包含数据库的系统表。

5.要更改新建主数据库文件的默认值,单击\常规\选项卡。若要更改新建事务日志文件 的默认值,单击\事务日志\选项卡。 6.要更改\文件名\、\位置\、\初始大小 (MB)\和\文件组\(不适用于事务日志)等 列的默认值,单击要更改的适当单元格,再键入新值。

3.2 创建数据库表

设计完数据库后就可创建数据库中将存储数据的表。数据通常存储在永久表中。表存 储在数据库文件中,任何有相应权限的用户都可以对之进行操作,除非它已被删除。

1.确保已连接到要在其中创建表的数据库。右击目标数据库的表节点并选择\新建表\命 令。

2.添加列以及表的其它详细信息。对于所添加的每一列,都有新行出现在表设计器的上 半部分。在该行内,可以编辑列的基本属性。可以在表设计器的下半部分编辑列的其 它属性。只需单击表设计器上半部分内的某行,然后添加或编辑出现在下半部分内的 属性值。

创建项目

根据需求分析和系统的功能,是用Visual C++ 6.0 创建一个基于单文档的MFCAppWizard(exe)项目,项目名为TMS。使用AppWizard配置得到的项目信息如图3.1所示

―12―

武汉科技大学本科毕业设计

图3.1 由AppWizard配置得到的TMS项目信息

创建项目后,Visual C++呈现给使用者的是一个CTMSView视图,本例的主界区其实就是在这个视图的基础上开始设计的。采用切分视图的方法将主界面的客户区分为两个视图,左边的是树视图,左边则根据不同情况可以是列表视图,也可以是一个FormView。

3.3 主框架的设计

(1)新增左边的树视图类CleftTreeView

从菜单栏中选择Insert→New Class 命令,增加一个类,名为“CLeftTreeView”,基类为CTreeView。

(2)新增右边显示各类信息的列表视图CSubListView

从菜单栏中选择Insert→New Class 命令,增加一个类,名为“CSubListView”,基类为CListView。

(3)新增右边显示欢迎界面的FORM视图类CMainItemView

―13―

武汉科技大学本科毕业设计

由于FORM视图类需要FORM资源才能建立,这里先建立一个没有控件的FORM资源,完成类的建立。

从菜单栏中选择Insert→Resource命令,弹出Insert Resource对话框。在Resource Type列表中选择Dialog→IDD_FORMVIEW,如图3.2所示,单击新建按钮插入对话框资源,其ID设为IDD_FORMVIEW_MAINTEM。

图3.2 Insert Resource 对话框

双击IDD_FORMVIEW_MAINTEM对话框资源,或者从菜单栏中选择View→ClassWizard 命令,增加类“CMainItemView”,选择基类为CFormView,对话框资源为IDD_FORMVIEW_MAINTEM。

(4)创建主框架的客户区 ① 定义视图对象

由于右边的视图是不确定的,会根据具体情况在CSubListView和CMainItemView之间切换。所以在类CMainFrame声明前定义2个常量,表示右边视图的类型,并在其后加入声明,具体实现代码入附录A

由于左边的视图是控制区,大部分操作需要调用左边的视图来了解程序所处的状况。所以将其定义为全局变量:

//TMS.cpp CMTSApp theApp

CLeftTreeView *m_pLeftView; //TMS.h

extern CMTSApp theApp

extern CLeftTreeView *m_pLeftView;

―14―

武汉科技大学本科毕业设计

②视图分割

为了将客户区分为左右两部分,需要使用分隔条,于是在CMainFrame类中增加一个CSplitterWnd类型的成员变量m_wndSplitter,访问方式为protected,其代码如下:

Protected:// control bar embedded members CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; CSplitterWnd m_wndSplitter;

通过ClassWizard 为类CMainFrame增加虚函数OnCreateClient,在该函数中创建被分为两部分的客户区。其中左边为CleftTreeView,右边开始设为CMainItemView,其具体实现代码如附录B

③ 视图切换函数SwitchToView

右边的视图是不确定的,会根据具体情况在CMainItemView和

CSubListView之间切换。为了切换方便,为CMainFrame类增减一个public类型的函数SwitchToView,其具体实现代码如附录C

④树项选择函数OnSelchanged

上一步,我们完成了根据主项和子项切换不同的视图。而不同的子项虽然视图相同,但显示的内容却有差别,可完成的功能均有差异。为了区分树中不同的项,加入全局变量SelItemType。

在TMS.cpp中定义如下: CTMSApp.theApp;

CLeftTreeView *m_pLeftView; Int SeiItemType;

通过树项选择函数OnSelchanged,将选择结果记录到全局变量SelItemType中,修改密码除外,选择它时,弹出修改密码对话框。具体实现代码如附录D

3.4 数据库操纵

数据库的操纵包括查询、插入、修改、删除等。为了实现同一借口操作,我们用函数ADOExecute统一所有的操作。

(1)引入ADO动态链接库

在StdAfx.h中加入,具体实现代码附录E (2)定义智能指针对象

在类CTMSApp的头文件中定义,具体实现代码入附录F (3)初始化智能指针

在CTMSApp的Initinstance方法中初始化,具体实现代码如附录E

―15―

武汉科技大学本科毕业设计

这里采用ADO直接连接数据库服务的方式。 (4)统一接口ADOExecute的实现

在CTMSApp中添加新方法,具体实现代码入附录G

―16―


出租车公司管理系统(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在全省企业科协秘书长培训班上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: