WINCC 一起学-VBS读取变量归档-一 4、读取变量归档
连接数据库成功,下一步就是从归档之中读取数据了,读取数据要用到两个对象,“ADODB.Recordset”和“ADODB.Command”对象 4.1 ADODB.Recordset 4.1.1 简介
ADO Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。 4.1.2 创建对象方式 Dim oRs
Set oRs = CreateObject(\"ADODB.Recordset\") 4.1.3 属性
4.1.4 方法
4.1.5 事件
4.1.6 集合
4.2 ADO Command 4.2.1 简介
ADO Command 对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。如果该查询用于取回数据,此数据将以一个 RecordSet 对象返回。这意味着被取回的数据能够被 RecordSet 对象的属性、集合、方法或事件进行操作。Command 对象的主要特性是有能力使用存储查询和带有参数的存储过程 4.2.2 属性
4.2.3 方法
4.2.4 集合
4.3 查询归档数据
4.3.1 查询语法和参数
语法:8 字节长 ValueID 的请求: TAG_LLVID:R, 具体详细信息参考手册C 4.3.2 注意事项 归档查询的语句也只有几个地方需要修改 1、 ValueName 的格式为“ArchiveName\\Value_Name”:其中ArchiveName就是变量归档的归档名称,Value_name:是指该归档名称内的,变量名称,如下图: 2、TimeBegin和TimeEnd参数:这两个参数是采用的SQL格式的UTC时间,具体格式必须是:“YYYY-MM-DD hh:mm:ss.msc”,毫秒可以省略,主要是日期的分隔符为“-”。有朋友用FormatDate或者其他函数把当前时间转换成UTC时间之后,没有注意最终的时间格式,导致查询不成功,把时间转成SQL格式时间,有两种方式一是设置电脑的上的时间设置,在控制面板里面的区域语言里面,如图 还有就是可以自己写脚本,计算UTC时间,同时转成yyyy-MM-dd这种格式,使用文档中提供的脚本如图: 4.3.4 读取测试 从历史趋势上看,自2017-02-08 16:40:00至2017-02-08 17:18:00之间有数据。通过读取记录集的RecordCount属性,看看查询到的结果只要不等于0,就说明查询成功,脚本如图: 执行结果如图: 通过上图看出,oRs的RecordCount属性是34,说明有34个数值,读取成功。 因篇幅问题不能全部显示,请点此查看更多更全内容