热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vb修改sql数据库服务器时间格式,博途使用小结:用VB脚本向SQL数据库中写数据的方法...

刚刚学会在博途中利用VB脚本向SQL数据库写数据,将经验总结为一篇短文供大家讨论,文中包括如何建立SQL数据库及表格,如何写脚本以及如何触

刚刚学会在博途中利用VB脚本向SQL数据库写数据,将经验总结为一篇短文供大家讨论,文中包括如何建立SQL数据库及表格,如何写脚本以及如何触发脚本。

1、安装TIA时,SQL Server Management Studio不会自动安装到电脑中,所以需要自己安装,我安装的是“SQL

Server 2016”,事实证明建立表格并写数据都没问题。

2、打开SQL

Server

Management Studio,会出现图1对话框,点击连接到服务器;

图1:a4c26d1e5885305701be709a3d33442f.png

3、鼠标右键点击数据库,选择新建数据库,出现图2对话框,数据库名称写Wincc,所有者为默认,因为数据量比较小,所以初始大小和自动增量没有进行修改,但最大大小需要实际情况进行设置;建好后的数据库如图3;(注:SQL

Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置。通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL

Server磁盘空间耗尽的事情发生。)

图2:

a4c26d1e5885305701be709a3d33442f.png

图3:

a4c26d1e5885305701be709a3d33442f.png

4、在Wincc数据库中建立表格,右键点击Wincc中“表”,选择“表...”建立表格。在表格中选择列名和数据类型,示例表中建立了3列数据,分别是TTime、TON和CV01,其中TTime为系统时间,由系统自动生成(默认值或绑定一栏写(getdate())),列名和数据类型如图4所示;

图4:

a4c26d1e5885305701be709a3d33442f.png

5、建好表格后开始别写VB脚本,在编写脚本之前应先建立内部变量用于程序中中间数据的存储,内部变量见图5;

图5:

a4c26d1e5885305701be709a3d33442f.png

6、在博途脚本中建立“DayReport”脚本,脚本类型为“Sub”,脚本程序如下:

Dim objConnection  '

Dim strConnectionString  '

Dim lngValue  '

Dim strSQL  '

Dim objCommand  '

Dim LocalMinite  '

Dim LocalHour  '

Dim TON_Last

Dim TON_Now

Dim TON_Value

strConnectionString=

"Provider=SQLOLEDB.1;Integrated

Security=SSPI;Persist Security Info=False;Initial

Catalog=WINCC;Data Source=.\WINCC"

'If

SmartTags("SyncDateAndTime_MCC3_DateAndTime.Value.PLC.DateAndTime.MIN")=25

Then

TON_Last = SmartTags("TON_Last")

TON_Now =

SmartTags("BeltScale_MCC3_BS01_TonHour_TON")

TON_Value = CCur(TON_Now-TON_Last)

strSQL="INSERT INTO [day]

([TON],[CV01]) "

strSQL=strSQL & " VALUES

('"& TON_Value &"','"& TON_Value &"') ;"

Set objConnection=

CreateObject("ADODB.Connection")  '

objConnection.ConnectionString=

strConnectionString  '

objConnection.Open

'

Set objCommand=

CreateObject("ADODB.Command")  '

With objCommand

.ActiveConnection=

objConnection

.CommandText= strSQL

End With

objCommand.Execute

'

Set objCommand= Nothing  '

objConnection.Close  '

Set objConnection= Nothing

'End If

注:脚本类型如果选Function就会一直报错,尚未找到原因。7、脚本编写完成后还需要触发才能执行,方法是建立1个新的计划任务“day”,调用写好的脚本,设定脚本每分钟执行一次。如图6;

图6:a4c26d1e5885305701be709a3d33442f.png

8:运行后每分钟会生产1条信息,如图7;

图7:

a4c26d1e5885305701be709a3d33442f.png



推荐阅读
author-avatar
wolveszhang_543
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有