企业设备管理系统Word文档格式.docx
- 文档编号:20305324
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:16
- 大小:81.59KB
企业设备管理系统Word文档格式.docx
《企业设备管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《企业设备管理系统Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
出时间和借出设备信息,如果送还乐成,还需要显示设备送还时间。
3.设备统计信息治理
设备统计信息治理包罗对设备借出历史信息、设备使用频率信息和未送还设备列表信
息的治理。
设备借出历史统计显示了一个设备所有的借出历史,便于跟踪设备的使用情况
如果设备出现问题,还可以顺藤摸瓜,查到谁有可能把设备弄坏了,从而找到设备损坏的
原因,便于实时修理。
设备使用频率统计提供了设备借出次数的统计信息,如果一个设备
借出的非常频繁,那么企业可以考虑多购置这种设备,从而提高公司的效率。
未送还设备
列表提供了尚未送还的设备信息,企业可以知道借出设备的使用情况。
功效模块设计
从上面的功效描述中,可以把企业设备治理系统分为3个模块:
设备库存治理、设备
借出送还治理和设备统计信息治理。
在每一个模块下又提供了更为具体的功效。
详细的企
业设备治理系统的功效模块图,如图4-1所示。
图4-1系统功效模块图
4.2数据库设计与实现
数据库设计的一个巧妙之处就是表的数量不能太多,逻辑条理也不能太多;
不然
统的升级和维护将会非常困难。
通过对系统功效的阐发,企业设备治理系统需要包罗以下数据库信息。
1.设备信息
包罗设备编号、设备名称、设备描述、设备入库时间、设备购置人、设备借出状
设备借出ID。
2.设备借出信息
包罗设备借出ID、设备编号、借出人、借出时间和送还时间。
通过数据库的需求,可以创建以下数据表。
1.设备信息表(device_info_tab)
设备信息表包罗了设备的一些根本信息,还包罗设备的借出信息,设备的库存治理和
设备的借出送还治理都需要操纵这个数据表,表的结构见表4-1。
表4-1设备信息表
字段名称数据类型可否为空约束条件说明
device_codeVARCHAR2(24)NOTNULL主键设备编号,要惟一
device_nameVARCHAR2(24)NOTNULL无设备名称
descriptionVARCHAR2(1000)NULL无设备描述
oper_dateDATENOTNULL无设备入库时间
buyerVARCHAR2(24)NULL无设备购置人
Lend_statusINTEGERNULL无设备借出状态
lend_idINTEGERNULL无设备借出ID,借出ID是惟一的但可以为空
2.设备借出信息表(device_lend_info_tab)
设备借出信息表包罗了设备的借出和送还信息,设备借出、设备送还,以及统计信息
的治理都需要用到这个数据表,表的结构见表4-2。
表4-2设备借出信息表
lend_idINTEGERNOTNULL主键借出ID,ID值从系列中获取)
device_codeVARCHAR2(24)NOTNULL外键(device_info_tab)设备编号
borrowerVARCHAR2(24)NOTNULL无借出人
borrow_dateDATENULL无设备借出时间
return_dateDATENULL无设备送还时间
利用第3章中报告的要领创建表空间dbdevice和数据库用户dbdevice,其中数据库用
户的密码为dbdevice,选择的默认表空间为dbdevice。
创建企业设备治理系统的所有数据表的SQL语句如下:
--创建立备信息表
CREATETABLEdevice_info_tab(
device_codeVARCHAR2(24)NOTNULL,
device_nameVARCHAR(24)NOTNULL,
descriptionVARCHAR(1000)NULL,
oper_dateDATENOTNULL,
buyerVARCHAR2(24)NULL,
lend_statusINTEGERNULL
CHECK(lend_statusIN(0,1)),
lend_idINTEGERNULL
);
--添加设备编号主键
ALTERTABLEdevice_info_tab
ADD(PRIMARYKEY(device_code));
--创建立备借出信息表
CREATETABLEdevice_lend_info_tab(
lend_idINTEGERNOTNULL,
borrowerVARCHAR(24)NOTNULL,
borrow_dateDATENULL,
return_dateDATENULL
--添加借出ID主键
ALTERTABLEdevice_lend_info_tab
ADD(PRIMARYKEY(lend_id));
--添加设备编号外键
ADD(FOREIGNKEY(device_code)
REFERENCESdevice_info_tab);
--创建可以递增的系列号供lend_id使用
CREATESEQUENCEseq_lend_idINCREMENTBY1STARTWITH1
NOMAXVALUENOMINVALUENOCYCLE;
利用OracleSQLPlusWorkSheet东西执行上述的SQL语句从而创建数据库表。
需要说
明的是,在打开OracleSQLPlusWorksheet的“OracleEnterpriseManager登录”窗口的时
候,需要在“用户名”文本框中输入企业设备治理系统的用户名dbdevice,在“口令”文
本框中输入用户密码dbdevice,在“办事”文本框中输入数据库的当地办事名ORADB,
选择连接方法Normal,登录乐成后,再运行上述的SQL语句。
4.3系统的实现
完成了系统功效模块的设计和数据库表的创建后,就可以创建一个企业设备治理系
统。
步伐
运行VisualC++,选择File|New命令,弹出New对话框。
从Projects列表中选择MFC
AppWizard(exe)向导,在Location文本框中选择项目工程的目录“D:
\VCSAMPLE\”,在
Projectname文本框中输入工程文件的名称DeviceDBS,单击OK按钮,进入MFC
AppWizard–Step1页面,从应用步伐的类型中选择Dialogbased选项,从语言列表中选择
“中文(中国)(APPWZCHS.DLL)”,单击Finish按钮,DeviceDBS对话框的应用步伐创建完
毕。
主对话框的结构如图4-2所示。
其中包罗设备库存治理、设备借出送还治理和设备统
计信息治理3个部门。
3.设备库存治理
控件类型、ID及说明见表4-3。
表4-3设备库存治理控件列表
控件类型ID属性变量或函数
GroupBoxIDC_STATIC设备库存治理无
LabelIDC_STATIC设备编号无
EditBoxIDC_EDIT_DEVICECODE无CString类型变量m_strDeviceCode
LabelIDC_STATIC设备名称无
EditBoxIDC_EDIT_DEVICENAME无CString类型变量m_strDeviceName
LabelIDC_STATIC购置人无
EditBoxIDC_EDIT_BUYER无CString类型变量m_strBorrower
LabelIDC_STATIC入库时间无
DateTimePickerIDC_DT_DATEShortDateCOleDateTime类型变量m_oleOperDate
DateTimePickerIDC_DT_TIMETimeCOleDateTime类型变量m_oleOperTime
LabelIDC_STATIC设备说明无
EditBoxIDC_EDIT_DESCRIPTION无CString类型变量m_strDescription
ButtonIDC_BTN_DEVICE_ADD新设备入库函数OnBtnDeviceAdd()处置惩罚新设备的入库治理
ButtonIDC_BTN_DEVICE_MOD修改设备信息函数OnBtnDeviceMod()修改设备信息
ButtonIDC_BTN_DEVICE_DEL库存清理函数OnBtnDeviceDel()处置惩罚库存设备的清理治理
GroupBoxIDC_STATIC设备信息无
ListControlIDC_LIST_DEVICE无列表框控件类型变量m_listDevice
4.设备借出送还治理
控件类型、ID及说明见表4-4。
表4-4设备借出送还治理控件列表
GroupBoxIDC_STATIC设备借出送还治理无
LabelIDC_STATIC请输入借书人无
EditBoxIDC_EDIT_BORROWER无CString类型变量m_strBorrower
LabelIDC_STATIC请选择设备名称无
ComboBoxIDC_COMBO_NAME无列表框控件变量m_comboName,CString类型变量
m_strSelectedName
LabelIDC_STATIC请选择设备编号无
ComboBoxIDC_COMBO_CODE无列表框控件变量m_comboCode,CString类型变量
m_strSelectedCode
ButtonIDC_BTN_LEND借出函数OnBtnLend()处置惩罚设备借出治理
ButtonIDC_BTN_RETURN送还函数OnBtnReturn()处置惩罚设备送还治理
GroupBoxIDC_STATIC借出信息无
ListControlIDC_LIST_LEND无列表框控件类型变量m_listLend
5.设备统计信息治理
控件类型、ID及说明见表4-5。
表4-5设备统计信息治理控件列表
GroupBoxIDC_STATIC设备统计信息治理无
ButtonIDC_BTN_LEND_LIST设备借出历史统计函数OnBtnLendList()处置惩罚设备借出历史统计
ButtonIDC_BTN_FREQUENCY_LIST设备使用频率统计函数OnBtnFrequencyList()处置惩罚设备使用频率统计
ButtonIDC_BTN_LENT_DEVICE未送还设备列表函数OnBtnLentDevice()处置惩罚未送还设备统计
ButtonIDC_SYS_EXIT退出函数OnSysExit()处置惩罚系统退出代码
主对话框类名称为CDeviceDBSDlg,资源ID为IDD_DEVICEDBS_DIALOG,对话框
名称为“企业设备治理系统”。
主界面用到了两个列表框控件分别显示设备信息和借出信息。
需要为这两个列表框控件添加显示的列,从而显示相应的数据信息。
为了代码设计的清晰,
在CDeviceDBSDlg类中界说了一个InitControl私有函数卖力添加控件的显示列,InitControl
函数的代码如下:
voidCDeviceDBSDlg:
:
InitControl()
{{
//设置列表框控件扩展气势派头
DWORDdwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|
LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_UNDERLINEHOT;
m_listDevice.SetExtendedStyle(dwExStyle);
m_listLend.SetExtendedStyle(dwExStyle);
//初始化设备信息列表框控件
m_listDevice.InsertColumn(0,"
设备编号"
LVCFMT_CENTER,80);
m_listDevice.InsertColumn(1,"
设备名称"
m_listDevice.InsertColumn(2,"
设备入库时间"
LVCFMT_CENTER,140);
m_listDevice.InsertColumn(3,"
设备购置人"
m_listDevice.InsertColumn(4,"
设备描述"
LVCFMT_CENTER,200);
//初始化议题列表框控件
m_listLend.InsertColumn(0,"
借出ID"
m_listLend.InsertColumn(1,"
m_listLend.InsertColumn(2,"
m_listLend.InsertColumn(3,"
借出人"
m_listLend.InsertColumn(4,"
设备借出时间"
m_listLend.InsertColumn(5,"
设备送还时间"
}
在OnInitDialog函数末尾处添加InitControl函数的调用,这样系统在启动的时候,就
可以看到已添加显示列的列表框控件。
当系统启动之后,可以将数据库中的数据显示到界面上,需要处置惩罚数据库的连接和显
示数据到界面上的两个历程。
1.数据库的连接
数据库的连接需要3个参数:
ODBC数据源名称、数据库用户名称和数据库用户密码。
其中数据源名称为ORADB,数据库用户的名称和密码均为dbdevice。
考虑到读者配置的
数据源和用户名可能不一样,可以从配置文件中获取这些参数信息,配置文件的格式如下:
[General]
数据库数据源=oradb
数据库用户=dbdevice
数据库密码=dbdevice
把这段文字生存为DeviceDBS.ini文件,可以凭据读者自己配置的数据源、数据用户
和密码修改文件中的相应设置,并把DeviceDBS.ini文件放在DeviceDBS.exe运行步伐的
同一目录下。
在CDeviceDBSDlg类中界说了一个私有类型的ConnectDB函数,处置惩罚数据库的连接,
代码如下:
ConnectDB()
{
charszPath[255];
//获取应用步伐完全路径
:
GetModuleFileName(NULL,szPath,255);
CStringstrFileName=szPath;
//获取所在的目录名称
strFileName.Delete(strFileName.ReverseFind(’\\’)+1,strFileName.GetLengt
h()-strFileName.ReverseFind(’\\’)-1);
//结构配置文件的完全路径
strFileName+="
DeviceDBS.ini"
;
TCHARsz[101];
memset(sz,0,sizeof(TCHAR)*101);
//获取配置文件中数据库数据源的值,如果没有,默认值为oradb
GetPrivateProfileString(_T("
General"
),_T("
数据库数据源
"
oradb"
),sz,100,strFileName);
CStringstrSource(sz);
数据库用户
dbdevice"
CStringstrUser(sz);
数据库密码
CStringstrPwd(sz);
//创建连接字符串.
CStringstrConnect;
strConnect.Format("
DSN=%s;
UID=%s;
PWD=%s"
strSource,strUser,strPwd);
//打开数据库的连接,而且捕捉异常
TRY{
m_db.OpenEx(strConnect,CDatabase:
noOdbcDialog);
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->
m_strError);
m_strStateNativeOrigin);
AND_CATCH(CMemoryException,pEx)
pEx->
ReportError();
AfxMessageBox("
memoryexception"
AND_CATCH(CException,e)
TCHARszError[100];
e->
GetErrorMessage(szError,100);
AfxMessageBox(szError);
END_CATCH
InitCtrlData();
函数ConnectDB利用系统的GetPrivateProfileString函数从文件中获取数据库的配置参
数,GetPrivateProfileString函数的原型如下:
DWORDGetPrivateProfileString(
LPCTSTRlpAppName,
LPCTSTRlpKeyName,
LPCTSTRlpDefault,
LPTSTRlpReturnedString,
DWORDnSize,
LPCTSTRlpFileName
其中第1个参数是Section的名称,对应DeviceDBS.ini文件中的General,即中括号
所包罗的内容General;
第2个参数是键的名称,如DeviceDBS.ini文件中的“数据库数据
源”、“数据库用户”和“数据库密码”;
第3个参数是默认值,如果没用乐成得到键值,那
么就取lpDefault代表的数据;
第4个参数是生存键值的缓冲区;
第5个参数是缓冲区的大
小;
第6个参数是文件的完全路径。
由于第6个参数需要获取文件DeviceDBS.ini的完全路径,因而需要利用系统的
GetModuleFileName函数先获取应用步伐DeviceDBS.exe所在的路径(因为DeviceDBS.ini
文件和应用步伐DeviceDBS.exe在同一目录下),然后结构配置文件DeviceDBS.ini的完全
路径。
当从文件中获取到数据库配置参数之后,就可以创建数据库连接字符串,利用
CDatabase的OpenEx要领打开数据库的连接,并处置惩罚数据库的异常。
2.显示数据到界面上
连接数据库之后,需要把数据库中的设备信息显示到设备信息列表框控件中,并刷新
借出送还治理中的设备名称和设备编号两个列表框中的显示数据。
因而在CDeviceDBSDlg
类中界说了一个InitCtrlData私有函数,卖力显示这些数据。
同时还界说一个
RefreshComboNameData函数,凭据数据库的最新数据刷新借出送还治理中的两个列表框
的数据。
在对设备信息添加、修改和删除之后都需要调用RefreshComboNameData函数来
更新列表框中的显示数据。
同时还需要界说两个分别把数据插入到列表框控件中的函数,
分别为:
InsertDeviceInfoItem和InsertLendInfoItem。
在连接数据库乐成之后,不需要显示
借出信息,因为比力多,也不是很重要,只需在借出和送还乐成之后显示借出信息。
在
DeviceDBSDlg.h文件中添加这4个私有函数的界说,代码如下:
//从数据库获取设备信息并更新到控件中
void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 设备管理 系统