在画面中添加一个.net控件,名称改为datagridview,添加一个按钮,实现单击按钮,可以从数据库的kaipiao表中将所有数据集填充在datagridview里面,在按钮的鼠标单击事件中编写VBS脚本如下:
Sub OnClick(ByVal Item)
Dim cn'数据源连接信息
Dim rs'执行SQL命令对象
Dim ors'记录集
Dim DSN'数据库名称
Dim strSQL'SQL执行语句
Dim datagridview1
Set datagridview1=ScreenItems("datagridview")
'设置SQL查询字符串
strSQL="select * from kaipiao"
'读取本地数据库名称
DSN = HMIRuntime.Tags("@DatasourceNameRT").Read
'建立SQL数据库连接
Set cn=CreateObject("ADODB.Connection")
cn.connectionstring="Provider=SQLOLEDB.1;Integrated Security=SSPI;AutoTranslate=False;Persist Security Info=False;Initial Catalog='"&DSN&"';Data Source=.\WINCC"
'打开SQL数据库连接
cn.open
Set ors=CreateObject("ADODB.Recordset")
Set rs=CreateObject("ADODB.Command")
With rs
.ActiveConnection = cn
.CommandText = strSQL
End With
'执行sql查询,返回记录集
Set ors = rs.Execute
'判断指针是否指在数据集空值上面,如果ors.eof是代表记录集为空,否则代表有记录
If(ors.eof) Then
'不存在对应的记录集
Msgbox("无记录")
Else
datagridview1.DataSource= ors.recordset
datagridview1.Refresh
Msgbox("有记录")
End If
ors.Close
'关闭sql连接并清空连接值
Set ors=Nothing
Set cn=Nothing
cn.close
Set rs=Nothing
End Sub
现在的问题是kaipiao表中有数据,脚本datagridview1.DataSource= ors.recordset测试不通过,不能实现将kaipiao表中的数据填充到画面的datagridview控件中。
如果脚本改成datagridview1.DataSource= ors,测试通过,能弹出“有记录”,但画面仍然不能实现数据填充。