WINCC VBS变量写入数据库问题

电脑安装两套SQL,分别为一套WINCC 自带2005,另安装2008自用数据库
脚本读取EXCEL数据,内容name和变量点名。读取后保存内部地址。然后写入数据库2008.
烦请个位大咖帮我找一下问题。

Option Explicit
Function action
Dim DM(100)
Dim dm1(100)
Dim name(100)

Dim ss1(100)
Dim ss2(100)
Dim ss3(100)
Dim yl1(100)
Dim yl2(100)
Dim yl3(100)
Dim lj1(100)
Dim lj2(100)
Dim lj3(100)

Dim i
Dim database,server,uid,pwd
Dim stren,cn,is_sql
 


database="outdate"
server="SCADA1"
uid="sa"
pwd="sa"
 
stren="provider = SQLOLEDB.1;DRIVER = SQL SERVER;SERVER="&SERVER&";DATABASE="&DATABASE&";UID="&uid&";pwd="&pwd&""
‘访问数据库、数据表、权限
Set cn = CreateObject("ADODB.Connection")
cn.Connectionstring = stren
cn.open
‘执行打开数据库指令
 
 ‘field1="T1_" 
Dim Date 
Date= Now
 ‘取变量及变量名从execl文件里取变量名
Dim  objExcelApp
Set  objExcelApp  =  CreateObject("Excel.Application")

objExcelApp.Visible  = False ‘不可见
objExcelApp.DisplayAlerts = False ‘不提示
objExcelApp.WorkBooks.Open "d:\Demo.xls"

Dim n
n=0
For i=0 To 18
n=n+1
name(i) = objExcelApp.worksheets("Sheet1").Cells(n,  1).Value
ss1(i) = objExcelApp.worksheets("Sheet1").Cells(n,  2).Value
yl1(i) = objExcelApp.worksheets("Sheet1").Cells(n,  3).Value
lj1(i) = objExcelApp.worksheets("Sheet1").Cells(n,  4).Value
Next


For i=0 To 18
Set DM(i)=HMIRuntime.Tags(CStr(name(i)))
dm1(i) = DM(i).READ 
Set ss2(i)=HMIRuntime.Tags(CStr(ss1(i)))
ss3(i) = ss2(i).READ 
Set yl2(i)=HMIRuntime.Tags(CStr(yl1(i)))
yl3(i) = yl2(i).READ 
Set lj2(i)=HMIRuntime.Tags(CStr(lj1(i)))
lj3(i) = lj2(i).READ 
Next
 

For i=0 To 18

is_sql="insert into Table_1(name,ss,yl,lj,date) values (‘"&name(i)&"’,’"&ss3(i)&"’,’"&yl3(i)&"’,’"&lj3(i)&"’,’"&Date&"’)"
cn.execute is_sql

Next


objExcelApp.Workbooks.Close
objExcelApp.Quit
Set  objExcelApp  = Nothing

cn.close
End Function


EXCEL 表数据 
站点1 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点2 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点3 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点4 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点5 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点6 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点7  JW_F1_TT_1 
站点8 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点9 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点10 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点11 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点12 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点13 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点14 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点15 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点16 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点17 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点18 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点19 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1

最佳答案

呃,不知道for循环执行sql语句行不行,没这么使用过
您可以先不用for循环,测试sql语句成功之后,再分部分加入for循环测试

提问者对于答案的评价:
打读取EXCEL和FOR删除可以写入数据库。EXCEL读取还没有找到问题呢!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:03
下一篇 2021年7月5日 下午12:04

相关推荐

发表回复

登录后才能评论