WINCC读写SQL数据库的示例
wincc读写sql的示例。
一、在数据库中建立数据库文件,文件名为“读写数据库”,在数据库中建立新的表,命名为“个人信息”分别建立编号、姓名、年龄。
二、数据库中建立表后,在wincc中建立与数据库中类型相同的变量,变量类型相同在读写数据时很重要。在图形编辑器中新建画面,并在画面中增加三个输入输出域,并连接变量。
三、添加两个按钮控件,分别命名为写数据、读数据。
1.在写数据中写入如下脚本
dim ssql
dim scom
dim ors
dim conn
dim ocom
dim con
dim data1,data2,data3
'读取wincc变量
data1=hmiruntime.tags ("number").read
data2=hmiruntime.tags ("name").read
data3=hmiruntime.tags ("age").read
'连接数据库,此处为数据库连接的标准语法结构。
con="provider=sqloledb.1; integrated security =sspi;persist security info=false; initial catalog=testdata;data source=.\wincc"
set conn=createobject("adodb.connection")
conn.connectionstring= con
conn.cursorlocation=3
conn.open
msgbox "。。。。。"
'写入数据库,将number/name/age变量的值写到建好的数据库的列中,注意,数据的格式一定要统一。
'在hmi中组态完成后,运行写入几组数据。打开建好的数据库-->数据表-->右击-->选择前1000行即可看到所输入的数据,此时已经储存。
ssql="insert into 个人信息 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
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2.读取按钮的脚本
dim ssql
dim scom
dim ors
dim conn
dim ocom
dim con
dim data1,data2,data3
dim data4,data5,data6,data7
'下面的data7变量为在hmi所输入的编号查询变量,结合下面的select语法,将输入与表中编号比较,等于则取出该行值。
data7=hmiruntime.tags ("r_data").read
'连接数据库
con="provider=sqloledb.1; integrated security =sspi;persist security info=false; initial catalog=testdata;data source=.\wincc"
set conn=createobject("adodb.connection")
conn.connectionstring= con
conn.cursorlocation=3
conn.open
msgbox "。。。。。"
'读取数据库
'下面语句为查询数据库select语句
ssql="select * from 个人信息 where 编号 = '"&data7&"';"
'标准的数据库操作属性和方法
set ors=createobject("adodb.recordset")
set ocom=createobject("adodb.command")
set ocom.activeconnection=conn
ocom.commandtype=1
ocom.commandtext=ssql
set ors=ocom.execute
'此处为赋表中的列0-2值到变量data4-6
data4=ors.fields(0).value
data5=ors.fields(1).value
data6=ors.fields(2).value
set data1=hmiruntime.tags ("rnumber")
set data2=hmiruntime.tags ("rname")
set data3=hmiruntime.tags ("rage")
'下面为将data4-6值写入data1-3中。
data1.read
data1.write data4
data2.read
data2.write data5
data3.read
data3.write data6
'数据库操作完的结束语句,为标准格式语句。
set ors=nothing
conn.close
set conn=nothing
------------------------------------------------------------------------------------------------------------------------------------------------------------
总结:
存在如下不足:
1.数据库的知识不足,具体的操作语句用法不熟悉。
2.vb的语句能看懂并理解,但是细节的更深层次的理解没有。
顺利的完成了该程序的测试,在以后的工作中,如果进行一些数据库数据的分析,掌握了数据库的查询语法知识,可以在wincc内
实现一些数据的展示。而且数据库的连接也操作语法也可以进行套用到别的工程项目中。原理大致类似。
附测试结果: