100.wincc V7.3 listview控件使用初步2-vbs把sql数据表的内容显示在listview上面

标签:
wincclistviewsql表数据vbs |
分类: 西门子软硬件 |
使用前面博客中建立的用户归档数据表来实验这个功能。在全局脚本中新建一个项目模块,用于读取数据表记录集,名字为GetSqlData,vbs代码如下:
Sub GetSqlData(rs,DBName,ssql)
Dim ocom,scon,conn
Dim PCName
Set PCName=HMIRuntime.Tags("@LocalMachineName")
scon="Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist
SecurityInfo=False;Initial Catalog ='" _
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString=scon
conn.Cursorlocation=3
conn.open
Set rs=CreateObject("ADODB.RecordSet")
Set ocom=CreateObject("ADODB.Command")
ocom.commandtype=1
Set ocom.ActiveConnection=conn
ocom.CommandText=ssql
Set rs=ocom.Execute
End Sub
在画面上放置一个listview控件,名字修改为LV。放置一个按钮,按钮的鼠标点击事件中添加以下vbs脚本
Sub OnClick(ByVal
Item)
Dim ctrlLV
Dim DBName,ssql,rs
Dim RsCount,i
Set ctrlLV=ScreenItems("LV")
Set DBName=HMIRuntime.Tags("@DatasourceNameRT")
Set rs=Createobject("ADODB.RecordSet")
ssql="select top 100 ID,Curdate as '日期',Curtime as '时间',FT101 as
'流量1' from UA#UA"
'获取记录集
getSqlData rs,DBName.Read ,ssql
RsCount=rs.RecordCount
ctrlLV.View =3 '设置外观为报表形式
ctrlLV.GridLines =True '显示网格线
ctrlLV.ColumnHeaders.Clear '清楚原有表头
With ctrlLv.ColumnHeaders
End With
ctrlLV.listitems.clear
rs.movefirst
For i=1 To RsCount
Next
End Sub
这个练习中,sql查询条件设置比较简单,只是为了练习listview行列的填充功能,代码很好理解,也没有写过多的注释。