早起鸟有虫吃
级别: 略有小成
精华主题: 0
发帖数量: 97 个
工控威望: 223 点
下载积分: 3360 分
在线时间: 57(小时)
注册时间: 2017-08-15
最后登录: 2024-10-23
查看早起鸟有虫吃的 主题 / 回贴
楼主  发表于: 2022-05-11 10:11
图片:

'各位好!

'咨询下使用Wincc MShflexgrid连接SQLserver数据库时,想显示数据库中所有内容,但是激活后只显示一行数据是怎么回事,实际数据库中有40条数据。

'以下部分前后有省略,代码如下:

················································
ssql1= "SELECT *  FROM  [Data].[dbo].[Recipe]"

Set oCom.ActiveConnection = Conn
oCom.CommandText = ssql1          
Set oRs1 = oCom.Execute

m = oRs1.RecordCount  


'---------------------设置控件显示--------------------'
Dim alllist
Set alllist = ScreenItems("报表")
    alllist.clear
    alllist.Cols=8            
    alllist.Rows = m+1

'---------------------将数据写入表格--------------------'        
oRs1.Movefirst
    For i = 1 To m      
              
       alllist.TextMatrix(i,0) = i    
       alllist.TextMatrix(i ,1) = oRs1.fields(0).Value
       alllist.TextMatrix(i ,2) = oRs1.Fields(1).Value
       alllist.TextMatrix(i ,3) = oRs1.Fields(2).Value
       alllist.TextMatrix(i ,4) = oRs1.Fields(3).Value
       alllist.TextMatrix(i ,5) = oRs1.Fields(4).Value
       alllist.TextMatrix(i ,6) = oRs1.Fields(5).Value    
       alllist.TextMatrix(i ,7) = oRs1.Fields(6).Value
       alllist.TextMatrix(i ,8) = oRs1.Fields(7).Value    
       oRs1.movenext
        
   Next
········································
早起鸟有虫吃
级别: 略有小成
精华主题: 0
发帖数量: 97 个
工控威望: 223 点
下载积分: 3360 分
在线时间: 57(小时)
注册时间: 2017-08-15
最后登录: 2024-10-23
查看早起鸟有虫吃的 主题 / 回贴
1楼  发表于: 2022-05-14 14:14
检查到原因了,原来是alllist.Cols=8 这里出问题了。