在WINCC中连接数据库可以使用ADO控件进行连接数据库,但是通常都不是用的ADO控件进行连接数据库,以下讲讲winccZ中使用ADO对象连接查询数据库。以下以报警记录为例。
一、了解ADO对象
    1.1ADO对象操作数据库是微软提供的一种接口。
    1.2对ADO对象的访问使用CreateObject函数(详情请参看CreateObject函数资料)
      ADO组件的前缀是ADODB,所以访问的时候必须为ADODB.XX(X代表对象)
      eg:
         dim conn,oRs,oCom
         Set conn = CreateObject("ADODB.Connection")   'Connection对象
         Set oRs = CreateObject("ADODB.Recordset")     'ADODB.Recordset对象
         Set oCom = CreateObject("ADODB.Command")      'ADODB.Command命令对象

二、对象
    2.1 Connection 对象
     2.1.1  open 方法
      语法
      connection.Open ConnectionString,UserID,Password,OpengOptions
      说明
      ConnectionString:可选参数,字符串,包含连接信息
      UserID:可选参数,字符串,包含建立连接时候用的用户名
      Password:可选参数,字符串,包含建立连接时候用密码
      OpenOptions:可选参数,连接打开方式
   eg1:(连接数据库代码方法1,仅连接部分代码)
      Dim conn
      Dim tagDSNName
      Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
      Set conn = CreateObject("ADODB.Connection")
      conn.ConnectionString = "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
      conn.CursorLocation = 3
      conn.Open
  eg2:(连接数据代码方法2,连接部分代码)
      Dim conn
      Dim tagDSNName
      Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
      Set conn = CreateObject("ADODB.Connection")
      conn.CursorLocation = 3
      conn.Open  "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
 
     2.1.2  close方法
     connection.close
  eg:
      Dim conn
      Dim tagDSNName
      Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
      Set conn = CreateObject("ADODB.Connection")
      conn.CursorLocation = 3
      conn.Open  "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
     '这里写上对数据库查询,修改等操作
      conn.close
    2.1.3 execute方法
      语法
    Cn.Execute strCommand,[IngRowsAffected[,IngOptions]]
     说明
     strCommand:可以是查询语句、表名、存储过程名等
     IngRowsAffected:可选参数,返回Insert、Update 、Delete查询语句后所影响的数目
     IngOptiongs: 参数可以如下
       adCmdUnkown:Command类型未定,由数据源提供者去判断Command语法
       AdCmdFile:Command是和对象类型相应的文件名称
       adCmdStoredProc:Command是存储过程名称
       adCmdTable:Command是能产生内部SELECT*FROM TableName查询的表名称
       adCmdTableDirect:Command是能直接从表中获取行内容的表名称
       adCmdText:Command是一条SQL语句
   eg:
      Dim conn,oCom,oRs
      Dim tagDSNName
      Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
      Set conn = CreateObject("ADODB.Connection")
      conn.CursorLocation = 3
      conn.Open  "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
      Set oCom = CreateObject("ADODB.Command")
      Set oRs = CreateObject("ADODB.Recordset")
      oCom.CommandType=1
      Set oCom.ActiveConnection = conn
      oCom.CommandText ="ALARMVIEW:Select * FROM AlgViewCHT "
      Set oRs = oCom.Execute
      '以上4句还可以写成  Set oRs=conn.Execute("ALARMVIEW:Select * FROM AlgViewCHT ")

conn.close

2.2 Recordset对象
     Recordset 常用属性
        RecordsetCount:返回当前记录的数目
        BOF:表示当前记录位于该对象第一个记录之前
        EOF:表示当前记录位于该对象最后一个记录之后。
        movefirst:移动到第一条
        movenext:移动到下一条
        movelast:移动到最后一条
    eg:
      Dim conn,oCom,oRs
      Dim m
      Dim tagDSNName
      Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
      Set conn = CreateObject("ADODB.Connection")
      conn.CursorLocation = 3
      conn.Open  "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
      Set oRs = CreateObject("ADODB.Recordset")
      Set oRs=conn.Execute("ALARMVIEW:Select * FROM AlgViewCHT ")
      m = oRs.RecordCount
      msgbox "报警行数"&m
      conn.close
   2.2.1 Open方法
      语法
      recordset.Open Source,ActiveConnection,CursorType,LockType,Options
      说明
      Source:可选参数,变体型,计算Command对象的变量名、SQL语句、表名、存储过程调用或持久的Recordst文件名
      ActiveConnection:可选参数,变体型,计算有效Connection对象变量名或字符串,包含ConnectionString参数
      CursorType:可选参数,用于确定数据提供者打开Recordset时应该使用游标类型,类型如下
             adOpenForwardOnly:打开仅向前类型游标(默认类型)
             adOpenKeyset:打开键集类型游标
             adOpenDynamic:打开动态类型游标
             adOpenStatic:打开静态类型游标
               注:具体解释请参考百度结果,这里我们主要讲解应用方面的东西。
       LockType:可选参数,确定数据提供者打开Recordset时应该使用的锁定(并发)类型的LockTypeEnum 值,类型如下
             adLockReadOnly:只读,默认值
             adLockPessinistic:保守式锁定,提供者完成确保成功编辑记录所需的工作,通常通过在编辑时候锁定数据源的记录来完成。
             adLockOptimistic:开放式锁定,提供者试用开放式锁定,只在调用Update方法时才锁定记录。
             adLockBatchOptimistic:开放式批更新,用于批更新模式
       Optiongs:可选参数,长整型,用于指示数据提供者如何计算Source参数,或从以前保存的Recordset中恢复Recordset(以下省略参数类型讲解)
   eg:
         Dim conn,oRs,oCom
         Dim m,i
         Dim tagDSNName
         Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
         Set conn = CreateObject("ADODB.Connection")
         conn.CursorLocation = 3
         conn.Open "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
         Set oRs = CreateObject("ADODB.Recordset")
         oRs.open "ALARMVIEW:Select * FROM AlgViewCHT ",conn
         m = oRs.RecordCount
         MsgBox "报警行数"&m
         oRs.Close
         conn.Close
   2.3 Command对象
      2.3.1 对象属性说明
         ActiveConnection:使打开的数据库连接与Command对象关联
         CommandText:可执行的命令文本,如SQL语句
         CommandType:指定命令类型以优化性能
         CommandTimeout:设置提供者等待命令行的秒数
