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

相关推荐

  • wincc5.1多个设备同时跳停

    我公司用的是WINCC5.1,我公司原有二个螺旋输送机共用一台链运机(1,2号),他们之间加了连锁。后来又加了一台螺旋输送机(3号)共用这台链运机。3台输送机都连锁了这台链运机,可…

    SIMATIC WinCC 2019年6月11日
  • 人为改变WinCC显示的归档曲线的显示值

    由于CPU程序和ES站程序不一致,不能修改输入模拟量的范围值。之前显示值为4700,后来输入信号变化,目前真实值是2700,显示值为3500,现在想WinCC来处理下数据,让它显示…

    SIMATIC WinCC 2021年7月5日
  • KTP屏数据记录

    现场有个KTP的屏,设备需要进行历史数据记录,但是有个20个字节的字符串变量记录不了,请各位支招。 最佳答案 数据记录不支持字符串的归档,可以间接使用报警记录,在报警文本的组态界面…

    SIMATIC WinCC 2020年11月1日
  • vbs 显示趋势控件

    如何用一个按钮用vbs 控制几个趋势控件的显示,位置,大小等 问题补充:再请教下:如果,做一个趋势控件,通过传送不同的变量来显示不同变量的趋势,怎样用vbs传送变量名称、…

    SIMATIC WinCC 2019年6月11日
  • wincc7.0归档授权

    我现在用wincc7.0做归档变量时,变量数超过了512个,提示授权不对,请问怎么改授权?我用的是软甲授权,在网上下载的那种,请问怎么应该选择哪个授权,谢谢!!急!! 最佳答案 这…

    SIMATIC WinCC 2017年11月1日
  • 关于立体仓库自动化系统画面问题

    本人新接一个大型立体仓库的项目,采用WINCC6.2,由于是第一次做,求教各位专家,立体仓库的WINCC需要采集哪些数据,哪些控制需要在画面上体现,像生产计划,单号下发,生产数量统…

    SIMATIC WinCC 2019年6月11日
  • WINCC的运行界面在新的电脑上显示不完整

    复制过来的WINCC项目,激活后,显示运行图形,但只显示原来电脑的一部分,显示的图形不完整,怎么设置呢 最佳答案 1、WinCC项目中 计算机–〉属性–〉选择图形运行…

    SIMATIC WinCC 2019年6月11日
  • 报警及趋势问题

    现在工控机没有跟PLC连接,我在画面中用了在线趋势控件和报警控件 运行时显示 no connetion to data …

    SIMATIC WinCC 2019年6月11日
  • mshflexgrid用在WINCC中

    想在WINCC中使用mshflexgrid控件,连接数据库也成功!就是数据无法显示到该控件中,哪位给个使用该控件的例子?以下是数据连接部分,前后省掉了,只有使用控件部分的…..…

    SIMATIC WinCC 2019年6月11日
  • portal wincc v12 系统总是出问题,要求重启,论坛也有好多人讨论过,但是还是没法解决

    请老师们帮帮忙,这到底是软件缺陷,还是其它原因。 图片说明:    最佳答案 先来简单些的重装或修复软件吧!顺便检查检查系统和软件的兼容关系,还不行就得换操作系…

    2017年11月16日

发表回复

登录后才能评论