Wincc中如何通过字符串检索出数据库SQL2005中某行数据并显示出来

已锁定

zjuxb

  • 帖子

    2
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2017-08-21

普通 普通 如何晋级?

Wincc中如何通过字符串检索出数据库SQL2005中某行数据并显示出来

1647

4

2017-08-22 22:50:57

刚接触Wincc不久,有个问题困扰我很久,特别来需求各位大侠的帮助.希望能得到解决问题的指点.在此先谢过了!!

需要通过Wincc实现特定的功能,具体为:通过字符串(如"A-11"),检索SQL2005数据库中的特定行内容,并显示在Wincc上.

论坛上查阅了好多资料,试着自己写了下代码,通过VB语言连接操作数据库,但是就是实现不了功能,发现通过整型或实型的变量进行检索时都能成功连接并操作数据库,显示在wincc上.

具体的连接和操作数据库的代码如下:

调试代码时,发现代码执行到 Set oRS = oCom.Execute 时,无法再执行下去,无法正确形成表列供读取。

哪位大侠帮忙看看代码哪里设置错误,或者变量哪里设置有问题。非常感谢

测试使用代码如下:

Sub  OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)              

Dim sPro, sDsn, sSer,sCon, sSql

Dim sVid, sVal, lRet, sRel

Dim conn,oRs,oCom  

Dim m,n,s,nRec

Dim susr

Dim data1,data2,data4,data5,data6,data7

' 0.0 Get parameters from picture

 

data7=HMIRuntime.Tags ("F_String1").read

 

MsgBox"'"& data7 &"'"

 

 

sSql="SELECT * FROM UA#TEST WHERE F_String ="& data7 &""

 

' 1.1 Make connection string for ADODB as indicated below

sPro = "Provider=SQLOLEDB;"

sSer = "Data Source=xbo-PC\WinCC;"

susr = "Integrated Security=SSPI; Persist Security Info=false;"

sDsn = "Initial Catalog=CC_OpConPac_17_07_27_15_18_42R;"

 

sCon = sPro + sSer + susr + sDsn

    'lRet = MsgBox("Opened with " & vbCr & sCon & vbCr & sSql & vbCr, vbOKCancel)

    MsgBox"Opened with " & vbCr & sCon & vbCr & sSql & vbCr, vbOKCancel

' 2.1 Make connection

    Set conn = CreateObject("ADODB.Connection")

    conn.ConnectionString = sCon

    conn.CursorLocation = 3

    conn.Open

 

' 2.2 Use command text for query

    Set oRs = CreateObject("ADODB.Recordset")

    Set oCom = CreateObject("ADODB.Command")

        oCom.CommandType = 1

    Set oCom.ActiveConnection = conn

        oCom.CommandText = sSql

    MsgBox sSql   

    'On Error Resume Next

    Set oRs = oCom.Execute

    m = oRs.Fields.count

    MsgBox"'"& m &"'"

 

MsgBox"'"& sSql &"'"      

data6=oRs.Fields(1).Value

data4=oRs.Fields(2).Value

 

MsgBox"'"& data4 &"'"

MsgBox"'"& data6 &"'"

Set data1=HMIRuntime.Tags ("F_Float")

data1.Read

data1.Write data4

 

HMIRuntime.Tags ("F_Integer").Write data6

MsgBox("&F_Integer&")

    oRs.close

    conn.Close

    Set conn = Nothing

End Sub

 




Wincc中如何通过字符串检索出数据库SQL2005中某行数据并显示出来 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32574条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。