wincc用vb脚本写自定义的sql数据库问题
我想用一个按钮的动作脚本连接sql,然后用全局脚本周期性写变量值到sql,然后用另一个按钮动作脚本断开sql连接。这样能用vb脚本实现吗?因为连接sql的脚本里面有个对象...
我想用一个按钮的动作脚本连接sql,然后用全局脚本周期性写变量值到sql,然后用另一个按钮动作脚本断开sql连接。这样能用vb脚本实现吗?
因为连接sql的脚本里面有个对象objConnection,如下代码:
strConnectionString ="Driver={SQL Server};Server=.\WINCC;uid=;pass=;database=guowincc"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.open
而insert语句需要用到objConnection这个对象:
strSql = "insert into testwincc values('NewTag1_inter','"& nowTime & "',"
& lngValue & ");"
Set objCommand = CreateObject("ADODB.Command")
with objCommand
.ActiveConnection = objConnection
.CommandText = strSql
End With
objCommand.Execute
然后断开连接也要用到objConnection对象:
Set objCommand = Nothing
objConnection.Close
Set objConnection = Nothing
但是全局脚本就没有参数传递,这要怎么办呢?
我是想在用全局脚本写sql的时候不要它老是连接——写——断开,连接——写——断开....
我只想用这样的顺序:连接——写...写...写...——断开
请问一下,wincc 里的内部变量有Script和 TagLoggingRt,这两个有什么区别啊? 展开
因为连接sql的脚本里面有个对象objConnection,如下代码:
strConnectionString ="Driver={SQL Server};Server=.\WINCC;uid=;pass=;database=guowincc"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.open
而insert语句需要用到objConnection这个对象:
strSql = "insert into testwincc values('NewTag1_inter','"& nowTime & "',"
& lngValue & ");"
Set objCommand = CreateObject("ADODB.Command")
with objCommand
.ActiveConnection = objConnection
.CommandText = strSql
End With
objCommand.Execute
然后断开连接也要用到objConnection对象:
Set objCommand = Nothing
objConnection.Close
Set objConnection = Nothing
但是全局脚本就没有参数传递,这要怎么办呢?
我是想在用全局脚本写sql的时候不要它老是连接——写——断开,连接——写——断开....
我只想用这样的顺序:连接——写...写...写...——断开
请问一下,wincc 里的内部变量有Script和 TagLoggingRt,这两个有什么区别啊? 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
WinCC的VBS虽可以生命Public变量,但作用域仅限于本画面。
如果你的WinCC版本>=V6.0 SP3,则可以使用Dataset对象,该对象可以在不同的VBS脚本中进行访问。下面是个简单的例子:
1、连接
Dim objConnection,strConnectionString
strConnectionString ="Driver={SQL Server};Server=.\WINCC;uid=;pass=;database=guowincc"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.open
HMIRuntime.DataSet.Add "objConnection",objConnection
2、全局动作中引用
Dim objConnection
objConnection= HMIRuntime.DataSet("objConnection").Value
with objCommand
.ActiveConnection = objConnection
xxxxxxxx
3、关闭连接:
Dim objConnection
objConnection= HMIRuntime.DataSet("objConnection").Value
objConnection.Close
Set objConnection = Nothing
如果你的WinCC版本>=V6.0 SP3,则可以使用Dataset对象,该对象可以在不同的VBS脚本中进行访问。下面是个简单的例子:
1、连接
Dim objConnection,strConnectionString
strConnectionString ="Driver={SQL Server};Server=.\WINCC;uid=;pass=;database=guowincc"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.open
HMIRuntime.DataSet.Add "objConnection",objConnection
2、全局动作中引用
Dim objConnection
objConnection= HMIRuntime.DataSet("objConnection").Value
with objCommand
.ActiveConnection = objConnection
xxxxxxxx
3、关闭连接:
Dim objConnection
objConnection= HMIRuntime.DataSet("objConnection").Value
objConnection.Close
Set objConnection = Nothing
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询