如何从资料库中读取资料并在WinCC的画面中显示

请教各位专家,我需要从SQL的PW_USER 的Table 中根据NAME栏的数值取出GRPID的数值,并根据GRPID的值给一个内部变量赋值:具体一点就是,在PW_USER Table中,有一栏的信息是Name对应的数值时“a”,GRPID对应的数值是 1000,当我在WinCC中用用户名“a”登陆时,可以取得GRPID 的值,这个值可以通过一个内部变量在WinCC中显示出来,不知道该如何下手,谢谢!

最佳答案

GRPID仅仅是用户所在组代表的ID,意义不是很大,一般去用户组比较有意义。
 这是我以前用的VBS脚本,稍微改了一下。
 Dim oConn,oRs,strConn
 '********************创建COM对象************************
 Set oConn=CreateObject("ADODB.Connection")
 Set oRs=CreateObject("ADODB.RecordSet")
 '*********************读取DSN并连接数据库************************
 Dim DSN
 DSN = HMIRuntime.Tags("@DatasourceNameRT").Read
 If Len(DSN)<0 Then Exit Sub
 DSN = Mid(DSN,1,Len(DSN)-1)
 'HMIRuntime.Trace "DSN : " & DSN & vbCrLf
 strConn="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=.\WINCC;Initial Catalog='" & DSN & "';"
 HMIRuntime.Trace strConn & vbCrLf
 oConn.Open strConn
 '*********************获取用户所在用户组名************************
 Dim strSQL
 strSQL="SELECT NAME FROM PW_USER WHERE ID IN (SELECT GRPID FROM PW_USER WHERE NAME = '" & HMIRuntime.Tags("@CurrentUser").Read  &"')"
 HMIRuntime.Trace "strSQL : " & strSQL & vbCrLf
 oRs.Open strSQL,oConn,1,1
 If Not oRs.eof Then
  MsgBox oRs("NAME")
   'HMIRuntime.Tags("GRPNAME").Write  oRs("NAME").Value
 End If
 '*********************卸载COM对象************************
 oRs.Close
 Set oRs = Nothing
 oConn.Close
 Set oRs = Nothing

提问者对于答案的评价:
非常感谢!你太强了!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc274472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午10:47
下一篇 2019年6月11日 上午10:47

相关推荐

  • wincc趋势报警如下是什么意思?

    有一个触摸式计算机,安装的是WINCC,原来都是正常的,运行了一段时间后,趋势曲线出现wincc csvloaddbycol() wromg file…

    SIMATIC WinCC 2017年11月1日
  • wincc脚本实现报警过滤

    写脚本过滤报警,试着用过MsgFilterSQL,但是报警编号不连续,所以MSGNR语句不好使,请问有没有其他什么方法对报警进行过滤,比如通过搜索含相同文本的消息,设置不同优先级等…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.0 sp3 打开SP2版本后的 无法链接到报警服务器

    之前用的XP SP3下的WINCC 7.0SP2版本,组态项目一切正常;现在更换了电脑,安装WIN7 系统,WINCC 7.0 S…

    SIMATIC WinCC 2017年6月1日
  • 博途V12组态HMI画面

    在组态画面时,想做一个图形的渐变色处理,请问该怎么操作? 最佳答案 WINCC7。0 以后西门子支持渐变色,也就是你的颜色可以用变量来调节色值,博途V12能不能用我不知道…

    SIMATIC WinCC 2017年6月12日
  • WINCC 小数位显示

    我用线性标定,把无符号16位数缩小100倍,可是显示的数字小数点后都是0,如果我想显示小数点后的数字,怎么办? 最佳答案 请参考: 在WinCC中以保留小数点后位置的形式…

    SIMATIC WinCC 2019年6月11日
  • wincc项目运行后只显示背景色,不知道我更改了什么设置?

    wincc项目运行后只显示背景色,连添加的图片和按钮之类的对象也不能显示,不知道我更改了什么设置?但是有的画面也能显示图片,并能和PLC进行正常的通讯。希望高手能够留下联系方式,Q…

    SIMATIC WinCC 2019年6月11日
  • VBS代码*作数据库SQL2005

    哪位知道用VBS代码去*作数据库SQL2005吗?例如在wincc画面中的按钮中编VBS代码去*作SQL2005,例如实现新建、修改、复制、删除数据库的功能。先谢谢了! 最佳答案 …

    SIMATIC WinCC 2019年6月11日
  • WinCC DataMonitor

    那位大侠有WinCC6.2的DataMonitor选件,授权我有只是软件光盘丢了,希望那位好心的大侠给发个 问题补充:我的邮箱:venus815312@163.com 最佳答案 请…

    SIMATIC WinCC 2019年6月11日
  • winCC 与profibus

    1。300与200 作PROFIBUS DP通信,300作主站,WINCC与300作通信,WINCC Y与300是什么关系,是主从?2。WINCC&n…

    SIMATIC WinCC 2017年12月7日
  • 一个C脚本语句的疑问

    SetOperation (lpszPictureName,lpszObjectName, 0); SetTagBitWait (Apc_P…

    SIMATIC WinCC 2019年6月11日