以下摘自西门子连通性文档
过程值记录集结构

报警



过程值归档:
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = "TAG:R,'PVArchive\Tag1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000'"
报警消息归档:
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = "ALARMVIEW:Select * FROM AlgViewEnu"
用户归档
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = "SELECT * FROM UA#Test"
关于数据集可参考《ConnectivityPackInfoSystem_zh-CHS》文档其中非常详细
  如果需要了解更多的方法,属性,请查阅ADODB手册上面非常的详细,本文并非专门讲解ADODB对象的文章而是重点在讲WINCC中如何使用方法,欢迎交流学习 。

转载于:https://www.cnblogs.com/young525/p/5873821.html

WINCC中使用ADO对象连接数据库 例子 常用属性 方法 原创相关推荐

  1. wincc mysql ado_WINCC中使用ADO对象连接数据库 例子 常用属性 方法

    本人搬自自己的新浪博客 这里给大家分享一下 在WINCC中连接数据库可以使用ADO控件进行连接数据库,但是通常都不是用的ADO控件进行连接数据库,以下讲讲winccZ中使用ADO对象连接查询数据库.以 ...

  2. 在VC中使用ADO开发数据库应用程序

    在VC中使用ADO开发数据库应用程序 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 ...

  3. wincc mysql ado,wincc中的Ado及dataGrid控件的问题

    主题:wincc中的Ado及dataGrid控件的问题 楼主 2013-03-26 18:23:02 在wincc的VBS中通过代码访问ADO对象产生的数据集,能不能绑定到datagrid控件上显示 ...

  4. js如何操作表格(常用属性方法汇总)

    js如何操作表格(常用属性方法汇总) 一.总结 一句话总结: 二.表格相关的属性和方法 1.1 Table 对象集合 cells[] 返回包含表格中所有单元格的一个数组. 语法:tableObject ...

  5. JS常用属性方法大全

    JS常用属性方法大全 1.输出语句:document.write(""); 2.JS中的注释为: 3.传统的HTML文档顺序是:document->html->(hea ...

  6. php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...

    php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创 这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来! PHP 开源脚本语言 PHP(外文名: Hypertext Prep ...

  7. ADO+MFC数据库编程常用语句

    设在OnInitDialog()函数中,已经完成了初始化COM,创建ADO连接等操作,即 [cpp] view plaincopy // 初始化COM,创建ADO连接等操作 if (!AfxOleIn ...

  8. php判断是字符串类型,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...

    本文实例讲述了php使用strpos判断字符串中数字类型子字符串出错的解决方法.分享给大家供大家参考,具体如下: 一.问题: 最近的开发中在程序代码里有一个随机数是否在给定字符串里的判断,我用了如下的 ...

  9. C#串口SerialPort常用属性方法

    SerialPort(): //属性 .BaudRate;获取或设置波特率 .BytesToRead;得到 接收到数据的字节数 .BytesToWrites;得到送往串口的字节数 .DataBits; ...

最新文章

  1. 实时音视频流媒体传输的思考和实践
  2. 企业实战01:Oracle数据库概述
  3. 【noip2013】d2解题报告
  4. c语言recy未定义标识符,求解这个C语言子程序什么意思
  5. Elasticsearch 7.1API 文档翻译
  6. 权限管理和备份;规范数据库设计
  7. 算法题 金银铜奖牌排序
  8. 关于NetSuite中需求计划的几个理解
  9. 阿里云 mysql参数_阿里云MYSQL数据库怎么修改参数值?
  10. QQ音乐 最新歌曲源 API(稳定)
  11. ddos攻击怎么防?防御ddos的几种方法
  12. 【机器学习】决策树案例一:利用决策树进行年龄与音乐类型喜好分类预测
  13. 如何删除Chrome地址栏记录?
  14. buuctf 刷题2(md5(true)参数漏洞php字符串解析特性phpdirsearchphp反序列化)
  15. 微信小程序(看文档写实例三)微信小程序课堂宝APP实现整体界面框架及首页布局
  16. Java学习(二)----java实现在线翻译
  17. 程序员要懂的五道逻辑思维题,很有趣!
  18. 苏州园林的盆景也是甲天下啊
  19. PMP 含金量大吗?
  20. Endnote20 在word里插入参考文献 [快捷键Alt+2]

热门文章

  1. python计算两个数乘积_如何用PYTHON使两个数字总和变成乘积
  2. win10无法连接wifi_手机连接WIFI但是无法上网?3个办法帮您解决!
  3. 对数学本质特征的若干认识
  4. C++的黑科技之进制转换
  5. 【普及组模拟赛】家族
  6. 十佳运动员有奖评选系统_2019年度国际足坛十佳运动员,利物浦三星在列,第十名属私心...
  7. echart 折线图设置y轴单位_如何让echarts中y轴的单位位于数值的右上角
  8. 基于Hadoop生态技术构建阿里搜索离线系统
  9. Soring冲刺计划第三天(个人)
  10. windows 10安装gensim、nltk