基于数据库和串口技术的数据监控系统

基于数据库和串口技术的数据监控系统摘要:ADO和串口通信技术常用于数据采集监控等场合。通过ADO对象可以建立与数据库的连接,并读写数据库中的数据;利用串口通信程序可在上位机和下位机间进行数据传输。介绍了ADO对象及其导入编程环境的方法,根据具体事例详细描述了利用ADO对象操作数据库,介绍了串口通信程序。结果证明ADO和串口通信技术相结合可以更方便快捷地访问数据库。关键词:VC++;ADO;数据库;串口;监控系统:TP391文献标识码:A:16727800(2013)0030128020引言数据采集作为远程监控的重要组成部分,通常是创建一个普通数据文件如文本文件保存数据。但当数据量很大时,频繁地读写将会消耗很多的系统资源,造成上位机负担加重,实时性恶化,利用数据库管理系统则能较好地解决这一问题。串行通信因其简单方便、成本低廉、适合大规模长距离传输等优点,广泛地应用于远程监控系统中。本文介绍了一种利用ADO技术访问数据库,实现串口数据采集存取的方法。1ADO数据库接口技术1.1ADO技术简介ADO(ActiveXDataObject)是微软提出的一种应用程序接口,和DAO、RDO一样,均可以访问数据库中的数据。它是一种功能强大的面向对象的数据访问编程模式,是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法。由于微软开发的VisualC++语言支持COM库,所以可在VC编译环境下利用ADO对象访问数据库。1.2ADO数据库初始化使用ADO访问数据库之前有两个准备步骤:①导入ADO类型库;②初始化COM库。一般在stdafx.h头文件中,使用#import指令导入ADO类型库,程序语句如下:#import“C:\ProgramFiles\CommonFiles\System\ado\msado15.dll”no_namespace\rename(“EOF”,“adoEOF”)rename(“BOF”,“adoBOF”)在调用ADO对象之前,必须先初始化库环境,调用结束后再释放资源。在应用程序的InitInstance()成员函数中添加初始化函数::CoInitialize(NULL),在ExitInstance()成员函数中添加::CoUninitialize()函数释放资源。1.3链接数据库ADO动态链接库定义了_ConnectionPtr智能指针用以创建一个数据库连接,返回一个记录集或空指针。其操作步骤是:首先利用指针创建Connection对象,然后调用open()函数建立连接。程序语句如下:_ConnectionPtrpConnect;pConnnect.CreateInstance(“ADODB.Connection”);//创建Connection对象实例pConnnect->Open(“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=DataBase.mdb”,“”,“”,adModeUnknown);其中“Microsoft.Jet.OLEDB.4.0”代表通过JET数据库引擎连接数据库,“DataBase.mdb”是登录的数据库名,可根据具体情况进行修改。访问完数据库后,应该关闭与数据源的连接。ADO在关闭连接的同时,也将关闭所有使用这个连接的ADO对象。关闭连接的代码如下:pConnnect->Close();pConnnect.Release();注意要先关闭连接,再释放组件接口。1.4操作记录集ADO中定义了_RecordsetPtr智能指针,用其创建Recordset对象,完成对数据库的操作。Recordset对象表示一个数据库表的记录集,或一个SQL语句的执行结果记录的集合。一个Recorset对象由记录和列(字段)组成,是最重要且最常用于对数据库的数据进行操作的对象。通过Recordset对象可以进行查询、添加、修改、删除记录的操作。首先需打开记录集,声明一个_RecordsetPtr指针,调用CreateInstance()函数创建一个Recordset对象实例,然后调用Open()函数打开记录集。代码如下:_RecordsetPtrpRset;pRset.CreateInstance(_uuidof(Recordset));//创建Recordset对象实例pRset->Open(“SELECT*FROMAddressList”,pConnection.GetinterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);通过一条SQL语句,以文本方式打开数据库中一个表AddressList中所有内容,完成操作后,应关闭记录集,以释放之前占用的系统资源。调用Recordset对象的Close()函数可以关闭记录集,代码如下:pRset.Close();pRset.Release();应先关闭记录集,后关闭连接。2监控系统串口通信在监控系统中,下位机将采集到的数据通过串口线上传至上位机,上位机将接收到...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?