铁水衡计量管理软件数据库的开发

类别:最新资讯 时间:2018-03-14 点击:83 次

本文叙述了用VC+ + 6. 0及Access2000共同开发的铁水计量程序,VC设计主 程序界面,使用ADO技术访问并操作数据库,实现数据的随机存取。
1 .前言
企业管理实现信息化、数字化是现代企业发展的 必然趋势。鄂钢铁水衡计量以往都是手工记录数据, 为了实现铁水计量的自动化、信息化,增加数据的准 确性,提高生产效率;计控中心对铁水衡计量系统进 行改造并成立了开发小组,任务是完成一个关于铁水 衡计量数据的采集,数据的查询与统计的系统,我的 任务是数据库的设计及数据处理相关程序的设计。
软件使用VC + + 6. 0及Access2000进行编程。 VC+ +6. 0是微软公司的一种编程工具,Access2000 是一种关系型数据库。ADO技术是微软公司推出的 一种新的数据库访问技术;在VC中结合ADO控件 很容易实现对数据库的访问及操作。
2.系统概述
本系统的的目的是要将铁水的各种相关信息记 录到数据库中并完成相关处理。
经过认真分析铁水计量的工作过程及相关部门 的要求,将整个程序初步分为计毛重过程和计皮重过 程。用户先通过登录验证程序,进入主界面,当计毛 重时候,用户执行计操作,毛重及相关数据计入数据 库中并打印流水;当铁水罐退皮时,用户执行计皮操 作,软件自动从数据库中找到相符的毛重信息,求出 净重,将相关信息计入数据库中,同时打印流水及单 据。完成后继续计量过程。
3.系统实现
本程序数据库部分用Access2000实现,程序部 分用VC+ +6. 0实现;VC+ +是一种面向对象的编 程语言,采用了先进的面对对象的设计思想及方法, 因此VC+ +功能十分强大、使用灵活。使用VC对 数据库进行操作时使用了 ADO技术。
ADO是Microsoft为最新和最强大的数据访问范 例OLE DB而设计的,是一个便于使用的应用程序层 接口。ADO使您能够编写应用程序以通过OLEDB 提供者访问和操作数据库服务器中的数据。ADO最 主要的优点是易于使用、速度快、内存支出少和磁盘 遗迹小。ADO模型定义了三个'一般对象:Connection 对象,Command对象,Recordset对象。本程序中主要 用Connection对象连接数据库,用Recordset对象对 数据库进行操作。
4.系统功能实现
本程序是要实现铁水计量信息的数据库管理。 根据铁水计量房的日常工作情况,大致将程序分为如 下两个大块:
1、毛重记录功能:本功能实现根据计量员输入的 铁水罐罐号及毛重信息数据记录进数据库。
2、皮重记录功能:本功能实现根据计量员输入的 铁水罐相关信息,按罐号查找到相应的毛重,再根据 当时的皮重算出净重;再把所需其他信息记入数据库 中。
为了保证计量数据的可靠及稳定性,在计皮及计 毛之前弹出提示对话框,并取两个有一定时间间隔的 重量信息进行比较,如果比较结果在可以接受范围内 则可以计量,反之贝嚅重新计量。为了防止操作员的 误操作,在计毛前先搜索近期内有无相同罐号未退皮 的铁水罐,有则给予提示询问是否继续,若无则继续。
5.主体程序的实现
本程序由于使用了 ADO技术,在程序的stdafk. h 头文件里用直接引入符号#import引入ADO库文件, 代码如下:
#impcrt c: prcgram files common files system ado msado15. dll ?no namespace rename (EOF?,砧oEOF?在使用ADO对象之前要现建立 一个连接,在程序中SAA7134Demo类的Initlnstance ()成员函数中加入代码如下:
HRESULT hr = m pCamection. CreateInstance(" ADODB. Connection") ; //创建 //Connectioi 对象 if (SUCCEEDED( hr)) { hr =m pCcnnection - > Open (Provider = Microsoft. Jet. OLEDB. 4. 0; Data Source = d:铁水第一计量 datebase db1.mdb? ?“ , ad- ModeUnknown); //连接数据库
//上面一句中连接字串中的Provider是针对 ACCESS2000环境的,对于ACCESS97,需要改为:Pro> vider = Microsoft. Jet. OLEDB. 3. 51; }必须注意的是, ADO库是一组COM动态库,这意味应用程序在调用 ADO前,必须初始化CLE/COM库环境。在MFC应 用程序里,一个比较好的方法是在应用程序主类的 Initlnstance成员函数里初始化OLE /COM库环境。 在上面的程序前面加上下面的代码:
if( ! A&OleInit ( )) / /这就是初始化 COM库{ AfxMessageBox ( LE 初始化出错! ”); return FALSE; } ADO库包含三个基本接 口 : ConnectioiPtr 接 口、CommandPtr接 口 和 RecordsetPtr 接 口。
Conn ectionPtr接口返回一个记录集或一'个空指 针。CommandPtr接口返回一个记录集。Record-setPtr 是 一个记录集对象。在本程序中使用Connec- tionPtr建立连接,用RecordsetPtr执行操作。在主界 面类初始化函数中得到数据集,程序如下:
m pRec. CreateInstance( ADODB. Recordset?); m pRec - > Open( SELECT * FROM 计量数
据 ?,variant t( (IDispatch * ) m pConnection, true), adOpenStatic, ad Lock Optimistic, adCmdText);
5. 1计毛功能的实现
铁水罐完全进入火车轨道衡的称重区域内后,计 量员输入铁水罐罐号然后按下计毛按钮,开始计毛程 序;计毛程序首先在数据库中新建一条记录,在将重 量、日期时间、计量员、罐号、流水号等信息计入数据 库中,完成后弹出成功提示框,将要打印的信息输出 到打印机设备,完成计毛过程,计量员可以继续进行 其他计量操作。
用RecordsetPtr类的AddNew()方法增加记录, 然后用PutCollect()方法将相关信息写入到相应的 Fields中取,最后用Update()方法完成数据的更新。
5. 2计皮功能的实现
铁水罐完全进入火车轨道衡的称重区域内后,计 量员输入铁水罐罐号、炉号、收货单位然后按下计皮 按钮,开始计皮程序;使在RecordsetPtr数据集中的 游标指到表尾,得到罐号数据并于输入记皮的罐号相 比较,如果相同则读出相应的毛重并算出净重然后将 相关数据记入数据库;若不同则游标向上移动一条在 进行比较,若到表头还没有找到相符的数据则弹出错 误提示对话框。完成记录后打印流水及本罐铁水的 票据。
从数据集中读取相应Fields的数据应使用Get- Cdlect()方法,将数据集中的游标指向表尾用 MovsLast()方法,将游标指向上一个记录用MovePre^ vious()方法,最后用Update()方法完成数据的更新。
6.程序设计经验总结
经过一段时间的工作终于完成了本数据采集系 统的总体设计,功能测试,经过一段时间的使用后,设 计基本实现了预期目标,总结实践经验可以得到如下 结论:
(1)采用VC这样的可视化编程技术开发基于 Access2000数据库的系统软件具有很高的实用价值。 运行速度快,能迅速响应系统要求,提高了用户的操 作速度,实现了系统结构的优化,使系统查询效率更 高。
(2)在开始开发程序之前要先作好需求分析,弄 清各方面的要求,设计出最合理的程序结构关系及数 据库结构。
(3)要美化程序界面可以在程序的应用程序App 类的 Initlnstance 函数中调用 SetDialqgBkColor( RGB(132, 196, 251),RGB(0, 0, 0))函数用来设置主界面 的背景颜色;要使用位图按钮可以在相应的对话框类 中的OnInitDialog函数中添力敁口下程序:
CClientDC dc(this);
CComboBox 女 combox1 = ( CComboBox 女)Get- DlgItem( IDC COMBO1);
改变控件字体可以使用类似如下程序:
CFont 女 font = new CFont; font - > CreatePointFont ( 240, T ("宋体••), &dc);
combox1 - >SetFont( font, true);
(4)使用ADO只能指针从数据库中读出程序所 获得的变量的类型是variant t类型,要先把它转化 成其他类型才可以使用。wriant t类型转化为
CString类型可以用bstr t,例如: variant t v;
CString t;
t = (LPCSTR) bstr t(v);
要把wriant t转化成整形可以先将之转化为 CString型,在用如下方法:
Int temp ;
Char * p=( LPSTR) ( LPCSTR) strpz;
temp = atoi(p);
同样在写入数据库是要把其他类型转化为vari-ant t类型。
(5)在程序退出时要关掉定时器及数据库连接, 程序如下:
KillTimer( TIMER TIME);
m pCcnnection - > Close();
PostMessage( WM QUIT);
由于时间的要求和作者水平的限制,本系统 尚有不足之处,如系统的稳定性,系统的兼容性,系统 的健壮性等都还有待进行更深入的研究。

中国领先的称重软件技术提供商

The Leading Provider of Geomatic Solutions in China

展开收起网站地图