wincc vbs mysql_WinCC 如何访问数据库(VBS)
在WinCC中如何访问数据库(VBS)
一、声名全局变量
在全局脚本中声明全局变量,如下:Public gocn
2、建立连接,如下:
Set gocn = CreateObject("ADODB.Connection")
gocn.open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist
Security Info=False;Initial Catalog=GJS_SY;Data Source=LGL"
3、执行代码。例如插入一条记录:
gocn.Execute "insert into TB_FJ_DATA(LSH,GKH,T_time)
VALUES('1',99,GETDATE( ))"
二、访问数据记录和查询
1、查询。代码如下:On Error Resume Next
Dim NoOfRecords
Set NoOfRecords = HMIRuntime.Tags("NoOfRecords")
Dim CurrentRec
Set CurrentRec = HMIRuntime.Tags("CurrentRec")
Dim AuthorID
Set AuthorID = HMIRuntime.Tags("Au_ID")
Dim AuthorFirstName
Set AuthorFirstName = HMIRuntime.Tags("AuthorFirstName")
Dim AuthorLastName
Set AuthorLastName = HMIRuntime.Tags("AuthorLastName")
Dim AuthorsQueryRan
Set AuthorsQueryRan = HMIRuntime.Tags("AuthorsQueryRan")
ActivateDBHandling()
If gocn.State = 0 Then
HMIRuntime.Trace "no connection ... reconnecting"
ConnectDB()
End If
gorsAuthors.open "SELECT au_id, au_fname, au_lname, contract FROM
Authors ORDER BY au_lname", gocn, 1, 3
If Not gorsAuthors.Eof Then
NoOfRecords.Write gorsAuthors.RecordCount
gorsAuthors.MoveFirst
AuthorID.Write gorsAuthors.Fields(0).Value
AuthorFirstName.Write gorsAuthors.Fields(1).Value
AuthorLastName.Write gorsAuthors.Fields(2).Value
CurrentRec.Write 1
AuthorsQueryRan.Write 1
Else
MsgBox "No Data Returned", vbOK, "Query Results"
End If
On Error Goto 0
2、插入
On Error Resume Next
Dim AuthorID
Set AuthorID = HMIRuntime.Tags("Au_ID_INSERT")
Dim AuthorFirstName
Set AuthorFirstName =
HMIRuntime.Tags("AuthorFirstName_INSERT")
Dim AuthorLastName
Set AuthorLastName = HMIRuntime.Tags("AuthorLastName_INSERT")
Dim sSql
ActivateDBHandling()
If gocn.State = 0 Then
HMIRuntime.Trace "no connection ... reconnecting"
ConnectDB()
End If
Set gorsAuthorsChange = CreateObject("ADODB.Recordset")
sSql = "INSERT INTO Authors(au_id, au_fname, au_lname, contract)
VALUES('" + AuthorID.Read + "','" + AuthorFirstName.Read + "', '" +
AuthorLastName.Read + "',1)"
gorsAuthorsChange.open sSql, gocn, 1
MsgBox "Added new author", vbOKOnly, "INSERT"
Set gorsAuthorsChange = Nothing
On Error Goto 0
3、修改
On Error Resume Next
Dim AuthorID
Set AuthorID = HMIRuntime.Tags("Au_ID_UPDATE")
Dim AuthorFirstName
Set AuthorFirstName =
HMIRuntime.Tags("AuthorFirstName_UPDATE")
Dim AuthorLastName
Set AuthorLastName = HMIRuntime.Tags("AuthorLastName_UPDATE")
Dim sSql
ActivateDBHandling()
If gocn.State = 0 Then
HMIRuntime.Trace "no connection ... reconnecting"
ConnectDB()
End If
Set gorsAuthorsChange = CreateObject("ADODB.Recordset")
sSql = "UPDATE Authors SET au_fname = '" + AuthorFirstName.Read +
"', au_lname = '" + AuthorLastName.Read + "' WHERE au_id = '" +
AuthorID.Read + "'"
gorsAuthorsChange.open sSql, gocn, 1
MsgBox "Modified author details", vbOKOnly, "UPDATE"
Set gorsAuthorsChange = Nothing
On Error Goto 0
4、删除
On Error Resume Next
Dim AuthorID
Set AuthorID = HMIRuntime.Tags("Au_ID_DELETE")
Dim sSql
ActivateDBHandling()
If gocn.State = 0 Then
HMIRuntime.Trace "no connection ... reconnecting"
ConnectDB()
End If
Set gorsAuthorsChange = CreateObject("ADODB.Recordset")
sSql = "DELETE FROM Authors WHERE au_id = '" + AuthorID.Read +
"'"
gorsAuthorsChange.open sSql, gocn, 1
MsgBox "Deleted author", vbOKOnly, "DELETE"
Set gorsAuthorsChange = Nothing
On Error Goto 0
wincc vbs mysql_WinCC 如何访问数据库(VBS)相关推荐
- WINCC中使用ADO对象连接数据库 例子 常用属性 方法 原创
在WINCC中连接数据库可以使用ADO控件进行连接数据库,但是通常都不是用的ADO控件进行连接数据库,以下讲讲winccZ中使用ADO对象连接查询数据库.以下以报警记录为例. 一.了解ADO对象 ...
- 转:在 .NET 中实现异步回调访问数据库
在 .NET 中实现异步回调访问数据库 时间:2009-11-17 19:52来源:网络收集 作者:佚名 点击: 334 次 技术论坛 某些场合下,在对数据库进行访问时,为了避免同步访问数据时所带来的 ...
- 使用浏览器wpf应用程序时访问数据库需要报权限错误的解决方法
在这篇wpf教程中,如果选用浏览器wpf应用程序模板我遇到了 访问数据库时权限不够 不能打开连接 将项目属性的安全性中设置为完全信任后即解决 转载于:https://www.cnblogs.com ...
- python访问数据库如何解决高并发_怎样解决数据库高并发的问题
怎样解决数据库高并发的问题?解决数据库高并发使用缓存式的Web应用程序架构.增加Redis缓存数据库.增加数据库索引.页面静态化.使用存储过程.MySQL主从读写分离.分表分库.负载均衡集群. 解决数 ...
- Spring Boot中使用JdbcTemplate访问数据库
本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例. 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式. ...
- 关于安卓通过webservice访问数据库问题
============问题描述============ 访问数据库时,手机能增删数据库的数据就是显示不了数据库的里的数据不知道是哪里的问题,用的HTTP 这是我webservice中的产看所有信息的 ...
- 注意:宝塔曝未授权访问数据库漏洞,尽快升级版本!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://nosec.org/home/ ...
- 可遇不可求的BUG之采用MYSQL odbc 3.51访问数据库返回值缺失
一句话 巧妇难为无米之炊,驱动还是要及时更新啊... 闲话休说,上图: 1.数据库中存储的值为 "布尔玛" 2.用3.51版本的MYSQL ODBC 驱动访问MYSQL 5.0 数 ...
- Perl学习笔记(十)--通过DBI访问数据库
Perl访问数据库最常用的包是DBI,可以在www.cpan.org找到.使用ppm命令即可图形化安装.另外还需要安装对应数据库的驱动包,例如DBD::MySQL.DBD::Oracle.DBD::S ...
- JDBC访问数据库的基本程序
2019独角兽企业重金招聘Python工程师标准>>> 以下是jdbc访问数据库的基本程序,今后有时间再完善下. //属性配置文件 db.properties driver = co ...
最新文章
- 链表创建、逆置、删除详解
- python写文件格式转换程序_python实现txt文件格式转换为arff格式
- leetcode - 统计封闭岛屿的数目
- 备战蓝桥杯—有边数限制的最短路 (bellman_ford+)——[AcWing]有边数限制的最短路
- 【Level 08】U08 Positive Attitude L3 What a life
- .NET平台常用的框架整理
- 【图像重建】基于matlab迭代步长自适应图像超分辨重建【含Matlab源码 048期】
- 气象netCDF数据可视化分析
- 常见Web安全漏洞及测试方法(转载)
- 有用但用处不多的html的属性
- [BX]、loop、inc、dec指令
- 课程笔记之《论文写作》
- 视频教程- 项目管理工具(1) WBS-工作分解结构-研发管理
- 计算机等级证打字每分钟多少字才算合格?
- 在HTML中如何加入一个PDF文件,怎么给pdf文件插入页面?
- python画箭头_Python matplotlib绘制图形,包括点、曲线、注释和箭头
- 串口无线服务器模块,串口wifi模块能实现远程吗?具体怎样实现远程控制呢?...
- C++ isdigit() 的基本用法
- html语言熟记,html基础必备知识点
- 【计算机视觉之三】运用k近邻算法进行图片分类