WINCCV7.5SP2使用microsoftHierarchicalflexgrid快速显示大量数据,保留2位小数
标签:
西门子wincc连接数据库快速显示大量数据数据显示格式化 |
分类: 西门子软硬件 |
今天做一个WINCC练习,连接WINCC 自带的SQL
Server数据库上自己建立的数据表,显示大量数据,同时对数据保留两位小数。
WINCC
7.5SP2自带的数据库不包含SSMS,我从微软官网下载了一个19.0版本的SSMS,安装完之后激活了sa账户,新建了myDB数据库,新建了table1数据表,数据表字段为
myID是自增量数据,作为ID。
写一段SQL脚本,向数据表table1添加10000000条记录
declare @i int
set @i=1
while @i<=2500000
begin
insert into
table1(mydate,flow1,flow2,flow3,comment)
values('2023-5-1',314.15926,315.26937,320.98765,'这是最先的250万条记录')
set @i=@i+1
end
GO
declare @i int
set @i=1
while @i<=2500000
begin
insert into
table1(mydate,flow1,flow2,flow3,comment)
values('2023-5-10',414.15926,415.26937,420.98765,'这是中间的250万条记录')
set @i=@i+1
end
GO
declare @i int
set @i=1
while @i<=5000000
begin
insert into
table1(mydate,flow1,flow2,flow3,comment)
values('2023-5-20',514.15926,515.26937,520.98765,'这是最后的500万条记录')
set @i=@i+1
end
GO
运行这段脚本,因为数据量实在是太大在秀吉里面花了几十分钟。
这段脚本可以保存起来,今后做练习的时候可以拿来做测试。
在数据库中设置sa用户成为myDB的dbo,可以操作该数据库,同时设置数据库为windows账户和sql
server账户均可登录,sa用户可以登录数据库。
新建一个WINCC项目,新建画面放置microsoft
Hierarchical flexgrid控件,改名字叫做MHGrid。放置一个按钮,用于将大量数据显示在microsoft
Hierarchical flexgrid控件上。按钮的鼠标点击脚本为
Sub OnClick(ByVal
Item)
Dim STRCON
Dim objcon
Dim objcom
Dim objrs
Dim HFGrid
Set objcon
=createobject("ADODB.connection")
Set
objrs=createobject("ADODB.recordset")
Set objcom=
Createobject("ADODB.command")
Set
HFGrid=screenitems("HFGrid")
objcom.commandtype=1
strcon="Provider=SQLOLEDB;password=sa1234;user id=sa;Initial
Catalog=myDB;Data Source=.\WINCC"
objcon.connectionstring=strcon
objcon.Cursorlocation=3'
objcon.open
Set
objcom.ActiveConnection=objcon
objcom.commandtext="select top
1000000
mydate,format(flow1,'##0.00'),format(flow2,'##0.00'),format(flow3,'##0.00'),comment
from table1"
Set objrs=objcom.execute
HFGrid.clear
HFGrid.rows=objrs.recordcount+1
HFGrid.cols=objrs.fields.count+1
HFGrid.colWidth(1)=1400
HFGrid.colWidth(2)=500
HFGrid.colWidth(3)=500
HFGrid.colWidth(4)=500
HFGrid.colWidth(5)=2100
Set HFGrid.datasource=objrs
Set objrs=nothing
objcon.close
Set objcon=nothing
End Sub
保存运行,点击按钮,大约49秒,100万条结果显示在microsoft
Hierarchical flexgrid控件上,浮点数保留2位小数。以前做的练习通过逐个microsoft Hierarchical
flexgrid控件单元格格式化来保留两位小数,对于数据量大的情况下,效率非常低。现在通过SQL脚本查询语句上format控制格式,相对快多了。
这个练习的项目程序我上传到了百度网盘,地址是
链接:
https://pan.baidu.com/s/1ZDFHRGpdD4DqmS00r1vTFA 提取码:
7g1x

加载中…