论文部分内容阅读
摘要:测绘仪器的管理是测量事业的重要组成部分,是一门技术性很强的专业工作.加强对测绘仪器的科学管理,对提高其社会效益和经济效益都起着重要的作用。为了弥补这方面的不足,本设计从建立和维护后台数据库以及前台程序的开发两个方面完成测绘仪器信息管理系统以利于测绘仪器的管理和使用。
关键字:数据库,信息管理系统,测绘仪器管理
0前言
目前市场上各种管理软件花样繁多、层出不穷,更是涉及到社会各个领域,但是却没有任何一款软件是为测绘仪器的管理而开发的。测绘仪器的管理是测量事业的重要组成部分,是一门技术性很强的专业工作,加强对测绘仪器的科学管理,对提高其社会效益和经济效益都起着重要的作用。所以,本设计将要弥补这方面的不足,开发出测绘仪器信息管理系统,通过借出、还入、维修等功能可以对仪器进行维护,保证每一件测绘仪器都能得到很好的管理。经过分析,本设计使用Microsoft公司的Visual C++开发工具,后台用Acess数据库,它是采用ODBC数据源动态加载的方法实现的[1]。
1测绘仪器管理的意义
科学技术日新月异的今天,测绘仪器日趋电子化、自动化、精密化,这就对仪器的使用操作人员提出了新的更高的要求。首先把爱护测绘仪器的宣传教育,当作一项经常性的工作来做,使每个测量人员树立主人翁责任感,养成爱护仪器的习惯,同时必须具有一定技术知识,熟练仪器的操作技能,对于精密电子仪器还应进行专门培养。经过考核合格后,方能单独操作。要使仪器处于良好状态,延长使用期限,还须创造良好的库房条件,按不同仪器的性能要求采取必要的防护、防潮、降湿等措施,才能确保仪器处于良好状态,否则将影响仪器精度妨碍正常使用[2]。
2测绘仪器管理信息系统的设计
本设计就是通过一系列的查询功能,可以方便的知道测绘仪器现在的状态和所处的位置;通过查询、添加功能,可以动态的对测绘仪器进行管理;通过借出、还入、修理功能,可以对测绘仪器进行维护,保证每一件测绘仪器都能发挥最大的效力。
2.1数据库的设计
根据测绘仪器管理信息系统的功能要求,本設计共设计了10个表进行数据的存取,数据库中的各表并不是相互独立的,它们之间通过字段进行关联。
1)“仪器信息”表用于存储所有测绘仪器的剧本信息,表中字段“仪器类别ID”、“使用部门ID”、“存放地点ID”、“增加方式ID”、“保管人员ID”分别与表“仪器类别”、“部门”、“存放地点”、“增加方式”、“保管人员”相关联。
2)“借出还入仪器”表的字段“仪器ID”、“借用部门ID”分别与表“仪器信息”、“部门”相关联。通过“仪器ID”获得仪器的详细信息,通过“借用部门ID”可以得到借用部门的名称。
3)“清理仪器”表的字段“仪器ID”、“清理方式ID”分别与表“仪器信息”、“清理方式”相关联。通过“仪器ID”获得仪器的详细信息,通过“清理方式ID”可以得到仪器的具体清理方式。
4)“维修仪器”表的字段“仪器ID”与表“仪器信息”相关联。关系结构图见图2-1所示[3]。
图2-1 表关系结构图
Fig2-1 Table relations structure drawing
2.2系统功能的设计
根据测绘仪器管理的需要和要求,本设计主要有3大功能模块:档案设置、仪器管理、查询。其详细的模块组织结构见图2-2所示。
图2-2 模块组织结构
Fig.2-2 Module organizational structure
主要代码:
1)在主视窗类中为各菜单项添加处理函数
主视窗的处理函数主要为对话框类的变量m_strTableName、m_strField、m_strLable传递初始化参数。这3个变量的意义分别为应该去的数据表的名称、数据表中的第二个字段的名称、名称编辑框前的提示标签值。下面以仪器类别为例介绍相关代码:
void CFixedAssetsView::OnAssettype()
{ CDossierDlgdlg;
//为类CDossierDlg建立新对象
dlg.m_strTableName=”仪器类别”;
//确定应该读取数据库中的表“仪器类别”
dlg.m_strField=”仪器类别”;
//表“仪器类别”的名称字段为“仪器类别”
dlg.m_strLable=”仪器类别”;
//名称编辑框前提示标签信息为“仪器类别”
dlg.DoModal(); } //显示模式对话框
2) 重载对话框的OnInitDialog函数,主要完成数据库的连接、列表框的数据刷新和编辑框控件清空操作。
3) 重载DestoryWindow函数,在窗口关闭时自动被调用,在该函数中主要完成断开与数据库连接的操作。代码如下:
BOOL CDossierDlg::Destroy Window()
{…m_pDatabase->Close();
delete m_pDatabase;
m_pDatabase=NULL;
…}
4) 编写Refresh函数,用于根据数据库刷新列表框控件,清空编辑框控件。
5) 实现列表框控件LVN_ITEMGCHANGED消息函数,当列表框发生变化时该函数自动被调用。作用是当列表框中的一个条目被选中时,将该条目对应的信息显示到相应的编辑对话框中,使“添加”、“修改”、“删除”按钮变为可用,“保存”、“取消”按钮不可用;当没有条目被选中时,“修改”、“删除”、“保存”“取消”按钮不可用,只有“添加”按钮可以用,同时将编辑框控件内容清空并使其不可用。
所有的模块设计完成后,将其组织起来,并加一些必要的信息,再添加一张主界面图片,调试运行整个设计,无错便完成。主界面效果如图2-3所示。
图2-3 主界面效果图
Fig.2-3 The effect fig of the main interface
3结论
本设计就是基于增强测绘仪器管理的想法开发出来的。可以解决以前那种手工记录仪器档案的繁琐和避免产生不必要的错误,用VC++来设计一个管理的信息系统,实现了仪器的基本管理,数据库可以长久的保存和便于更新仪器的信息,并且易于整理[4]。
参考文献
[1] 赵石麟.加强测绘仪器管理的初探[J].测绘科技通讯,总第63期 第17卷(1994):49~50,66.
[2] 陈勇,蔡淑琴.管理信息系统的发展动因及趋势研究[J].商业研究,2005年第14期,总第322期:4~6.
[3] 张文沂(等).Microsoft Access数据库应用基础[M].天津大学出版社,2001.
[4] 张海棠.Visual C++编程指南[M].北京:航空工业出版社,2000.
注:文章内所有公式及图表请用PDF形式查看。
关键字:数据库,信息管理系统,测绘仪器管理
0前言
目前市场上各种管理软件花样繁多、层出不穷,更是涉及到社会各个领域,但是却没有任何一款软件是为测绘仪器的管理而开发的。测绘仪器的管理是测量事业的重要组成部分,是一门技术性很强的专业工作,加强对测绘仪器的科学管理,对提高其社会效益和经济效益都起着重要的作用。所以,本设计将要弥补这方面的不足,开发出测绘仪器信息管理系统,通过借出、还入、维修等功能可以对仪器进行维护,保证每一件测绘仪器都能得到很好的管理。经过分析,本设计使用Microsoft公司的Visual C++开发工具,后台用Acess数据库,它是采用ODBC数据源动态加载的方法实现的[1]。
1测绘仪器管理的意义
科学技术日新月异的今天,测绘仪器日趋电子化、自动化、精密化,这就对仪器的使用操作人员提出了新的更高的要求。首先把爱护测绘仪器的宣传教育,当作一项经常性的工作来做,使每个测量人员树立主人翁责任感,养成爱护仪器的习惯,同时必须具有一定技术知识,熟练仪器的操作技能,对于精密电子仪器还应进行专门培养。经过考核合格后,方能单独操作。要使仪器处于良好状态,延长使用期限,还须创造良好的库房条件,按不同仪器的性能要求采取必要的防护、防潮、降湿等措施,才能确保仪器处于良好状态,否则将影响仪器精度妨碍正常使用[2]。
2测绘仪器管理信息系统的设计
本设计就是通过一系列的查询功能,可以方便的知道测绘仪器现在的状态和所处的位置;通过查询、添加功能,可以动态的对测绘仪器进行管理;通过借出、还入、修理功能,可以对测绘仪器进行维护,保证每一件测绘仪器都能发挥最大的效力。
2.1数据库的设计
根据测绘仪器管理信息系统的功能要求,本設计共设计了10个表进行数据的存取,数据库中的各表并不是相互独立的,它们之间通过字段进行关联。
1)“仪器信息”表用于存储所有测绘仪器的剧本信息,表中字段“仪器类别ID”、“使用部门ID”、“存放地点ID”、“增加方式ID”、“保管人员ID”分别与表“仪器类别”、“部门”、“存放地点”、“增加方式”、“保管人员”相关联。
2)“借出还入仪器”表的字段“仪器ID”、“借用部门ID”分别与表“仪器信息”、“部门”相关联。通过“仪器ID”获得仪器的详细信息,通过“借用部门ID”可以得到借用部门的名称。
3)“清理仪器”表的字段“仪器ID”、“清理方式ID”分别与表“仪器信息”、“清理方式”相关联。通过“仪器ID”获得仪器的详细信息,通过“清理方式ID”可以得到仪器的具体清理方式。
4)“维修仪器”表的字段“仪器ID”与表“仪器信息”相关联。关系结构图见图2-1所示[3]。
图2-1 表关系结构图
Fig2-1 Table relations structure drawing
2.2系统功能的设计
根据测绘仪器管理的需要和要求,本设计主要有3大功能模块:档案设置、仪器管理、查询。其详细的模块组织结构见图2-2所示。
图2-2 模块组织结构
Fig.2-2 Module organizational structure
主要代码:
1)在主视窗类中为各菜单项添加处理函数
主视窗的处理函数主要为对话框类的变量m_strTableName、m_strField、m_strLable传递初始化参数。这3个变量的意义分别为应该去的数据表的名称、数据表中的第二个字段的名称、名称编辑框前的提示标签值。下面以仪器类别为例介绍相关代码:
void CFixedAssetsView::OnAssettype()
{ CDossierDlgdlg;
//为类CDossierDlg建立新对象
dlg.m_strTableName=”仪器类别”;
//确定应该读取数据库中的表“仪器类别”
dlg.m_strField=”仪器类别”;
//表“仪器类别”的名称字段为“仪器类别”
dlg.m_strLable=”仪器类别”;
//名称编辑框前提示标签信息为“仪器类别”
dlg.DoModal(); } //显示模式对话框
2) 重载对话框的OnInitDialog函数,主要完成数据库的连接、列表框的数据刷新和编辑框控件清空操作。
3) 重载DestoryWindow函数,在窗口关闭时自动被调用,在该函数中主要完成断开与数据库连接的操作。代码如下:
BOOL CDossierDlg::Destroy Window()
{…m_pDatabase->Close();
delete m_pDatabase;
m_pDatabase=NULL;
…}
4) 编写Refresh函数,用于根据数据库刷新列表框控件,清空编辑框控件。
5) 实现列表框控件LVN_ITEMGCHANGED消息函数,当列表框发生变化时该函数自动被调用。作用是当列表框中的一个条目被选中时,将该条目对应的信息显示到相应的编辑对话框中,使“添加”、“修改”、“删除”按钮变为可用,“保存”、“取消”按钮不可用;当没有条目被选中时,“修改”、“删除”、“保存”“取消”按钮不可用,只有“添加”按钮可以用,同时将编辑框控件内容清空并使其不可用。
所有的模块设计完成后,将其组织起来,并加一些必要的信息,再添加一张主界面图片,调试运行整个设计,无错便完成。主界面效果如图2-3所示。
图2-3 主界面效果图
Fig.2-3 The effect fig of the main interface
3结论
本设计就是基于增强测绘仪器管理的想法开发出来的。可以解决以前那种手工记录仪器档案的繁琐和避免产生不必要的错误,用VC++来设计一个管理的信息系统,实现了仪器的基本管理,数据库可以长久的保存和便于更新仪器的信息,并且易于整理[4]。
参考文献
[1] 赵石麟.加强测绘仪器管理的初探[J].测绘科技通讯,总第63期 第17卷(1994):49~50,66.
[2] 陈勇,蔡淑琴.管理信息系统的发展动因及趋势研究[J].商业研究,2005年第14期,总第322期:4~6.
[3] 张文沂(等).Microsoft Access数据库应用基础[M].天津大学出版社,2001.
[4] 张海棠.Visual C++编程指南[M].北京:航空工业出版社,2000.
注:文章内所有公式及图表请用PDF形式查看。