wincc与数据库连接问题

在数据库2008新建了一个一个ss123数据库,数据库的表名为1,。上位机wincc新建本地变量Data1 、 Data2 、Data3   、data4、data5、data6,想将数据库中的数据与本地变量连接起来,实现数据传递,由两个按钮来实现。从数据库中读数据代码如下:
Dim sCon   
Dim sSql   
Dim oRs  
Dim conn 
Dim oCom 
Dim Con   
Dim Data1 
Dim Data2 
Dim Data3   
Dim data4 
Dim data5 
Dim data6 
con="Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=ss123;User ID=sb;Password=password;Data Source=.\WINCC"
Set conn = CreateObject("ADODB.Connection") 
conn.ConnectionString = Con 
conn.CursorLocation = 3 
conn.Open     
sSql="SELECT * FROM [1] WHERE 编号=1"  
Set oRs = CreateObject("ADODB.Recordset") 
 Set oCom = CreateObject("ADODB.Command")  
Set oCom.ActiveConnection = conn  
oCom.CommandType = 1  
oCom.CommandText = sSql  
Set oRs = oCom.Execute  
Set oRs = Nothing  
data4=oRs.Fields(0).Value 
data5=oRs.Fields(1).Value 
data6=oRs.Fields(2).Value   
data1.write data4   
Set data1=HMIRuntime.Tags("编号")  
Set data2=HMIRuntime.Tags("姓名")  
Set data3=HMIRuntime.Tags("年龄") 
data1.Read    
data1.Write data4  
data2.Read    
data2.Write data5  
data3.Read    
data3.Write data6   
Set oRs = Nothing  
conn.Close   
Set conn = Nothing
给数据库中写数据代码如下:
Dim sCon  
Dim sSql   
Dim oRs   
Dim conn  
Dim oCom 
Dim Con   
Dim Data1
Dim Data2
Dim Data3    
Data1=HMIRuntime.tags("编号").read 
Data2=HMIRuntime.tags("姓名").read 
Data3=HMIRuntime.tags("年龄").read  
Con="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ss123;Data Source=.\WINCC" 
Set conn = CreateObject("ADODB.Connection")  
conn.ConnectionString = Con 
conn.CursorLocation = 3 
conn.Open  
sSql="insert into [1] VALUES('" & Data1 & "','" & Data2&"','"&Data3&"');" 
Set oRs = CreateObject("ADODB.Recordset")  
Set oCom = CreateObject("ADODB.Command")  
Set oCom.ActiveConnection = conn  
oCom.CommandType = 1 
oCom.CommandText = sSql  
Set oRs = oCom.Execute 
Set oRs = Nothing  
conn.Close  
Set conn = Nothing 
在画面做了几个变量显示框,一致没有显示。求大神指点,我的邮箱806258099@qq.com

钻石用户推荐最佳答案

两个问题。
1、第一段代码中
Set oRs = oCom.Execute  
Set oRs = Nothing  
第一句刚刚查询,第二句就将查询的记录集给清掉了。后面哪会有数据呢?
2、第二段代码,插入操作时,不需要命令集和记录集。
conn.Open  
sSql="insert into [1] VALUES(''" & Data1 & "'',''" & Data2&"'',''"&Data3&"'');" 
conn.Execute sSq
就行了。
另外,Insert语句中,字段类型是字符串的,在 VALUES中需要加单引号,如编号,姓名;而年龄是数字型(比如整型),在赋值时,就不能加引号。

提问者对于答案的评价:

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

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

相关推荐

  • wincc中组态报警窗口提示没有到数据服务器的连接

    wincc中组态报警窗口提示没有到数据服务器的连接 最佳答案 1、 打开WinCC项目后,在“Computer Properties”中“Startup”标签项…

    SIMATIC WinCC 2019年6月11日
  • wincc VB脚本编写

    我现在想实现一个功能,有上百个不同对象的背景颜色要做动态,每个对都是根据变量(设备编号.state)这个变量值来改变背景颜色,具体为设备编号.state=0,灰色,设备编号.sta…

    2017年6月24日
  • 在WinCC 中如何选择需要切换的画面

    请教各位高手,在WinCC 中,我需要实现的功能是当第一次点击一个按钮时,切换到画面1,当第二次点击这个按钮是,调出另一张画面2(菜单功能),此时画面1还存在,我的做法是…

    SIMATIC WinCC 2019年6月11日
  • 报警消息的确认

    我在wincc7.3上组态了wincc alarmcontrol,并添加了报警记录。让电脑与PLC连接后,对报警记录地址进行强制,wincc alarmcont…

    2017年6月1日
  • 授权问题

    我安装了WINCC V6.0 SP3版本的软件,但是没有授权。请问在没有授权的情况下,是否可以组态?或者用WINCC 监控S7-200 PL…

    SIMATIC WinCC 2019年6月11日
  • 模拟量如何在上位机显示

    刚接触step7,上位是wincc,像温度,压力这样的模拟量输入点,只要求在上位机显示,我在step7符号表里是用PIW这样的直接外部输入格式的,在用wincc做上位的时候看见好像…

    SIMATIC WinCC 2019年6月11日
  • SIMATIC NET与S7-200 SMART 集成以太网口OPC 通信(TIA平台)问题

    请求老师指导wincc7.3和200 SMART通讯。我参照《S7-200 SMART PLUS 2.1》创建SIMATIC NE…

    2021年7月5日
  • wincc无法保存数据

    有一台设备,没加工一个件都会自动记录件型号和日期、时间等信息到Excel表格里,现在直接不保存了,而且会出现比如打开12月份的表格里边是5月份的内容这样的现象。请问这是什么原因,可…

    SIMATIC WinCC 2020年11月1日
  • WINCC 报警 声音如何设置

    请教一下WINCC里的报警如何发出声音。小弟新手,希望您能尽量简单的指点以下我,呵呵~现在我做了一个测试的工程,报警里面设置了模拟量报警,报警控件部分没什么问题了,只是如何实现当报…

    2019年6月11日
  • 如何读取EXCEL的数据如何往EXCEL写数据

    网上那些资料都看过了,真正还是不会做了 大家有没有实例,能让我参考一下。最好是WINCC 6.2   除了WINCC6.2外,还需…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论